Posted on August 27, 2010
(not) Royalty Free H.264 (Might) Boost HTML5 Video & The Canvas, But Flash Still Has A Chance (Analysis) : Updated
Yesterday it was announced that MPEG LA, the patent holder for H.264 (MPEG-4) will “never” charge a licensing fee for video encoded as H.264 and delivered for “free” over the internet.
What does this mean? Well it means that Firefox and Opera, two browsers that have so far held-back implementing support for H.264 because of the potential cost of the license, will probably go ahead and implement the format for HTML5. (Or maybe not. See that note below) It also means that the Theora (OGG) and WebM formats might fall out of favor. It also means that developers, who have so far needed to encode their HTML5 video three different ways (.mv4, .ogg, webm) might get to settle on one format.
That one format, that has the potential to work across all platforms, both desktop and mobile, will probably send Flash video back to the niche it started from. This does not mean that Flash video will not be used, but it does means the adoption curve of HTML5 video over Flash will start to accelerate. There are still many technical reasons to choose Flash for video on the web over HTML5 (i.e. HTTP streaming, better control, progressive download, etc.) but it will become quickly apparent that the majority of developers will choose “ease of use” over features, and most end-users will not know the difference.
At the same time, the continuing adoption of the HTML5 Canvas will probably force Adobe to support the Canvas as a (limited) output option for the Flash IDE. This is not necessarily a bad thing, as it will extend the life of the Flash IDE. The HTML5 Canvas will soon be supported by all major browser platforms and mobile devices, something that Flash will not be able to achieve without a legal victory (no thanks to Apple). For standard interactivity on web pages, HTML5 & the Canvas will become the king, especially for common elements like UI and targeted advertising units.
My feeling though, is that if Adobe makes the right decisions, most users of the Flash IDE will never know the difference. To do this, Adobe needs to implement HTML5 Canvas support into the next version of the Flash IDE. They need to make the support transparent to most end users, and make it part of the standard Flash IDE export options. If they don’t, Flash will die a slo death. Yes, I’ve said it. If Adobe does not embrace HTML5 and the HTML5 Canvas, the future of Flash is in jeopardy.
However, For the Flash .swf format to survive, more need s to be done and it needs to be accomplished quickly. This means a migration towards higher-end applications and games that simply cannot be created in HTML5. Adobe needs to get those robust 3D features into Flash as soon as possible, and continue on a path of supporting motion, touch, and gesture based interfaces across all platforms. They need to enhance and promote the audio features of the .swf, which right now (and into the foreseeable future) outstrip HTML5 on every level. They also need to make sure that the Flash IDE can target as many platforms as possible, hopefully with a native compile (Air for the Wii or XBox 360 anyone?).
I am a huge fan of Flash, but I’m not a technology bigot. I love Flash because of what it brought to my development efforts. I still think it is a great tool. However, the reality of the situation is that HTML5 and the HTML5 Canvas will be able to achieve much of what Flash can do now, and they will do it across nearly all platforms. That will make HTML5 the lowest common denominator. For Flash to survive, it needs to be enhanced and differentiated before it goes the way of Java Applets, Shockwave, and all the other technologies that were once defacto standards until the day they suddenly were not.
Update: This link has a good analysis of why people have gotten the wrong idea about this announcement. Our analysis of the HTML5 Canvas and Flash still stands, but as far as video goes, Flash still might be the top platform for some time. Thanks to all the people who commented to clear this up