Sunday, December 2, 2012

Will WebRTC Change The Communications Industry?

Back in April 2011, I wrote about the WebRTC discussion at the 80th IETF meeting in Prague. The idea to add real-time communications (RTC), that is voice and video capabilities, to the web browser is a natural progression of Google’s “everything should be done in the browser” philosophy, so there is no surprise that Google has been driving WebRTC. One and a half years later, WebRTC has created quite a buzz in the industry and a wave of startups has developed clients and services based on WebRTC technology. I was therefore excited to meet key players at the first WebRTC Conference and Expo in San Francisco that gathered about 300 participants, and focused on two questions: a) is the WebRTC technology ready for deployment and b) what is its impact on the communications industry?

The Surprise Sponsor
No one was surprised that Google sponsored the WebRTC conference.  But pretty much everyone was surprised to see Plantronics as the second sponsor of the event. Plantronics keynote speech by Joe Burton explained why... The digital divide is getting wider – while billions of devices are connected to the Internet, many people struggle with the technology. People ask Plantronics to solve the bigger communication problem: bend the web to meet the needs of the average person. It is more than headsets; it is about wearable technology that uses sensors to measure direction, temperature, moisture, etc. parameters and adjust the communication environment. Plantronics sees WebRTC as the communication infrastructure to support wearable devices because WebRTC allows much bigger pool of web developers to build communication apps much faster and leads to democratization of communication technology.

WebRTC Vision And Realty 
WebRTC’s vision is to provide interoperable royalty-free high-quality communication between browsers. To deliver on this vision, Google acquired On2 Technologies and made the VP8 video codec available royalty-free. There are many comparisons of VP8 and H.264 video codecs and the jury is still out on which one is better but one thing is for sure: transcoding between VP8 and H.264 leads to lower video quality than any of the two codes on their own.

On the audio side, the preferred codec for WebRTC is Opus, a super-wideband codec that delivers better quality than G.711 and G.722 used in IP telephony applications today. And while there are other super-wideband codecs, including AAC-LD and G.719 used in video conferencing systems, having Opus audio in the web browser will definitely drive web developers towards using it in voice/video applications. 

Unfortunately, the codec situation has not improved since early 2011. Google still insists on royalty-free VP8 and Opus while the communication industry is still based on G. and H. codecs. Some speculate that if H.264 becomes royalty-free, the argument for VP8 would be removed, and the world could happily converge around H.264. However, with the next video codec H.265 already on the horizon, the vision of using one video codec across applications and markets sure seems unrealistic.   

WebRTC Status
WebRTC today has fairly simple functionality. First, it allows the web application to get access to the user’s microphone and video camera (using getUserMedia API in JavaScript). This is critical step since JavaScript is downloaded from the web server and the user has to explicitly allow it to interact with the camera and microphone in the user’s device. Current implementations basically ask the user for permission for every WebRTC call, and there is still no good solution that combines ease of use and privacy. The second key WebRTC function is establishing a connection between two browsers (using PeerConnection API in JavaScript). This is the equivalent of “basic call” in voice communications and is therefore pretty straightforward. The third function is data transfer (using DataChannel API in JavaScript) – this function is designed for sharing data/screen as part of a collaboration session but it has not been implemented yet. In addition, WebRTC offers noise suppression, automatic gain control, echo control, etc. functions to complete the toolbox for web developers and enable creation of fully functional web based communication clients.

Google would like to see WebRTC in all web browsers but today only Google Chrome and Mozilla Firefox have the latest WebRTC functionality. Opera browser provides partial support of WebRTC (e.g., Opera v12 supports getUserMedia). Internet Explorer does not support WebRTC; the functionality can be accessed through a Chrome frame (a Google plugin for Internet Explorer). Realizing that not all devices can run voice and video in the browser (most mobile devices simply do not have the performance to do that) Google and other vendors provide native C++ versions of WebRTC for mobile platforms. In general, developers do not want to develop separate mobile apps, so as soon as the performance is available in mobile devices, the apps will run in the browser.

Mobile
One of the biggest challenges to WebRTC is addressing mobile platforms. In general, mobile devices have lower performance than wired devices and there are concerns that running software video codec in the browser will drain the mobile device battery. Others argue that the screen and wireless radio consume so much power during a video chat that the incremental power for running a software codec is negligible. Another reason for concern is Safari's ~99% share of iOS devices. Apple supports H.264 (and not VP8) and has not yet announced any plans for WebRTC. 

In mobile networks, there are several new communication methods that are competing for attention and resources. Similar to WebRTC, Voice over LTE is a technology that enables voice and video over (mobile/4G/LTE) IP packet networks. Real-time Communication Suite (RCS) on the other hand seems to be compatible with WebRTC. RCS defines what the client should look like and what functions it should support in a SIP call. It is therefore possible to create a RCS-compliant client based on WebRTC – as demonstrated by Crocodile.

Demos
The WebRTC conference included a lot of demos: some were part of the keynotes while other ran in the expo area throughout the event. 13 demos officially competed for best demo awards. Among the winners were Vidtel (Best Conferencing), Zingaya (Ready Now Award), Acme Paket (WebRTC to IMS gateway), and Crocodile (WebRTC/RCS client). Plantronics received the Visionary Award while PubNub (a San Francisco startup) won “Best WebRTC Demo” award and was also audience favorite.

Industry Impact
The current consensus is that while WebRTC clients will become very cheap or free there will be business opportunities around infrastructure and services.

Applications for WebRTC include telephony, video conferencing, collaboration solutions with gaming, etc. The current hype is around video but most benefits are in voice apps, where WebRTC can clearly cut the cost of communication and impacts existing business models. Right now, few people see WebRTC as money making opportunity and many say that asking how to make money with WebRTC is the same as asking how to make money with Flash and JavaScript.

Several companies make money connecting video conferencing traffic from Skype and GoogleTalk to enterprise video conferencing systems and this model can be extended to new WebRTC applications. But traffic among free consumer apps (like Skype, GoogleTalk, and future WebRTC apps) does not generate a lot of revenue. There is also a concern that cheap services can completely disrupt the subscription model used for voice and video services today.

Takeaways
In many ways, the WebRTC conference reminded me of the early SIP days (10-12 years ago). Many speeches predicted that WebRTC will replace PSTN but the logic question is "Why would it be different this time?" Some cited the better starting position the industry has today - with a lot of expertise about voice and video in IETF and development community. Increasing the developer pool is indeed a strong argument for WebRTC. While moving from SS7 to SIP in the 2000’s increased the developer pool from few hundreds to few thousands (the number 6,000 SIP developers was mentioned), moving to web applications increases the developer pool to several millions (potentially 10-20 million Java developers worldwide).

On the flip side, the WebRTC functionality is still quite rudimentary – mostly basic call, not even data sharing. The demos worked quite well but interoperability is still an issue due to the lack of WebRTC support in many browsers and due to incompatibility of voice and video codecs.

For service providers, WebRTC is yet another way for third-parties to develop Over The Top (OTT) services inexpensively, and compete with alternative SP-backed approaches such as VoLTE and IMS.

Enterprises are looking for creative ideas what to do with WebRTC, and most think of contact centers. Similar to the "chat" buttons and pop-up windows that have started appearing on web pages, I expect to see "call" buttons based on WebRTC technology in 2014-15. I have some ideas about WebRTC applications behind the corporate firewall and am sure that more ideas will emerge by the next WebRTC conference in June 2013 in Atlanta, Georgia. 

To come back to the original question, the impact of the WebRTC on the communications industry will depend on finding the right applications, adding the right functionality to the toolbox, and completing the standardization activities in IETF and W3C. Only then will WebRTC gain sufficient momentum and disrupt the communications market.