It was all the way back in the Spring of 2011 that Google released WebRTC, its nascent real-time, browser-based, HTML5-powered, no-plugin-required video chat project to the public. In the three and a half years since, the Internet Engineering Task Force and the W3C have been working together to try to formalize the standard, prepare the stable 1.0 release, and get it ready for prime time.
That prime time has been a long time coming: Plenty of startups, notable among them Vidyo and Twilio, have taken to WebRTC as the protocol that helps them offer video chat from modern browsers like Google Chrome and Mozilla Firefox. But while the big technology vendors have offered their support, guidance, and code commits, very few have taken the leap to actually doing anything major with it. Even Google only changed its flagship Hangouts messaging tool over from a plugin to WebRTC this past July.
But all of that changed just this week. It may have coincided with the annual WebRTC World conference down in sunny San Jose, but the real WebRTC news came from Microsoft and Cisco, both of which made good on years of promises with the introduction of Skype for Web and Project Squared, respectively. There's a lot of work left to be done, but it's all starting to come together for WebRTC.
Microsoft's Skype for Web essentially does what it says on the tin: Lets you make and receive voice and video calls from within the browser. Today, it uses a plugin. Soon, Microsoft promises, it'll undergo the full switchover to WebRTC, as Mary Branscombe reports for PCWorld. If and when that switchover happens, it'll mark a major validation point as a consumer service that millions of people use and love moves to the WebRTC standard.
Meanwhile, Cisco Project Squared is a collaboration solution designed to marry the new wave of productivity tools (exemplified by offerings from startups like Slack) with the company's expertise in video and audio chat, developed in conjunction with Mozilla. It's the titanic team-up between WebRTC pioneers you demanded.
So what's taken so long? Really, one does not simply stroll into users' browsers. The WebRTC standard supports a lot of things -- the H.264 and VP8 video codecs; video simulcast; scalable video codecs -- that the browsers people actually use in real life don't support across the board. Even today, many popular browsers support these features piecemeal.
"No browser today supports a combination of H.264, simulcast and scalable video codecs. Chrome has simulcast and scalable video codecs and even multi-stream video, but it doesn’t have H.264. Firefox supports H.264 but doesn’t support simulcast or scalable video codecs or even multi-stream video. IE recently announced it will support H.264, as well as ORTC which by design supports simulcast and scalable video codecs, but that’s [in the future],” Skype chief architect Bernard Aboba told PCWorld.
You may notice one major browser completely missing there: Apple. The company has been watching the WebRTC project very closely, says Cullen Jennings, Cisco Engineering Fellow and co-chair of the IETF RTCWeb working group that's helping to define the WebRTC standard. But it has yet to actually commit a line of code or integrate it anywhere, at least that anybody knows, given Apple's usual veneer of secrecy.
Getting all of those vendors on the same page is itself a struggle, Jennings says. The IETF and the W3C are in sync as far as releasing a truly open solution, but opinions vary on how to get there. One major source of internal drama is over which video codecs to support: It's pretty well agreed-upon that H.264 and VP8 both provide suitable performance, but there are licensing issues to address, since they're both technically proprietary. Cisco has picked its side by releasing of a version of H.264 that's licensed through the company, taking all the royalty costs upon itself and opening the door for developers to build without having to worry about cutting anybody a check.
"You can have a fairly small team that's not experts," Jennings says.
Moreover, just like any other cloud app, updating a WebRTC app is a matter of refreshing the page. Where before you'd have to juggle software updates, incompatibilities, patch levels, and so on, WebRTC has the potential to work on any device, no matter the form factor or screen size. And we've really only scratched the surface, Jennings says. Once it's that easy to put video and audio into things just by code, the possibilities are limitless: Picture online games that stream video content from your friends while you play, all inside the game.
The challenges are two-fold: Just in terms of marketshare, Jennings says, half of the browsers out there don't support the full potential of WebRTC, and so it's a matter of putting pressure to get those updates out there. The other challenge is developer outreach: Now that WebRTC is nearing 1.0, the time is ripe for developers who are interested in the technology to really dig in and help define the path forward, but so many are choosing to keep working on their proprietary plugins and keep the cycle of endless updates, low performance and system dependencies going.
Other areas of focus are in video quality and resilience, but Jennings is confident that those are a solvable problem that the project is going to keep hammering away at. It's just a matter of time -- just like it's a matter of time before Microsoft and Cisco actually release their WebRTC projects to the world.
"The standard's far from done, but it's coming together," Jennings says.