There's been much consternation recently about the supposed stability and reliability of HTML5 due to the InfoWorld article link-baitingly-titled W3C: Hold off on deploying HTML5 in websites. The article interviews W3C interaction domain leader Philippe Le Hegaret and quotes him saying things like:
"... it's a little too early to deploy it [HTML5] because we're running into interoperability issues ..."
and
"I don't think it's ready for production yet,"
and
"The real problem is can we make [HTML5] work across browsers and at the moment, that is not the case."
I know Philippe, and I have a feeling that the quotes in the InfoWorld article may either be abbreviated versions of what he actually said, somehow taken out of context, or perhaps reflecting a "glass is half empty" perspective.
Regardless, those quotations, taken on face value, are provably false.
HTML5 Has Plenty Of Interoperability Today
First, there is plenty of HTML5 with zero interoperability issues (e.g. DOCTYPE, meta charset, most of the semantics, and many APIs too.) that you can safely use across browsers.
I know because I've been coding with HTML5 and teaching workshops on practical HTML5 for over a year. I found there was so much that was usable cross-browser that I was inspired to write my first book and video tutorial about it: HTML5 Now - ~46 page booklet, 2.5+ hours of video, ~100 page PDF eBook - the vast majority of which covers HTML5 features that work reliably today.
And yes, just as there are parts of HTML5 that interoperate very well, there are also some features you can't yet depend on. I choose to focus on the positive here ("glass is half full") and perhaps that's the difference in perspective. Regardless, it's irresponsible to make a general statement stating it's too early to deploy HTML5, because there's plenty of HTML5 you can safely deploy right now.
But you don't have to take my word for it.
Using HTML5 Today In Production
David Recordon wrote a nice post on Facebook titled simply Using HTML5 Today where he listed some features from HTML5 and related technologies that Facebook is using, right now, live, on their production site, including:
- HTML5
<video>
element - HTML5 History interface - helps maintain cleaner more robust URLs even when using AJAX to change the state of the page.
- Geolocation API - which just over a month ago became a W3C Candidate Recommendation, meaning:
W3C publishes a technical report as a Candidate Recommendation to indicate that the document is believed to be stable, and to encourage implementation by the developer community.
Facebook is also experimenting with other Web Applications technologies such as:
Both of which are Working Drafts, the latest public versions of each are almost a year old as of this writing, and should really be updated to the most recent editor's drafts.
More Support For Using HTML5 Today
Many have responded to the InfoWorld article and its chicken-littling of HTML5. Here is some additional reading:
- Remy Sharp: Hold off on deploying HTML5 in websites? (Remy is a co-author, along with Bruce Lawson, of the excellent book Introducing HTML5, so he too knows what he is talking about, first-hand.)
- Dion Almaer: Don't "deploy HTML5"? Thanks again W3C
- CNET: Facebook rebuffs W3C's HTML5 caution
- Philippe Le Hegaret followed up with a a more positive post on the W3C's blog: HTML5: The jewel in the Open Web Platform
- Dion then followed up to that post with a call to arms: HTML5 is a jewel that we need to cut into a weapon.
Yes the battle for the Open Web is not over yet, however, the least we can all do is not FUD our own efforts.
Let's eagerly advocate what works well today, while honestly admitting what is still "in progress". As time goes by and more and more of what's "in progress" becomes "what works well today", web developers will see the consistent trend and get the message.