What is this site?

HTML5Labs is where Microsoft prototypes early and unstable specifications from web standards bodies such as W3C. Sharing these prototypes helps us have informed discussions with developer communities, and enables us to provide better feedback on draft specifications based on this implementation experience. To find out more about HTML5Labs, read the blog by Jean Paoli, President, Microsoft Open Technologies, Inc.

Web Standard Prototypes


MS Open Tech is releasing a prototype implementation of the ORTC API spec published by the W3C ORTC Community Group. This implementation demonstrates an easily implementable API that is consistent with the principles for a WebRTC API that Microsoft has been advocating for the past year.


WebRTC Video

This new CU-RTC-Web prototype continues our exploration of alternatives to the SDP Offer/Answer approach. The CU-RTC-Web approach is based on two basic principles: that JavaScript APIs for real time communications should not be based on passing under-specified SDP blobs and should not require implementation of the SDP Offer/Answer state machine. These principles, first articulated in the original CU-RTC-Web proposal have continued as basic tenets within our prototyping efforts, which have demonstrated the practicality of the approach with running code.


WebRTC Roaming

With our latest prototype, we are demonstrating another important interoperability scenario - roaming between two different connections (e.g. Wi-Fi and 3G, or Wi-Fi and Ethernet) - with negligible impact on the user experience. The simple, flexible, expressive APIs underlying the CU-RTC-Web architecture allowed us to implement this important scenario without introducing any changes in the spec, just by building the appropriate JavaScript code.


Pointer Events for WebKit (updated)

Microsoft Open Technologies, Inc. and the Microsoft Corp. IE teams have been working with our colleagues across the industry, engaging developers to test and provide feedback on the Pointer Events specification, and incorporating all the received feedback into this Last Call Working Draft. To demonstrate cross-browser interoperability for Pointer Events, we are releasing an updated version of the patch for Webkit originally posted in December.


HTTP Speed + Mobility

This prototype implements the websocket-based session layer described in the HTTP Speed+Mobility proposal Microsoft contributed to the IETF httpbis workgroup, as well as parts of the multiplexing logic incorporated from Google's SPDY proposal.


Video Captioning

The new HTML5 track element can be used to point to a caption file that contains a written
representation of the dialog or actions in a HTML5 video



FileAPI is a W3C draft Web specification for representing file objects in web applications, as well as programmatically selecting them and accessing their data.



IndexedDB is a draft Web specification for the storage of large amounts of structured data in the browser.



In support of our earlier contribution to the W3C WebRTC Working Group, Microsoft Open Technologies, Inc., (MS Open Tech) is now publishing a working prototype implementation of the CU-RTC-Web proposal to demonstrate a real world interoperability scenario - in this interop case, voice chatting between Chrome on a Mac and IE10 on Windows via the API.


ALPN (updated)

As part of the HTTP/2.0 effort, the industry is collaborating to reinforce Internet communication security in the IETF Transport Layer Security Working Group (TLS WG). Two security experts from Cisco and Microsoft have submitted ALPN-01 (Application Layer Protocol Negotiation), a safer and simpler application protocol negotiation approach, backed up by a new HTML5 Labs HTTP/2.0 prototype by Microsoft Open Technologies, Inc. incorporating an initial implementation of ALPN-01.



Through our continuing support of the HTTP/2.0 standardization through code, we have made some updates to our prototypes. We have moved from the Node.js implementation used server-side by our earlier prototypes to a modified implementation of an existing Apache module for which we are making available in the associated patch.


Device Orientation Events

This prototype is an implementation of the W3C DeviceOrientation Event Specification draft on HTML5Labs.com. This specification defines new DOM events that provide information about the physical orientation and motion of a device. Such APIs will let web developers easily deliver advanced web user experiences leveraging modern devices sensors.


Media Capture API (2nd update) 

Media Capture API provides access to the audio, image and video capture capabilities of the device.


JavaScript Extensions

Microsoft is releasing reference implementations of the Math, Number, and String extensions and the i18n libraries that it has recently shared with the TC39 ECMA working group.


WebSockets simplifies bi-directional, full-duplex communications channels, over a single TCP socket.