somewhere to talk about random ideas and projects like everyone else



Surplus 4 29 October 2011

Recently Surplus stopped working. Well, it hasn’t been working for a lot of people for a long time already, but that’s besides the point. It stopped working entirely. Surplus has always been a rather fragile creature. It operates like a kid on a high speed scooter attempting to carry a house of cards between two strangers. That house of cards is part of a delicate system of frames inside frames inside frames inside frames that move between frames. Surplus is this fairly atrocious mess of frames.

Framing things works out fine until you discover that whatever you’re framing is trying to break out. Meet the X-Frame-Options header, the source Surplus’s recent predicament. It has well meaning motives: to prevent Google from suffering from evil attacks like Clickjacking, XSRF and other nasty things. Incidentally, security-wise, Surplus would probably belong closer to something of that nature than a legitimate application. It doesn’t use an API because applications generally wouldn’t find it useful.

Recently, all Google properties started including that X-Frame-Options header, and now can’t be embedded in frames. It wasn’t an absolutely unprecedented move, because just a few weeks earlier Google Video had started sending out the header (which led to an update which moved from a Google Video host frame). But now it was across all Google Sites, and there was no short term hack that could be done.

The solution was to take a random Google page which didn’t send out the header and mimic all the postMessage messages that are sent from the Google Plus notifications frame. Consequently, the entire frame signaling and attachment system had to be rewritten, and that system was so deeply tied into everything else that Surplus 4 ended up being almost an entire rewrite (the inner frame actions, the options page and the notifications parser did not change).

new features 03 August 2008

Okay, so I’m polishing the app alot today. Right now, I’m setting the app up for a release some time this week.

I added framerate support to the Ajax Animator’s Format. I also added some messages for Help->Bugs, Help->Comments, and I renamed Help->Donate to Help->Contribute.

Help->Manual shows a page that says “Manual Currently Unavailable” and Help->FAQ actually shows a working page (OMG!)

Help->About now reports that the Ajax Animator is at “Beta RC1” Stability, and its no longer a “testing” release.

Please test things out and report bugs if you can :)

Ajax Animator 0.20 Beta RC1 Released 03 August 2008

I’m pleased to release the latest version of the Ajax Animator, 0.2. This version has been a complete rewrite of the application down to it’s core, not a single like of code copied from the old (0.14.7) release. It also happens to be the most advanced and complete release to date, with full multi-layer support, a greatly expanded toolbox, complete undo history, a shared clip-art library, a completely redesigned UI, and much more.

Lets start from when you open the app. The application speed has greatly improved, the 0.14.7 release takes ~9.5 seconds to load, 0.2 takes a mere 4.5 seconds, more than half the time. On the top toolbar, the buttons are relocated and restylized. Over at the file button, you see everything has new gorgeous icons intuitively organizing the New, Open, and Save options, where you can use the powerful new JSON based file format. Below that, you see a new Publish menu, where you can export to several formats like Adobe Flash, Processing (language), Microsoft Silverlight (XAML), and Animated GIFs.

Skipping over to the View meu, you see that there are 17 different UI themes to choose from. An unprescedented degree of customizability. And over at the Help menu, there is more useful content. A working FAQ, helpful Tip Of the Day, About page, and a list of keyboard shortcuts.

Of course the most important and powerful change in this version is the inclusion of the OnlyPaths editor. A new, powerful Vector graphics editor. The new editor allows you to draw not only the standard rectangles, ellipses, and lines, but also Text, Polygons, Freeform Paths, Images and more. You can now Rotate, Resize, and move shapes around.

The Timeline has also been reworked. The new archetecture allows the deletion of layers, expansion of tweens, and more. The Tweening engine is vastly superior, with much fewer bugs than the old one, though the new one certainly does much more and gets much more room to screw up.

A new Animations tab allows you to view and improve on public animations them. A new Properties panel allows you to adjust the canvas size and animation framerate along with the text content and image URL.

Its available here, at

Almost There! 01 August 2008

We’re almost at the release of 0.2, though it has been scaled down a bit. Real usability probably won’t come until 0.21. Right now, 0.2 basically only lacks one feature, being the whole user-management system.

The only features that are really left, are some final touches and the Properties panel.

New Alpha 25 May 2007

Try out the unstable version at

By unstable, I mean it has lots of features that will not work- Not, however, that it will have a higher of a chance of crashing your web browser than anything else on the internet.