Causing something of a stir when it appeared on Slashdot yesterday evening, the news that a talented JavaScript developer at http://paulirish.com/ had built an rendering engine that can play simple Flash movies is bound to get some people thinking.
Anyone with an iPhone will know that the built in browser, Safari, has no flash support. This is by design and is as such for a number of reasons. Some beneficial to the user others beneficial to Apple.
Steve Job’s has always said that the lack of Flash support on the iPhone was purely because the device wasn’t fast enough to render the high number of Flash adverts seen on the web. This was definitely true on the first-gen iPhone and to some extent probably even still true today. However many people, myself included, believe a stronger motivation is to prevent people developing high quality games and applications for the iPhone using Flash, and therefore bypassing the App Store altogether.
The immensely popular ‘Bloons’ by Ninja Kiwi which was ported to iPhone by Digital Goldfish is a perfect example of this. The original flash version of the game could have been easily adapted to utilize the touch screen control system, had Flash been available on the device.
In all honesty this probably isn’t a bad thing. Forcing apps to run natively on the iPhone probably has benefits for all involved – including the end user.
This new JavaScript engine however, DOES run on Safari, including Safari on the iPhone. Steve Job’s will have a hard time blocking this.

The engine works by using the SVG system, an internal JavaScript feature which is basically used for rendering vectors natively in JavaScript. I wouldn’t even like to think how quickly this will become a jQuery plugin for even more widespread use. The implementation is basic at this point, supporting only Flash version 1.0 but I’ve prepared a small demo you can view on your iPhone here:
www.waracle.net/iphoneFlashDemo.html
You can view the developer's examples here:
http://paulirish.com/work/gordon/demos/
And although there are no usage instructions, you can get the full source code here:
http://github.com/tobeytailor/gordon
Flash