The Adobe/Apple wars have made it impossible for iPhone OS users to run Flash content on their devices. Regardless of what one may think about the platform - it's buggy, runs slow, uses up battery life quickly, etc. etc. - the fact remains that there is a lot of content out there that simply cannot be accessed by iPhones and iPads. That is about to change. Chris Smoak is previewing Smokescreen, a plugin-free way of viewing Flash content as an SVG animation via javaScript. Though it's still slow, Smokescreen will be released as open-source, which should aid in development.

Flash came to prominence as a way to get animated content onto the Web…. those of us old enough to remember when animated GIFs were the state of the art may also recall that it was a great innovation. Amusingly, Flash was originally written to run on the PenPoint OS-powered tablets of the early 1990s. But time has rolled on, and as embedded video and JavaScript have become more universally supported, and mobile devices are increasingly the primary way many people access online content, the weaknesses of Flash have become more pronounced. Add to that Steve Jobs's personal antipathy for Flash and Apple's decision to completely prohibit Flash support either natively or through Mobile Safari plugins, and as a result a significant amount of Web content is inaccessible on any iPhone OS device.

So, Smokescreen. Simon Willison (cocreator of the Django framework) explains that the JavaScript library "reads in SWF binaries, unzips them (in native JS), extracts images and embedded audio and turns them in to base64 encoded data:uris, then stitches the vector graphics back together as animated SVG." Chris Smoak is an ad designer, and so his intention was to create a way for Flash ads to be viewed natively on browsers. It does that, but little else right now: try any more complex Web content with Smokescreen and you'll see. Willison and others have pointed out the potential for much more to be done - Smoak has also implemented an ActionScript interpreter. Smoak says that Smokescreen works for Firefox 3.6, Chrome 5, Safari 4, and MobileSafari and that "there are known, fixable issues with Opera 10.5." There's no support for Internet Explorer at this time, though he says that "IE9 looks promising."

The weaknesses are apparent - Willison notes the size at 8,000 lines of code and wonders about performance - but as an open-source project it is bound to improve. With a demand apparent, based on the amount of Flash content out there, developers will likely find and fix many problems.