These days, there’s no short-supply of opinions extolling the demise of Adobe’s Flash. Last month, Adobe announced that they would stop putting efforts into continuing the Flash player for mobile devices. This isn’t terribly surprising for those following Adobe’s efforts. They haven’t proved that the mobile Flash player is stable or ready for wide-spread adoption. For performance-critical or multimedia-rich applications on mobile hardware, there’s an enormous performance cost of running applications through a browser plugin or virtual machine. The hardware offered today on mobile devices is still far from the capabilities of even a low-end desktop computer.
Flash’s long-term future as a distribution platform through a browser plugin (what’s referred to here as the “Player”) is dying a slow death, at best. The success of Apple’s App Store has underscored a shift towards device-native mobile apps downloaded through a marketplace as opposed to content delivered through web browser open-standards. However, in all this chatter about Flash, there are some overlooked aspects that, we believe, are important in understanding the future of this technology and why it isn’t going to disappear.
Flash Platform vs. HTML5
While Apple, Google and Adobe have agreed to support the HTML5 specification, the W3C which maintains and publishes the specifications for web standards has only released the Work Draft of HTML5, which was started back in 2004 (by comparison the first iPhone was released in 2007). Standards take a long time to create and an even longer time to adopt. As a developer who implements these standards, it often requires lots of programming hacks, workarounds and platform-agnostic libraries (e.g., jQuery) to compensate for the browser and platform fragmentation.
Flash’s Identity Crisis: Solved!
In the wake of Adobe ditching the mobile Flash effort, the coverage tended to overlook that Adobe was going to concentrate their efforts on native app publishing (Android and iOS) using Flash. We believe this marks an important shift from Flash as a publishing platform (via the Flash Player) to Flash as a publishing tool (via the authoring environment). The strength of Flash is largely attributed to Flash as an authoring tool. It’s one of the reasons why Microsoft’s Silverlight hasn’t enjoyed such wide-spread adoption. Even with significant blows to the Flash player, the authoring tool is still great for animation, storyboarding, and rapid prototyping. It’s still the best authoring environment available for creative people to create multimedia-rich experiences with very little programming knowledge.
Adobe has been working over the last several years on a compiler which builds Flash content to native iOS apps (formerly called iPhonePackager). In recent years, this functionality has been replaced with ADT (AIR Developer Tool) and iOS publishing in Flash CS5+, which allows the same functionality using a model built for publishing AIR Desktop applications. The tools are still in development but have already shown a lot of promise. Building content for multiple platforms in one authoring environment is the holy grail of device-native development, and Flash now has the best opportunity to make a go at it.