Microsoft has been less allergic to web standards in recent years and not just to "standards" only IE supports. The rightfully-praised IE9 came with good support for HTML5 and several other web standards. IE10 will up the ante. So it's no big surprise that Microsoft has announced that it would be supporting WebRTC, the nascent web standard designed to support real-time communications.
That's the good news. The bad news is that Microsoft has announced that it would be supporting WebRTC
. Because, as with its support for SPDY (HTTP 2.0), Microsoft's WebRTC is different, and in crucial ways, to the WebRTC that everyone else – Google, Mozilla and Opera –, is supporting at this point.
Granted, none of this is final, WebRTC is still in the early stages. So far, Google and Opera offer support for the getUserMedia API
which handles the mic and the webcam, a crucial component of WebRTC. Firefox is adding support in the stable channel
in the coming weeks as well.
But, arguably, the more important networking stack, the APIs which will handle the communications between the participants to the chat, are far from ready.
One of the things Microsoft thinks should be done differently than in the current proposals has to do with, surprise, surprise, video codecs.
In a rehash of the fight over codecs in the HTML5 Video standard, Microsoft wants a more open approach and wants apps and websites to be able to use any codec they want, or at least get a list to choose from.
Google and Mozilla, on the other hand, have been very vehement about supporting VP8, the open-source video codec that Google released.
For Mozilla especially it's a big deal, a big part of the team was very disappointed when Mozilla had to step back and add support for more codecs outside of WebM (VP8) and Theora, despite its vow to only support open-source codecs.
Mozilla relinquished the fight over HTML5 Video
, after Google abandoned it despite promising to only support open-source codecs in Chrome as well, believing that it was a lost cause, and it was, and that it's best to focus on the future. The future being, of course, WebRTC.
"A successful standard cannot be tied to individual codecs, data formats or scenarios. They may soon be supplanted by newer versions that would make such a tightly coupled standard obsolete just as quickly. The right approach is instead to support multiple media formats and to bring the bulk of the logic to the application layer, enabling developers to innovate," Microsoft explained
its view in a post on the Skype blog.
Microsoft has several more things to criticize about the current proposals. For one, it believes the current draft APIs are not flexible enough to be used by more than just desktop or mobile browsers. Its own proposal would work with a lot more devices and use cases.
Microsoft's experts also point out that the current APIs are not completely stateless, as any web API should be, Microsoft believes. Its own proposal
, the Customizable, Ubiquitous Real Time Communication over the Web (CU-RTC-Web) addresses these shortcomings.
There is a point to be made about Microsoft always wanting to do its own thing. But the same can be said of Google and even of Mozilla.
And a healthy discussion focusing on the technical aspects can only be a good thing. In the end, there will be only one standard and if it is to work every browser maker has to get behind it. WebRTC is still some time away though so Microsoft, Google, Opera and Mozilla will probably work it out.