Friday, January 07, 2011

Will HTML5 replace Flash Programming?

We often think “Will HTML5 replace Flash Programming?” on the Web. The quick answer is no. However, there is a lot of nuance here and it’s helpful to make the distinction between two broad classes of content applications that are deployed in browsers.

First, there are what I would call Web Productivity Apps. These kinds of applications require responsive, cross-platform, desktop like and highly interactive experiences. They often require seamless integration with existing web content and data. For several years, the Flash Application development Platform was the best platform for creating these types of applications (per above). However, in the past several years, HTML+JavaScript (Ajax) and now HTML5 have created a highly compelling framework to build these applications, and for a large number of web productivity apps, the HTML5 approach will become the preferred model. The best examples are Google Apps, Salesforce.com, and even Microsoft’s forthcoming Office Online. There are also a class of Web Productivity Apps where Flash Programming is the preferred runtime, especially those that involve working with and manipulating media such as images, audio and video. We, like many companies, are pragmatic and use both Flash and HTML as the technology needs require. Other examples of this include rich data visualization applications, where Flash has gained prominence inside of enterprises because of its rich data and visualization features.

The second broad class of applications are what I would call Rich Media Apps. These kinds of applications include largely consumer-facing, audience and media centric experiences. In particular, this includes online video, rich media advertising and marketing, and online games (casual games). All of these kinds of applications are highly focused on having a great and immersive experience that just works, and the creators of these apps are very focused on audience reach — anything that impedes 100% consumer acceptance is a significant concern. Here, Flash is dominant. The unique runtime characteristics of Flash, combined with its incredible reach, has led these types of apps to become highly dependent on Flash, and massive amounts of the broadband economy are dependent on it. It seems unlikely that HTML5 would be at all positioned to replace Flash for these categories, though it is clearly worth watching how consistent rich media runtimes find their way into the HTML5+ standard. Right now, it is a non starter.

The Handheld Disruption:-
In the case of hand-held platforms, however, it seems quite apparent that it is not a zero-sum game. Three runtime platforms will gain adoption and often even inter-mingle — HTML 5 content and apps, Native Apps (that may contain Flash and HTML content), and HTML5 apps that contain and leverage Flash Player. There is a rich pallet of capabilities emerging, and each developer will need to consider what will be appropriate for their specific audience or application.