WebRTC Video Conferencing, In What Browser? Take II
Browsers with WebRTC support are becoming a reality. But there are, and will continue to be, notable exceptions.
It has been 6 months since my previous post detailing the state of the market when it comes to WebRTC support in browsers. A lot has happened since then (2 acquisitions in this space, a mobile browser launch, some desktop browser announcements and changes in the standard itself).
A reader has reached out to me asking for an update on that post, so here it is.
This time, I will skip the niceties. If you want to learn more, then there's a whole series of posts about WebRTC that I have written both here on NoJitter and elsewhere. This post will deal with the current state of browser support for WebRTC, along with a few other interesting updates about those who don't support WebRTC (yet).
Google is supporting WebRTC. In each release, they are adding more support and migrating features/APIs from beta to official release.
To simplify things, WebRTC comes as a set of 3 API groups:
1. GetUserMedia (camera and microphone access)
2. PeerConnection (think of it as sending and receiving media)
3. DataChannels (sending non-media direct between browsers)
Both GetUserMedia and PeerConnection are supported in Chrome browser out of the box.
DataChannels are not supported by Chrome yet. I expect it will be introduced in the next couple of months as beta.
Mozilla has made some nice progress, reporting that Firefox Nightly builds now support WebRTC (all 3 sets of APIs, including DataChannels). They too require manual changes in the preferences of the browser.
Opera hasn't captured a large audience on desktops, but is an important player on smartphones. In Opera Mobile 12, WebRTC APIs are available and working, but they include only GetUserMedia.
Opera just released version 12.10 of their desktop browser. Absent from this release is WebRTC.
Microsoft Internet Explorer
Microsoft has yet to release an Internet Explorer version that supports WebRTC. To answer the questions of my previous post:
* There is no official release of WebRTC in Windows 8
* There is no support for WebRTC in Internet Explorer 10
* But, using Google Chrome Frame, developers can use WebRTC inside an IE tab. Sadly, this is a plugin in nature.
At the same time, Microsoft is hard at work with standardization efforts to modify the WebRTC specification.
Now, only Apple is missing in action. They will probably skip WebRTC for now, as they have vested interest in their FaceTime walled garden of video chat service and in H.264, which isn't part of WebRTC at this point in time. If Apple will support WebRTC, then this is the spec I assume they will have for it.
The only positive aspect of it all is a recent draft proposal to the IETF from Cisco and Apple, indicating their preference of H.264 as the mandatory video codec for WebRTC.
Expect Apple to ignore this technology in the next couple of years.
While supporting desktop browsers is interesting, it is not the important side of the story. If you look at Horace Daidu's rise and fall of personal computing, you will see how personal computing is shifting to tablets and smartphones, and there is where video conferencing is going to shine (at least on the tablet).
Mobile remains an open issue when it comes to WebRTC.
The only "official" browser supporting WebRTC is Ericsson's Bowser, which is a political move more than a technical one--trying to assert which mandatory codecs should be selected for WebRTC. It lacks support for Opus voice codec and essentially won't interoperate with the desktop browsers that support WebRTC.
The real progress in mobile doesn't come from browser vendors, but rather from WebRTC platforms:
Moving forward, we will see more vendors rolling out SDKs that connect WebRTC into applications for their developers--especially now that communication APIs are becoming the norm.