Sunday, 6 October 2013

View from kriswiz -- WebRTC -- Technology

I have probably read a 100 articles on WebRTC. And everyone has something different to say. So this is my view.

First for all, for the people who don't know what is WebRTC. Well this is the standard definition --

"WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple JavaScript APIs. The WebRTC components have been optimized to best serve this purpose."

Basically it converts your normal browser (the one your using to read this article right now) into your very own phone without having to download anything. Now you may ask me, " Yeah right. But I do have to download plug-ins, right?" and you know what i would say zilch...nahh...none!! Plugins can be difficult to deploy, debug, troubleshoot, test and maintain—and may require licensing and integration with complex, expensive technology.

WebRTC is a set of javascript APIs you can use to create your very own "app" (going by the trend now-a-days) which will run on your browser and make audio/video calls. You may not need to make an entire App, it can be incorporated as a component in your website so that interested users can contact you easily. This can run on any OS which has a browser installed (Windows, IOS, Android you name it). And you can easily interop between any browser.

WebRTC uses VP8 video codec and opus audio codec (works with PCMA/PCMU as well). And all your RTP flowing during the call is encrypted (yeah baby SRTP with DTLS). Also if you have a firewall then there is STUN, TURN and ICE used to go through it.

Currently Firefox and Chrome support WebRTC and so does opera (I haven't tried it on opera yet though). But it is still picking up so probably in the near future it will be supported by all the browsers (hopefully by IE too). Two groups, the Web Real-Time Communications Working Group and the Internet Engineering Task Force (IEFT), are currently working on standards for WebRTC.

So the next time you go to a company's website and you want to speak to the customer representative just click on the click-to-call button and voila you are instantly connected. The call no longer needs to route through the phone system, so calls could require fewer hops.

I will end this post by leaving you with some quotes--
WebRTC is a new front in the long war for an open and unencumbered web.
— Brendan Eich, inventor of JavaScript
We can’t wait to see what cool new experiences leveraging WebRTC that developers will create.
— Maire Reavy, Senior Engineering Manager, WebRTC
pssstt.....WebRTC can also be connected to a legacy system (PSTN or IMS). But more on that later.