This story was written by Keith Dawson for UBM DeusM’s community Web site Develop in the Cloud, sponsored by AT&T. It is archived here for informational purposes only because the Develop in the Cloud site is no more. This material is Copyright 2012 by UBM DeusM.

Microsoft Picks a Fight Over WebRTC

Redmond wants to do plugin-free Web audio and video their own way.

Microsoft has put forward its own proposal for doing plugin-free Web audio and video, snubbing the "rough consensus and running code" that Google, Mozilla, and Opera are working on.

The Web can't seem to settle on a single video codec. And the big boys can't seem to cede any territory to one another when it comes to defining Web standards.

After Google acquired On2 in 2010 and open-sourced the VP8 video codec that company had been developing, the company went to work on a specification that is being tracked under the name WebRTC -- real-time communications. Mozilla and Opera soon joined Google's effort and WebRTC working groups formed in the W3C and the IETF to work toward a standard. Google maintains the browser makers' own page on WebRTC.

At this point, WebRTC capabilities are available in development builds of the Firefox and Opera browsers. Google just made support for key parts of the communications protocol available in the stable release of its Chrome browser.

Microsoft has been quiet about WebRTC until last week, when the company announced its competing proposal for a standard in this space. They call it "CU-RTC," where the CU stands for customizable and ubiquitous.

Microsoft has a dog in this race in the form of Skype, which Redmond purchased last year. The Skype unit has been working on a browser-based version of its video-and-voice software. Informed by Skype's requirements, Microsoft calls out perceived shortcomings in the existing WebRTC draft: weaknesses in working with mobile phones, VOIP, and baby monitors; trouble traversing routers (Skype has been really good at this from the start); and basing connection negotiation on the earlier SIP protocol, which renders WebRTC stateful -- an undesirable thing on the Web.

The biggest difference between the proposals is that the one from Google et al. uses the free VP8 codec as the default for playing video, while Microsoft wants to go with the encumbered H.264. The latter codec is in wide use (for example by Apple and Adobe Flash) and enjoys hardware acceleration in the form of chips from Texas Instruments and Intel. H.264's fatal flaw, from the point of view of Google and Mozilla, is that its use requires a license. No-cost licenses are available for the asking as long as the applications are free, but as soon as money changes hands, the patent owners want a royalty. This consideration leaves Linux and other free-software projects out in the cold.

PC World quotes the head of an HTML5 consulting company arguing that a multiplicity of video formats is not a bad thing: developers will just have to "add a few additional lines to their page code to deliver the correct format based on the browser being used."

To me this sounds like the bad old days of browser-sniffing and delivering customized CSS and Javascript per browser. A single standard for Web-based voice and video is greatly to be desired. Microsoft's move has pushed out into the indefinite future the day when we can reasonably expect to see such a standard.