To be honest, Adobe's announcement that its future mobile strategy was going to be focused on HTML5 and on AIR wasn't a surprise. Much of the new strategy had been telegraphed a month or so ago at its MAX conference, where mobile AIR applications got top billing alongside the company's purchase of PhoneGap developers Nitobi.
Mobile Flash isn't dead, it's very much alive - it's just moved house. All you need to do is redirect its mail from a cramped flat in the back of a browser to a large mansion powered by AIR.
This isn't the death of Flash, just a new way of delivering it. After all Flash developers have already had a lot of success with AIR applications on iPad and iPhone, and there's a number of AIR apps at the top of the Android market. Even Adobe's own next generation tablet applications (like Photoshop Touch) have been written in AIR, with new features meaning there's no need to have a separate runtime from application code. While AIR may not be as obvious to Flash, it's the same ActionScript code running – it just looks like a native app rather a browser plug-in.
Developers working with AIR get access to the familiar ActionScript development and design environments, plus a whole raft of additional APIs that come from no longer being limited by the browser's sandbox and limitations. Take touch for example: Android is capable of multi-touch, but Google's given the browser only one touch point. Running outside in AIR the same code gets access to all the hardware capabilities, with full ten point touch on a Honeycomb tablet like the Galaxy Tab 10.1. Deeper hardware integration in the AIR run time also means it's easier for Adobe to manage battery life and memory usage, with support for true multi-tasking. Low level hardware integration also means that there's better GPU support in AIR than in in-browser Flash.
This isn't a matter of HTML 5 beating Flash, more a matter of two technologies that complement each other and work well together (after all, you can include HTML5 content in an AIR application with Adobe's built-in WebKit rendering engine). Flash is about doing what HTML can't do yet, pushing the envelope like a test pilot – something that's far better done outside the browser, removing its overhead and using native access to hardware to improve performance.
It's an approach that makes AIR the go to market for applications that just can't work with HTML, as they require access to complex cryptography for DRM – making it attractive to services like Netflix and the BBC iPlayer. Then there's gaming, as Flash's 3D libraries are much more advanced than WebGL's, so it'll be logical to build cross-platform 3D games in AIR (especially with support from frameworks like Marmalade and Unity).
What Adobe's done is certainly a change of strategy, one that's been driven by an unwillingness to dumb down the capabilities of the platform for mobile browsers. Instead of a non-existent war with HTML5 Adobe's taken a riskier approach, positioning AIR as direct competition for native frameworks. All developers will need to do is write their code in ActionScript with the Flash design and development tools before packaging it as AIR. Then they can deploy to Android, to BlackBerry (and BBX), to iOS, to Windows, to Mac OS, and even to Windows Phone. It's AIR's cross-platform nature that becomes its strength, with multiple device specific runtimes.
So is Flash dead? It's pretty clear that the answer's no – and this is just the programming equivalent of renaming Marathon as Snickers, or changing the wrappers on KitKats. Actually, that last metaphor is perhaps closer to reality as Adobe's announcement means that all that's happened is that the wrapper for the Flash runtime has changed, from the restrictive browser to the freedom of AIR.
Simon Bisson @sbisson
(for an alternative view, check out Adrian Kingsley-Hughes post at ZDNet UK's sister site in the US)