As WebRTC has matured to a state where it’s first implementations are ready for companies to launch real services around it, the readiness of various companies to adopt WebRTC has fanned out quite a bit. Some are already charging ahead as early adopters, while others are playing it conservative. Of those in the conservative camp, one of the common doubts that gives them pause is: “What about IE?”
When speaking to those interested in WebRTC, but concerned about Internet Explorer (IE), many times we’ve tried to assure them not to worry: our friends in Redmond won’t be too far behind. We often point to the undeniably significant contributions from Microsoft to WebRTC, especially considering that they bring to the table two titans of VoIP industry (Lync and Skype). We highlight some of their early IE WebRTC demos (using beta code) as signs of progress. We’ve rationalized the absence of a Microsoft equivalent to what Chrome and Firefox are shipping, by noting the slower release cycle for IE. However, we’ve come to realize that to some, IE support is a really big deal.
Even though the Firefox and Chrome browser share has ballooned to a combined ~%60 overall (depending on which source you believe), there are certain classes of companies and industry segments where IE usage is much greater. This can be due to things like user demographic, or IT policies for end user devices. No matter how you spin it, to some, the promise of ubiquitous web based real-time communications nowhere close to a reality, until Microsoft climbs aboard. For those waiting, news last week from Microsoft would suggest that you won’t have to wait much longer for IE to catch up to the rest.
What’s the news?
Announced through Microsoft’s Skype blog, a number of juicy details surrounding their WebRTC plans were revealed: http://blogs.skype.com/2014/10/27/bringing-interoperable-real-time-communications-to-the-web/
At a high level, this news reflects Microsoft’s deep commitment to RTC on the web, and lays out their plans for the near future. This all sounds good, right? As is so often the case, the devil is in the details.
What does this mean?
Looking just beneath the surface of Microsoft’s plans here, a few details stand out as potentially having significant implications:
- The API in IE: Imminent plans to deliver ORTC (or WebRTC 1.1 as ORTC supporters call it), in IE…but not WebRTC 1.0
- The Codecs: H.264 for video & Opus, G.711, G.722 for audio. VP8 is not part of the deal
- Microsoft’s interests outside the web: The importance of interoperability with “billions of existing communications endpoints”
The API in IE
Microsoft’s intentions are further clarified on their IE Web Platform Status app: https://status.modern.ie/webrtcobjectrtcapi?term=webrtc
It would seem that IE intends to skip implementation of the current form of WebRTC (aka WebRTC v1.0), and jump right to ORTC. Supporters of ORTC have proclaimed it “WebRTC 1.1”, which could provoke some debate. Declaring your own plans to be the industry’s “v1.1”, while the industry as a whole has not yet finalized consensus on exactly what “v1.0” is, could certainly be seen as premature. At the same time, it would be accurate to point out that some of the concepts and mechanics of ORTC are gaining support and popularity, to the point that are being adopted by the standard “v1.0” specification, and players like Google are adding support for it in their implementations.
Call it what you will, you may recall our previous post, which points out that ORTC is backwards compatible with WebRTC, and the differences lie mostly in the browser API and signaling framework. The intention is that much of the on-the-wire protocols (STUN/ICE/TURN, DTLS-SRTP, Media stream bundling, etc.) would be the same.
One caveat here, is that the previously mentioned points about being on-the-wire compatible with other implementations of WebRTC is not entirely true (yet). This is because of one one major yet-to-be-determined item for the IETF: what video codecs shall be used. So…what does Microsoft say about the codecs?
With IE ORTC on the scene, it is likely that JS libraries will evolve to detect, leverage, and normalize to their API surface, making today’s WebRTC apps operate with little modification.
While the news of an upcoming IE implementation is mostly positive, the announcement could also be seen as a thinly veiled attempt to show momentum on one side of a video codec debate, that has been on the back-burner for a while. They clearly state their plans with regard to the codecs they intent to implement: Opus, G.711, G.722 for audio and H.264 for video. No VP8.
When it comes to audio codecs, the WebRTC specification indicates both Opus and G.711 as the Mandatory-to-Implement (MTI) audio codecs for any WebRTC-complaint implementation. However, the IETF has recently adopted a document that recommends other voice codecs to interoperate with legacy networks, which includes G.722 among others.
As mentioned, Microsoft announced plans to support H.264 only which means won’t be able to interoperate with other implementations supporting VP8 only, like Google’s Chrome.
This creates a rather large rift in RTC on the web, as Chrome browsers and IE browsers will have no common codec with which to share a video call. That said, some WebRTC community members are willing to take some progress vs. no progress, saying, “even though Microsoft’s announcement is about ORTC and H.264, it is better than nothing. At least it will provide audio and hopefully datachannels with no plugins in IE, plus video support interoperable with a large percentage of the market. One can always deploy a transcoding solution as a fallback“. I’m sure transcoding vendors will be very happy with this sentiment.
As highlighted in previous posts, the last time the video codec topic was discussed at the IETF it was not possible to reach a consensus. The decision at that time was to put the topic on-hold, to spend the cycles working on other topics in order to progress with the standardization effort. So now, after several months, the can of worms has been re-opened. Next week there will be a new IETF meeting in Honolulu, and the Video Codec topic is part of the agenda for the RTCWeb WG. It’s worth noting that within the IETF there are some voices, mostly from VP8 supporters, claiming it does not make much sense to re-discuss this now, as nothing has changed substantially since last time it was discussed (note
VP8 is currently under consideration to become an international ...