Is HTML 5 ready for production yet? W3C don’t think so!

Philippe Le Hegaret, an official with the World Wide Web Consortiumn (W3C) responsible for SVG and HTML specifications, has told InfoWorld:
The problem we’re facing right now is there is already a lot of excitement for HTML 5, but it’s a little too early to deploy it because we’re running into interoperability issues
Apparently the crux of the issue is getting HTML 5 to behave the same in different browsers and using different video devices. Now forgive me if I’m wrong but hasn’t that always been the case with HTML?! He goes on to say that the HTML 5 specification may not be "feature-complete" until mid 2011.
Industry analyst Al Hilwa of IDC appears to endorse Le Hegaret’s position warning:
HTML 5 is at various stages of implementation right now through the Web browsers. If you look at the various browsers, most of the aggressive implementations are in the beta versions ... IE9 (Internet Explorer 9), for example, is not expected to go production until close to mid-next year. That is the point when most enterprises will begin to consider adopting this new generation of browsers.
So what is HTML 5? And why is it not ready yet?
Put simply HTML 5 is the latest (5th) major revision of HTML - dragging a old markup language into the modern era. It introduces a new set of elements and attributes to better suit the needs of the modern day web. Suffice to say it is markup specification.
However, HTML 5 in reality is a bit of a loaded term commonly used as a catch all phrase for a selection of different emergent technologies such as CSS3 and other Web APIs (including Canvas, Websockets and Geolocation to name but a few).
Given Le Hegaret’s position within the W3C I can only imagine he is referring to HTML 5 in its purest sense - as defined by the W3C Working Draft:
This specification defines the 5th major revision of the core language of the World Wide Web: the Hypertext Markup Language (HTML). In this version, new features are introduced to help Web application authors, new elements are introduced based on research into prevailing authoring practices, and special attention has been given to defining clear conformance criteria for user agents in an effort to improve interoperability.
The specification is still in draft so it is reasonable to assume that some aspects may possibly change. Browsers therefore can’t be expected to get it right, or implement it in the same way as each other, thus going against the main aim of HTML 5: "...defining clear conformance criteria for user agents in an effort to improve interoperability".
Does this mean we can’t start using it in production yet? In my opinion? Of course we can! Interface developers have always had their work cut out for them in ensuring their code works across a multitude of browsers and operating systems, each with their own quirks and foibles. HTML 5 (once completed!) aims to address this and generally make life easier for us.
Why then should we wait? Why can’t we carry on as we are whilst adopting the new, albeit still draft, specification. We are used to writing fallbacks for non-compliant browsers or technologies and this will continue, even with improved the interoperability of the latest browsers. Let’s not forget: IE6 is still alive and, although dwindling, is still something we have to cater for.
An example of this is our new website, coded in HTML 5 yet works in non-compliant browsers, even in IE6!
For a more vitriolic take on Le Hergaet’s position read what @rem has to say on the matter: http://remy.tumblr.com/post/1261575750/hold-off-on-deploying-html5-in-websites

2 comments
Le Hégaret’s comments have drawn a lot of criticism from the community and rightly so (I’m sure he wishes he could take it back). As you rightly pointed out, developers have been implementing new features with limited support for years not only in HTML but CSS and JavaScript too. If developers waited for working draft’s to be finished and technologies to be “ready”, we’d still be living in a world without CSS rounded corners (shock horror!) The question that developers should be asking themselves, is not “should I implement this feature” but “how can I implement this feature whilst supporting browsers that don’t recognise it yet”. As the technology is becoming more advanced and the disparity between browsers (old and new) is growing, the community is developing ever better tools and tricks to help them deploy the awesome stuff without screwing half their audience. http://www.modernizr.com/ is a great example of this (feature detection rather than browser sniffing + html5 element creation) whilst “polyfills” http://goo.gl/ukio provide fallback functionality for older browsers, allowing developers to make use of the new HTML5 api’s. I suppose it always comes down to a choice; balancing your audience and their likely choice of browser against the functionality that is best going to solve the problem. But then, if it makes sense for Facebook (http://www.facebook.com/notes/facebook-engineering/using-html5-today/438532093919) with 500,000,000+ users, there’s no reason why it can’t make sense for other sites too.
@Andy – speaking of disparity between browsers (as @rem points out in his rant) CSS 2.1 never actually made it out of draft. To be an accepted (“ready to use”) specification the W3C states that it has to be adopted in full by at least 2 recognised browsers. This was never the case – and going by different browser’s HTML 5 feature lists there’s a good chance HTML 5 won’t officially be “ready to use” any time soon! (if Le Hégaret has his way!)
PS: With IE9 now supporting CSS3 rounded corners we can expect the internet to ‘go round’!