HTML5 Labs Launched and WebSocket Update
Last week Microsoft launched HTML5 Labs where they intend to post early prototypes of applications running on unstable web standard specifications for .NET developers. The intent is to create an early dialogue with the developer communities and higher fidelity implementations of draft specifications. The first two prototypes made available are IndexDB, an application based on the draft web specification for the storage of large amounts of structured data in the browser and an example WebSocket implementation.
The download from Microsoft contains a .NET implementation including:
- A WCF 4.0 server-side implementation
- A Prototype of the WCF Model for WebSocket
- A Silverlight 4 client implementation
- A .NET 4.0 client implementation
- A web chat sample
- A stock quote sample
WebSocket is a draft protocol intending to define a bi-directional full-duplex communication protocol to allow web browsers and web servers to communicate without the HTTP protocol overhead. It is designed to be implemented in both web browsers and web servers. The communication begins once an initial connection has been established between browser and server. If adopted, WebSocket will deprecate the HTTP long-polling mechanisms in use by developers today. The WebSocket API is under the jurisdiction of the W3C Web Application Working Group while the IETF owns the working specification.
Currently the WebSocket draft is implemented in FireFox 4, Chrome, Opera 11, Safari 5 and both IE 8 & IE 9. Apple has even implemented WebSocket in the latest release of iOS 4.2, while developers must wait for support in Windows Phone 7 and Android.
Earlier this month, preliminary WebSocket implementations in FireFox 4 and Opera where disabled due to security concerns. The problem lies not with web browsers, nor truly WebSocket, but with poorly implemented caching proxies which sit on most corporate and enterprise firewalls. Within FireFox, it is possible to re-enable WebSocket by browsing to about:config and toggling network.websocket.override-security-block. General consensus is that eventual adoption of WebSocket in inevitable yet in an altered form to alleviate the current security concerns, but some feel XMPP sufficiently solves the same problem space.
WebSockets in IE 8 and IE 9