No Jitter is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

The Rise of WebRTC: The Rules of Communications are About to be Rewritten

I recently made my first WebRTC (Web Real Time Communications) free voice call using the global calling service frisB from the latest Chrome browser, and then went on to explore a number of services available using WebRTC. I soon realized we are about to witness an explosion of innovations enabled by WebRTC. Before we review some of the innovations, a brief review of WebRTC is provided.

WebRTC is a HTML5 standard being drafted by the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF). The W3C is working on standardizing the interaction with HTML while the IETF is working on standardizing the underlying protocols. There is also a WebRTC project from Google that in June 2011 open sourced under a royalty free BSD (Berkeley Software Distribution)-style license a framework that has accelerated browser support of WebRTC. For the sake of simplicity I will refer to all these complementary endeavors as WebRTC, which embeds real-time communications into any browser.

WebRTC includes iLBC (Internet Low Bitrate Codec), iSAC (Internet Speech and Audio Coder), G.711, and G.722 codecs for audio and VP8 for video. These codecs include capabilities such as packet loss concealment and echo cancellation so they can robustly cope with a lack of guaranteed quality of service. WebRTC enables applications such as voice calls, video chat, file sharing, messaging, white-boarding, gaming, human/computer interaction, etc. without any client or plug-in download to run from a browser using simple HTML and JavaScript APIs.

The main goal of WebRTC is not interoperability with legacy systems--that's up to the legacy systems to implement. It's to open communications to new use cases and to web developers. Imposing the complexity of SIP to web developers would have made it very hard to attract their interest. With the WebRTC spec, a great 1:1 video chat experience can be built with under 100 lines of JavaScript code (see apprtc.appspot.com).

On a couple of practical issues, WebRTC includes and abstracts key NAT (Network Address Translator) and firewall traversal technology such as STUN (Simple Traversal of User datagram protocol through Network address translators), ICE (Interactive Connectivity Establishment), TURN (Traversal Using Relay NAT), RTP-over-TCP (Real-time Transport Protocol over Transmission Control Protocol) and support for proxies, enabling sessions to work like Skype. It also abstracts signaling by offering a signaling state machine that maps directly to PeerConnection. The PeerConnection API is what browser vendors will implement and expose WebRTC to web application developers. Web developers can choose the communication signaling protocol depending on their usage scenario (for example, but not limited to: SIP, XMPP/Jingle, etc.). Essentially any browser becomes a SIP endpoint, a telephone, an "open" Skype-like client, an endpoint for any real-time communication and control.

On the current status of browser implementations:

* Google Chrome: integrated WebRTC into its developer channel in January 2012, allowing any website to take advantage of WebRTC. The Google Talk plugin is a complex piece of software. So Google is taking it one step at a time and not making promises about the migration of when Google Talk plugin will be migrated to the WebRTC framework.

* Mozilla Firefox: Mozilla integrated WebRTC into its Firefox alpha in early 2012, which gave the browser the ability to perform audio mixing on a media stream. In April 2012, Mozilla released a demo of WebRTC video calling that ran inside the Firefox browser.

* Internet Explorer: Microsoft has started work on implementation of WebRTC.

* By the end of this year we'll see Chrome and Firefox running WebRTC--that's over 50% of the desktop market. The other half of the market (mainly IE) will take a little longer, likely to the end of 2013. In the latter part of 2013, we may see WebRTC on the browsers of some tablets and possibly smartphones. But as discussed later in this article, most tablet and smartphone users appear comfortable in downloading applications (clients) to their phone.

Of course with any new technology there will be issues such as:

* We'll still likely have NAT and firewall issues, though about as often as we face them with Skype today;

* Will it be standardized enough? Will some of the proponents find ways to keep their islands and fragment the market? This issue significantly retarded instant messaging as the IM islands never really interworked (as discussed in this article);

* Will we need SBCs (Session Border Controllers) to handle all the communication connections?

* STUN and ICE can take time to set-up, so call set-up times could be longer than people are used to; and

* People change habits slowly; the communication experience has been fixed for many decades, so things will not change overnight just because a technology has become available.

Reviewing just a few of the many WebRTC innovations being launched:

* Asterisk/Digium (Open Source PBX) is free, open source software that makes it simple to create and deploy a wide range of telephony applications and services. Digium is adding WebRTC to the Asterisk project. This means that with a software update to your Asterisk PBX, your smartphones, tablets, laptops and desktops can become endpoints for all your PBX features and services.

* Bistri (Social Video): Video chat with fun video effects, take screenshots of calls, share them with friends or social networks. Bistri runs in the browser, so there's no need to install additional software or plugins.

* frisB (Free global calling) provides free global calling between any web browser and any phone (or web browser) with no downloads. Simply type in the number you want to call from the frisB screen in a browser that implements WebRTC--the service then calls your contact but does not connect, so a local number is available to call back in the contact's phone call history. The contact then calls back this local number; for the initial use case, the contact needs to know it's you that's calling using frisB. The frisB service then takes the contact's local call and directly connects it to you on the browser (wherever you may be in the world). It's a two-step connection process between a browser and a phone, but does work with any phone on the planet.

* Tenhands (Enterprise HD Video Collaboration) is a desktop HD video collaboration service, it's free and built for business needs. They're in the process of adding WebRTC to their service, so using their service does not require any download to a browser.

* Utribo (Software as a Service): "Connect" by Utribo is a service that enables subscribers to receive calls made in a web browser to their computer, phone, or PBX. Based on WebRTC, "Connect" provides voice and video calling capabilities.

* Voxeo Labs (Open source enabler for WebRTC services): Voxeo's Phono is a jQuery plug-in that turns any Web browser into a multichannel communications platform, capable of placing and receiving VoIP telephone calls from the browser, as well as handling real-time chat communications. jQuery is a cross-browser JavaScript library, so developers can do more and code less. Phono is a client-side solution and requires zero server-side logic on the part of a developer; all communication is handled by the Voxeo Cloud. Using the Phono plug-in, applications such as Your Second Phone have been created and are available in the Chrome Web Store.

* Vox.io is a simple service that lets you make voice and video calls straight from your browser. No downloads, installations or firewall configurations are required. Vox.io also offers chat (with in-line media, so your shared content loads right beside your conversation), history, SMS, and call options like Quick Call and Group Call. Previously they required a Flash plug-in to run from a web browser, but with WebRTC no download is required. They're available in the Chrome Web Store.

* Zingaya ("Call" button for websites) enables voice calls through any computer from a webpage. No download or phone is required. Zingaya offers this seamless voice calling capability to any website, whether it's a large e-commerce enterprise or a start-up. Simply embed a "Call" button into the website. Visitors can click that button and the call is forwarded to the website operator's preferred land-line or mobile phone. All that is required is a website; all the visitors need is a browser and microphone.

It's interesting to see the span of approaches, from enablers (Voxeo Labs), website call-now buttons (Zingaya), SaaS offers (Utribo), business HD video conferencing/collaboration (Tenhands), free global calling with any phone (FrisB, Vox.io), to social video chat (Bistri). This is just the tip of the iceberg of innovations.

A common theme is the claim of "no client download," which is correct, but I think the customer/end user value depends on the scenario. Today, people have no problem downloading apps if the service interests them (e.g. free video calling with family members); but for an enterprise, asking a customer to download an app just to talk with you will be considered insulting. There are some minor bugs--for example, if another browser is running Java (e.g. Internet Explorer) it can affect the microphone volume control. This sort of small problem is to be expected with such brand-new technology.

That's the capabilities, but the implications of having an open communications client on most browsers on the planet are much more interesting:

* Voice becomes just like all your other communications: organized into your preferred social or office tools.
* As long as you're data connected, communications is in the cloud. People need only break out to PSTN (Public Switched Telephone Network) when the other person is not data connected, or the call quality is too low due to their Internet connection. The PSTN becomes the communications path of last resort.
* The company's website now becomes its call center front end. A weblog becomes your personal communications assistant.
* Communication service aggregators save customers running multiple clients on their phone; these would run in the cloud and be controlled from the browser.
* Click to call doesn't require an operator's voice network, just access to the Internet.
* Communications becomes like using any application on a smartphone; users can add features or capabilities or people throughout a call; e.g., N-way calling finally becomes simple and obvious with a simple point and swipe.
* New CRM (Customer Relationship Management) methods: click from email, from webpage, from app, from TV. The ability to communicate becomes embedded in most transactions.
* QoS (Quality of Service) remains an issue, but as the people using Vonage and Skype over the years will attest, QoS is rarely an insurmountable obstacle.
* Your phone number is no longer relevant anymore. It's a gateway to the past. Customers will only know the PSTN is involved because of the poor audio quality.
* Directory services become critical sources of value in connecting all the different IDs: telephone numbers, SIP IDs (IDentifier), web session IDs, other OTT (Over The Top) IDs (e.g. Skype name), etc.
* All the OTT communication applications e.g. Viber/Skype/Whatsapp can now be used everywhere: on your PC, smartphone, tablet, and TV. Breaking free from the app store allows them to explore new business models, just like the Financial Times did in breaking free of the app store in using HTML5.
* The new communication services that telcos are building on top of RCS (Rich Communication Services) will need to interoperate with the WebRTC world; currently WebRTC is a closed book to RCS.
* VAS (Value Added Services) leaves telco. Any web developer can create new communication services that deliver value and solve problems for customers. It the customer who will decide.
* Advertising finally enters the communications space, opening up business model innovation.
* Gaming becomes even more interesting, as any connected device with a camera can become a controller using gesture controls, as well as the more traditional methods for network-based games.
* And the list goes on....