Microsoft Goes Its Own Way With WebRTC
Written by Mike James   
Tuesday, 22 January 2013

Despite having no luck convincing the W3C WebRTC group to take notice of its proposal, Microsoft is moving ahead to implement it anyway. This is another example of Microsoft going it alone when it comes to browser standards, but the situation is actually quite complicated.

What do you do if you think that the W3C is making a mess of the standards that it is supposed to be developing? The politically correct answer is that you join and attempt to influence it from within.

If this was the only way however it is unlikely that we would have HTML5. WHATWG thought that the W3C was wasting its time on XHTML which would never be adopted by enough people to be a success (this is an over simplification but close enough) and so it set up as an alternative and created, and is still creating, HTML5.




Microsoft seems to believe that the technology that WebRTC is based on is fundamentally flawed. WebRTC is designed to allow browsers to communicate directly using video, audio or whatever sort of stream you care to implement. The problem, according to Microsoft, is partly that the W3C isn't thinking big enough. What Microsoft wants is a protocol that works between web browsers and almost anything else you care to think of.

The second problem is that WebRTC makes use of SDP which is an open IETF standard for establishing multimedia streaming connections. SDP is used with protocols such as SIP for VOIP but Skype, Microsoft's VOIP app, and a number of other Microsoft apps don't use SDP. Clearly Microsoft would like a non-SDP solution that might interoperate with non-SDP systems. It is also the case that SDP isn't really up to the job that the W3C are putting it to within WebRTC. As the standard isn't under W3C control they need to influence the IETF to extend it in the right way.

All of this caused Microsoft to propose an alternative system to the W3C at the end of 2012. The proposal was rejected in favor of the existing WebRTC standard by 22 to 4.

At this point it looked as if Microsoft had two choices - work with the W3C or work with its own standard - and now we know which one they have decided on. A blog post announces that Microsoft's Real Time Communication API, CU-RTC-Web, has been implemented as a working prototype in the form of  a plugin for IE 10 and for Chrome. Why there is no plugin for Firefox is a mystery.



So Microsoft is going it alone, but with the explanation that the aim is to:

"Provide a source of ideas for how to resolve open issues with the current draft API as the CU-RTC-Web proposal is cleaner and simpler."

While this looks a lot like Microsoft ignoring web standards for its own reasons, this time it might just have good reason. It isn't clear that the WebRTC standard can be developed to create what programmers using the API actually want. A lot of this depends on the development of SDP.  Microsoft's API doesn't use SDP but it is low level enough to allow programmers to build SDP-like interfaces on top of it.

The technical arguments for CU-RTC-Web seem good and valid and, who knows, the W3C might have to give in to a de facto standard or incorporate it into its own WebRTC standards.

What really matters here is not that Microsoft is lobbying for a different solution to the problem, but that if it eventually loses the battle then it should return to the fold and implement WebRTC in IE 10. Anything less would be very much history repeating itself with Microsoft breaking a web standard that could be a very exciting new area if everyone ends up speaking the same language.



More Information

Blog Announcing The Prototype

CU-RTC-Web proposal

HTML5Labs Example Of Voice Chat

Current draft WebRTC API

Related Articles

Microsoft Picks Another Web Standards Fight

Chrome Now Has WebRTC

IE The Browser You Loved To Hate

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.


C book



or email your comment to:



Get Started With Ollama's Python & Javascript Libraries

New libraries allow you to integrate new and existing apps with Ollama in just a few lines of code. Here we show you how to use ollama-python and ollama-javascript so that you can integrate Ollama's f [ ... ]

The Mycelial SQLite For Beginners Course

There's a self-paced. YouTube-based course by Mycelial on
the ins and outs of SQLite. It's short, succinct and free and a must watch for anybody wanting to get started with  SQLite.

More News


Last Updated ( Tuesday, 22 January 2013 )