Flash technology is currently the best way of delivering interactive and graphics rich content in web browsers. The almost universal availability of the Flash plugin in web browsers, coupled by the good development tools and support around it currently make Flash the number one choice for developers who want to provide quick interactivity and offload processing to the client side. The rising popularity of features such as Flash Video (FLV) made sites such as YouTube possible and easy to use.
With the advent of AJAX / JavaScript and dynamic HTML integration, around 2003-2004, notions of pure HTML / JavaScript / CSS based interactive experiences started taking shape. HTML5 addresses these notions and takes them further by providing support for richer user experiences and support for multimedia right in the browser, such as H.264 video codec support in HTML5.
The current issue does seem to be based on two underlying themes: strategic and technical. We will mainly focus on the technical issues here, but there are strong strategic reasons for favouring HTML5 support over Flash and vice-versa. An HTML5 based future will favour Google and its dominance in web search and advertising, while enabling Apple to continue its role as primary arbitrer, platform operator and app gatekeeper on its various hardware platforms. Microsoft can try to acquire market share from Adobe by providing better tools for HTML5 development and promote its own Silverlight solution. Adobe obviously will try to promote Flash, and so on...
HTML5 can be used to provide a similar experience to using Flash, given the right support from additional JavaScript libraries and proper use of AJAX techniques. Admittedly, it is still much harder to achieve a Flash like experience using HTML5 - developers need to be much more experienced and need to overcome many more obstacles than simply using the Flash development tools. Certain initiatives like SVG and 3D open source visualisation formats and data on the web have not been as widely supported as expected, although this may change in the future.
We have recently saw the Wii Mario Kart Round site which provides a good example of a graphical interactive experience that can be achieved in the browser itself without using any form of Flash.
The drawback of web browser compatibility and support is evident when using a non-compliant browser. This is how the Wii Mario Kart site looks like on a non-compliant browser:
This is something that will not happen when using Flash as long as there is a recent Flash plugin installed in the web browser. Developers so far are thus guaranteed consistency with Flash but will be taking a chance on committing completely to HTML5.
Some other good examples of HTML5 usage are those of Ben Joffe's torus game (screenshot below), and Google's Quake II port to HTML5 (see the YouTube video below).
Many comments about Flash and H.264 seem to be overlooking the fact that H.264 is not such an open content format as people are assuming it to be. The consortium behind H.264, MPEG LA, may impose licensing restrictions and royalties in the future and own patents that expire in 2028. While we hope that MPEG LA will try to avoid another fiasco like the old GIF patent royalty issues, it does mean that the choice of H.264 as a standard open web video format is questionable. It is likely that an open source format with an open source, unfettered license will eventually emerge as a real open alternative that everyone can use without licensing problems. Until then, it is likely that the Flash Video format will remain widely supported and remain the preferred format of choice for delivering multimedia content over the web.
In the future we expect more sites and web based applications to increasingly support HTML5, while possibly seeing Flash being used less over time. Charonite is working towards having full HTML5 support in our Obulus Platform to ensure that our customers benefit from the latest technology implemented in web browsers. Legacy support for Flash will always remain for the time being, especially in components that depend on Flash displays such as the interactive chart / graphing tool in web based reports.
Will HTML5 ever replace Flash entirely? Possibly - but over a longer period of time than Apple would like us to think. One of the main problems that will face HTML5 is to ensure that all independent browser manufacturers implement support in a consistent manner - something that Adobe can ensure in Flash since it controls all distribution and release of Flash technology, while web browser compatibility always has been a headache for developers aiming to release web applications that work consistently across different browsers and browser versions. Better JavaScript support in web browsers is also needed: tests at Charonite using Google Maps and a fairly complicated JavaScript AJAX code shows a staggering 1500% speed difference between loading time in Chrome and Internet Explorer / Firefox, for example. Such speed differences and compatibility issues have to go away before the HTML5 / AJAX combination becomes a truly viable alternative for rich media web applications to tightly controlled technology such as Flash.
Deployment issues will also be made easier with a consistent HTML5 / JavaScript deployment model - currently Flash offers a lot of advantages to developers due to its consistent Flash runtime environment. Offline applications are also much easier to develop using Flash than pure JavaScript, which currently requires writing entire applications using JavaScript and using something like Google Gears for deployment. Geolocation and additional services will eventually become standard in both, so this is not likely to make much difference towards HTML5 adoption.
Our opinion is that HTML5 will be increasingly used to provide a significant amount of functionality that is currently being offered by Flash, while on the other hand, Flash will still be utilised to provide rich interactive applications that need to be deployed in a consistent manner across various browsers and hardware platforms.
p.s. To check the HTML5 compatibility ratings of your browser use the HTML5 Test being developed at Github. Internet Explorer 7 got a score of 11/160, Google Chrome 4.1 scored 118/160 and Firefox 3 scored 31/160. We have not tested the Safari and Opera score, although these are likely to be somewhere between Firefox and Chrome.
Recommended related book:


