Saturday, October 13, 2012

Menu fixed in Ubuntu!

For a while I was doing all of the development of Lightningbeam on Mac OS X, because Ubuntu Unity has a bug which causes the menus to disappear. However, I finally found a workaround, so it should now be just as usable as on other platforms. I will follow up with more testing to confirm this.

Tuesday, July 24, 2012

Oddities in Chrome

I was testing HTML5 export, and tried exporting the default file (currently a simple ellipse). Nothing was showing up in Chrome, so I did a bit of hunting around. I tried drawing lines, which all showed up. I finally figured out that bezierCurveTo was not working, because lineTo commands in the same place worked fine. Then, it occurred to me to try another browser, and I discovered it ran just fine in Firefox and Opera. But why wasn't bezierCurveTo working in Chrome? I did a bit of Googling and found out that this is actually a bug in Chrome, which crops up when curves begin and end on the same point. I added the fix mentioned in the Stack Overflow post, and here's where things get a bit weirder: the ellipse now shows up, but only the fill. Nothing will persuade Chrome to actually stroke the curves around the edges. The Chrome team seems to be ignoring the bug report, and I don't want to slow HTML5 drawing down any further by constructing the Beziers out of lines, so I'm just going to leave this one in for now. Outlines will show up as long as shapes have straight edges, but for ellipses you'll need another browser - or Flash, which of course Chrome comes bundled with by default, and which has no problems with curves.

Thursday, February 9, 2012

SharedObjects added!

One of the useful features of Flash is its ability to save data to the user's hard drive with the SharedObject class. I have now mostly implemented this class in JavaScript (in terms of localStorage), so things can be done like saving high scores. Still to be implemented is SharedObjects that communicate with a server, as that will be a bit more complicated.

Saturday, January 21, 2012

New release: Alpha 2!

I have implemented enough features in Lightningbeam that I feel it is ready for the second release. I have packages for Linux, Mac and Windows users, and on most systems they should work as-is.

Known package bugs:

  • There is no package for OSX Tiger. This is because there is a problem installing PyObjC which I haven't found a workaround for.
  • If using a newer version of Ubuntu:
    1. It may complain that it is a badly formed package. This is because I put pre-compiled binaries in a multi-architecture package. It will still work (unless you have an Itanium system or something), and I will look into fixing that.
    2. Unity causes a bug in GTK which makes it render some content (notably, the Timeline) outside the window. A workaround for now is to use Gnome instead.
This is still an alpha release, so features may be broken/unusable. However, it should be relatively stable with respect to crashing.

Thursday, January 19, 2012

Import FLA?

I have wanted Lightningbeam to be able to import .fla files for a while, as it would make it relatively easy to access old projects. The problem? While the .swf file format is a well known format, the .fla format is virtually undocumented. It is also a binary blob file, which is completely incomprehensible except for some strings of ActionScript. Following is the progress I have made on this.

Monday, January 16, 2012

Packaging for Mac OS X

I have built a package for Mac OS X. This should make things a bit easier to test. This one requires at least Snow Leopard, as Apple made some changes to their Cocoa library that prevents it from linking correctly under Leopard. I am working on creating a Leopard-compatible build for those with PowerPC Macs.
Windows packaging is a bit more of a pain; I have made a executable but I am witholding it for now while I fix some rather fatal bugs on that platform.
I will create a .deb package for Linux tonight; I might make an .rpm, but I haven't made rpms before so I don't know how hard that will be.

You can download the app at:

Thursday, January 12, 2012

Tuesday, January 10, 2012

Introducing Lightningbeam!

If you haven't already heard of S.W.I.F.T., here is the basic idea:
To create interactive web content, there are a few options: Flash, Java, Silverlight or HTML5. Java has problems with the web: any java applet comes up in a window marked as 'unsafe', and it doesn't work very well for anything graphics-intensive. Silverlight is Windows-only. That leaves Flash and HTML5. There are two ways to create Flash content: in a GUI (Adobe Flash) and by hand, as text (Adobe Flex, swfc, ming etc.). In HTML5, you only have the latter option. Adobe Flash is a very good tool for this, with two problems: one, that it won't run on Linux; and two, that it costs $700.
Lightningbeam aims to address this, by providing a free and open-source editor for dynamic web content. As some platforms support Flash but not HTML5 (e.g. Internet Explorer), and others support HTML5 but not Flash (e.g. the iPhone), Lightningbeam allows you to seamlessly create both from a single project.

If you have heard of S.W.I.F.T., here is what is new:
Lightningbeam is a complete rewrite, based on lessons learned from SWIFT. It runs on other platforms than Linux, without installation. The HTML5 "engine" has undergone vast improvements in performance (running nearly 100 times as fast in FireFox). The underlying system is now much cleaner, making it easier for Python plugins to run.
Lightningbeam is still under heavy development: it is incomplete, but many new features are being added every day. To see the latest features added, visit