Thanks to Martin Beeby for this post. Keep up with Martin on Twitter.

Today we’ve launched HTML5 labs which enables developers to test emerging HTML5 specifications. It gives developers access to prototypes on early specifications and a place to provide feedback on improvements to the specifications. The two prototypes that are live today are Web Sockets and IndexedDB.

IE9 currently has great support for HTML5, back in November we came top in the W3C HTML5 Conformance Test Suite,. Despite this commitment to HTML5 many people often pose the question ‘Why don't you support feature X; browser X has had support for over a year now?’ It's true that currently IE9 doesn't support every HTML5 feature that is in the specification, however, the many features that we do support are implemented well and are very compliant.

In my opinion, having a long list of implemented HTML features doesn't make you a better browser if the implementation isn't standards compliant or is likely to change. Features need to be interoperable, secure, stable and above, all reliable.

Internet Explorer 9 only adds HTML5 features when the specification from W3C looks solid and is unlikely to change, this ensures that developers can use the capabilities of HTML5 today without worrying about what is stable and unstable.

This gives developers confidence that were are not going to drastically change our implementation because the W3C specification changed and break their sites. We therefore don't include HTML5 features in the browser that we know are likely to be changed by W3C. Web Sockets is an example of a specification that is almost certainly going to change.

Roughly HTML5 features fall into two categories:

  1. Stable standards specifications like video.
  2. Unstable, emerging specifications like Web Sockets.

Features that are ready will be implemented in IE9. Features that are likely to change maybe added to the HTML5 Labs page to give developers access to use them and provide feedback.

Of the two features that we launched today, I'm most interested in playing with Web Sockets, I have a sneaky idea that I can't wait to try out, watch my blog over the next week for more information.