Microsoft Launches HTML5 Labs Site to Prototype New Specs

Microsoft has created a new Web site called HTML5 Labs for developers to test new and evolving specs that are still evolving and not yet stable enough for inclusion in IE9.

Microsoft has launched a new site for prototyping new HTML5 specifications that are still under development and not quite ready for primetime.

In various Dec. 21 blog posts, Microsoft unveiled its new HTML5 Labs Web site, "a place where we prototype early and not yet fully stable drafts of specifications developed by the W3C and other standard organizations," said Jean Paoli, Microsoft's general manager of interoperability strategy, in his post.

In a separate post, Dean Hachamovitch, Microsoft's corporate vice president for Internet Explorer, said: "With many HTML5 technologies still under active development, our approach is to give developers better choices and avoid false dichotomies around standards support. The IE9 browser has site-ready HTML5 that developers and consumers can depend on. We will also offer developers "HTML5 Labs" for more experimental technologies still under development. By clearly separating prototype implementations from mainstream browser ones, we can avoid many negative consequences."

Hachamovitch further explains that in IE9 Microsoft will deliver the key parts of HTML5 that are "site-ready." And he says this is in line with the "same markup" mantra that Microsoft has been chanting since introducing the technology in March.

"IE9 offers support for real-world web patterns that developers are using today as well as the HTML5 patterns we expect to become more mainstream," Hachamovitch said. "IE9 does this because we want to improve interoperability on the web by providing developers a consistent programming model through the same mark-up. The goal is supporting great new capabilities, ideally in a way that interoperates or will interoperate soon across browsers."

In addition, "We will also offer prototype implementations for parts of HTML5 that some developers may want to try, but consumers can't depend on yet - the parts that are more experimental or unfinished," Hachamovitch said. "We will be explicit about the implementations that are more prototype than product. These prototypes are how we balance providing a product for millions of consumers while actively engaging in speculative technology discussions with developers and enthusiasts and avoid confusing either group."

Paoli explained that the HTML5 Labs site is where Microsoft's Interoperability Labs will publish prototype implementations of certain unstable and in-progress World Wide Web Consortium (W3C), Internet Engineering Task Force (IETF), ECMA and other standards specifications still undergoing a lot of change. "So, developers should expect that code and web pages based on these prototypes will have to be re-written as the specifications mature," he said.

The first two prototypes on the HTML5 Labs site, delivered Dec. 21, are Web Sockets and IndexedDB.

WebSockets is a technology designed to simplify much of the complexity around bi-directional, full-duplex communications channels, over a single Transmission Control Protocol (TCP) socket. It can be implemented in web browsers, web servers as well as used by any client or server application. The W3C oversees the standardization of the WebSocket API, and the IETF is handling the standardization of WebSocket protocol.

IndexedDB is a developing W3C Web standard for the storage of large amounts of structured data in the browser, as well as for high performance searches on this data using indexes. IndexedDB can be used for browser implemented functions like bookmarks, as well as for web applications like email. IndexedDB also enables offline scenarios where the browser might be disconnected from the Internet or server.

Paoli said Microsoft chose these two specifications primarily because they are potentially very useful but currently unstable. "These are the two specifications we currently believe the community stands to benefit the most from, but both are in flux," he said. "The details of the HyBi protocol underlying WebSockets are being hotly debated in IETF right now, and the IndexedDB spec will soon be updated to reflect decisions made at a recent W3C working group meeting."

Citing WebSockets, IndexedDB and various modules of Cascading Style Sheets 3 (CSS3) that Microsoft is looking to implement in IE9, Hachamovitch said, "Developers and consumers are better off if these technologies are brought forward as explicit prototypes rather than in the product that so many people depend on."

Moreover, Hachamovitch said:

""In this context of unfinished technology, measuring how much HTML5 different browsers support through "benchmarks" does not make much sense. In particular, many of these tests (like Acid 3) include different partial collections of unfinished standards, while they exclude deep or broad assessments of the quality of the implementations. The key questions for tests are how appropriate is their scope, how accurate and rigorous are the individual tests, and how comprehensive is their coverage. The standards bodies involved in the process of developing the standards (like W3C and ECMA) are a great forum for the development of trustworthy, high-quality tests.""

Microsoft goal is that its approach with IE9 and the new HTML5 Labs site will make it easier on developers by giving them a stable environment while also enabling them to work on technology that is still evolving.

"The goal is supporting great new capabilities, ideally in a way that interoperates or will interoperate soon across browsers," Hachamovitch said.