HTML 5 is Born Old - Quake in HTML 5 Example
One of the big news stories for HTML 5 this past week was the demo of Quake running in HTML 5. This was done by Google engineers for Webkit-based browsers like Chrome and Safari. This is one of those demos that gets a lot of "OMG...that's awesome". This inevitably leads to the next round of comments "see Flash is RIP; long live HTML 5".
Video of Quake 2 in HTML 5 using WebGL extensions
This news made the front pages of Digg, Reddit and Engadget. A lot of people are obviously excited by this and they should be. However, once again, a lot of comments are simply misguided. I really like kenjura's comments on Digg about this article. "HTML5 is getting the Obama treatment: You fanboy idiots are giving them a Nobel Peace Prize and the technology hasn't even materialized yet!" I cannot agree more.
How soon people forget that this was done in Flash back in 2007 and in Silverlight in 2008. Granted, both demos used Quake 1 (not Quake 2) but the overall concept is the same.
Quake in Flash (2007)
Quake in Silverlight (2008)
HTML 5 is born Old
It is cool to see HTML evolve to be able to do this. Don't get me wrong; I think it is a very impressive achievement. However, think about this objectively. The last HTML 4 spec governed the web for 11 years. HTML 5 is not even ratified and it is going to be accomplishing what we could have done in other RIA technologies 2-3 years ago! What is the web going to look like in 5-8 years? Is HTML 5 going to be relevant to keep up with the future web? Will it be behind Silverlight/Flash? Those are the questions I would be asking if I am excited about a technology doing what was done 2-3 years ago!
In its current form, HTML 5 brings you: audio, video, WebGL, Web Sockets, Web Workers, SVG, canvas. So far, so good. But it is still missing some core functionality that Silverlight/Flash have:
- No device support for web cams or microphones
- No font management. In Silverlight/Flash, you can just embed the font in the SWF/XAP package. In HTML, the OS needs to have the font installed.
- No DRM protection for media playback
- No "Out of the browser" applications for disconnected scenarios
- No COM support for Windows scenarios
- Performance. For example, in this video, we can see on the Droid platform Flash is 2-3x times faster than the HTML 5 Canvas. Granted for most RIA modules this is overkill. However, imagine a vey complex data visualization or a game with 2D physics that will want to utilize max performance.
- Data-Service support. Silverlight has tight integration with scalable data service frameworks like WCF RIA Services to handle SOAP, REST and pub-sub services.
HTML 5 will no doubt evolve slowly and replace Adobe Flash in many places. However, comments about the demo of the "Quake in HTML 5" that claim other RIA technologies are dead is simply nonsense. In 2011 or 2012 when Silverlight 6 is out, what is the state going to be for HTML 5 features? As you can see from the list above, HTML 5 is already missing some big features. In two years' time as Adobe and Microsoft evolve their RIA technologies, HTML 5 will look like an older and older technology.
Isn't it great that HTML 5 is going to allow you to "democratize" RIA functionality without a plug-in?...yes. Is HTML 5 revolutionizing RIA or taking it where RIA has not gone before?....absolutely not.