by Robert Fox
WebRTC (which stands for Web Real Time Communication) is one of those new terms you might have heard of, but you may be unsure as to its meaning.
Blogger Phil Edholm, of the blog "No Jitter", put it like this back in 2012: "Potentially, WebRTC and HTML5 could enable the same transformation for real-time communications that the original browser did for information."
Four years later, how far has it come, and how exactly does it work?
WebRTC is a technology that allows for real time communication to run natively between two web browsers, such as Chrome and Firefox.
Another way to put it would be to say that WebRTC is just a standard application programming interface (API) on top of a media engine, and its popularity is increasing, as you can see from the graphic to our right here.
If you are new to the concept of an API, or a media engine, and you're not sure what they do, here is a great video that will bring you up to speed on APIs and media engines, or at least give you a good idea how they work.
It is especially good to understand these two concepts, because they are integral to what makes WebRTC work, and why WebRTC is in fact a very promising prospect for home security enthusiasts, as you will soon see.
To recap here, an API is just a set of routines, or jobs, that get performed in order to make something work. The video compares it to a waiter at a restaurant, taking a customer's request for some dish to the chef, who then makes it, and then the waiter returns with the dish asked for by the customer. An API works behind the scenes, helping to make inter-connectivity possible.
In today's world, there are numerous API's at work all the time, but we don't really need to think about them, since most of us are not computer programmers or developers - we're the end users!
Another way to think about API's would be to compare them to our own body's internal functions. Our brain communicates with different parts of body, and vice versa, to make us be able to function in different ways. Our stomach wants food, tells your brain "Give me food!", and the brain says "Got you covered, I'll make the guy hungry and he'll want food." Maybe not the best analogy, but you get the idea (hopefully).
Speaking of APIs, WebRTC employs 3 API blocks that make it work.
PeerConnection - Does the bulk of the work, such as encoding and decoding media, then sends it over the network, takes care of NAT traversal, etc. Some say that PeerConnection API = WebRTC
DataChannel - Sends arbitrary data directly between browsers - flexible and low latency with multiple applications.
To recap, a media engine, such as the one we saw here with the Cisco International Media Engine, is, as he said "a secure inter-company rich voice and video call", which is meant to open up a world of possibilities in terms of how people and businesses communicate in a secure fashion. Security just happens to be one of the main features of WebRTC that makes it so appealing.
WebRTC, being a technology, is not a solution unto itself. It needs help in order to make things happen, like an app, or a browser like Firefox or Chrome, which are meant to use WebRTC.
In this diagram to the left, please note that 1-4 are signalling, whereas number 5 is when WebRTC kicks in, when the two browsers are officially "talking".
Luckily, WebRTC is an open source product ( click here to get started), meaning that developers are free to use this WebRTC technology, and the possibilities are endless. Like many technologies, WebRTC has been ramping up slowly and gaining traction as people find out about it.
FYI, there is also something called a VOIP, or Voice Over Internet Protocol, which is another means of sending data packets here and there, like WebRTC. There has been some confusion as to whether they are the same, and while they are quite similar in many ways, the differences between VOIPs and WebRTC are well-documented over here.
Let's talk about Skype for a second. Skype is a popular VOIP which has become very popular in the past 10 or so years, and it is generally known as the best peer-to-peer long distance communication method, as it is free to use if you sign up. At the time when Skype arrived on the scene, it was like a miracle. Free long distance video chatting? Yes, please! If you pay for Skype, you're generally getting a better deal than you would on your smartphone. Here's a great articleon how Skype works, if you want to brush up. We mention Skype here because it is significantly different from WebRTC in terms of security. Take a look at this great graphic from over at makeuseof.com, which will give you an idea what we're talking about.
We'll get back to the above table / graphic momentarily.
WebRTC was drafted by W3C, also known as the World Wide Web Consortium - the international standards organization for the web (like the online United Nations) - with the intention of having it be specifically open source, whereas VOIPs can be proprietary, like Skype. At the same, there are plenty of open source VOIP apps coming out all the time, so that's not the main difference between VOIPs and WebRTC.
The main difference between VOIPs and WebRTC has more to do with WebRTC being designed specifically for browser-to-browser interaction, which is huge, and also, there's the matter of secure signals. Just so you know, before WebRTC, there was no direct browser-to-browser data exchanges happening.
First, why is browser-to-browser interaction a big deal for WebRTC? Well, think of it this way. There's no middleman, for one thing. With things like Skype, and other apps, you don't get a high level of security. That means your signal could potentially be hacked, if it's not entirely secure.
With WebRTC, things are different. It is designed specifically with secure signals in mind (that's part of its M.O.), unlike most other video / chat methods that are available to use.
For real time data to be transferred via WebRTC, DTLS (Datagram Transport Layer Security) encryption must first take place. This was built into WebRTC from the start and is used in its three available browsers, Chrome, Firefox, and Opera. With this DTLS connection, there is simply no way for an outsider to hack it.
In addition, video and audio data is encrypted via the SRTP method (Secure Real-Time Protocol), in order to ensure that your voice and video traffic cannot be viewed by unauthorized parties.
In terms of real time communications, it could be said that WebRTC is the most secure way to experience such communications, and that lends itself to the realm of home security, as there are a growing number of smart home security measures being taken, such as smart cameras, locks, and many more ( visit our home page to read reviews of these products and their capabilities). Sadly, because there are often third party apps involved, the use of unsecure channels has exploded along with the number of smart devices.
Because smart home security is a relatively new concept, the general public is still basically wowed just by the existence of this type of smart technology, and not really questioning it beyond the fact that it seems to be secure enough. After all, who is going to go to all the trouble to hack into your home security system just to…well…rob you blind? We have one possible idea who might like to do it - thieves. As smart home security becomes more commonplace, everyone is going to get used to it and this includes the more unsavory elements of society, who could potentially hack into your system via an unsecure channel.
Here is one of those cameras, the Amaryllo iCam HD…
As you can see, this Amaryllo camera is a very distinctive-looking camera, with its almost childlike, Lego design.
So what of its WebRTC compatibility? In the video above, you can see they are promoting Skype as their VOIP interface, however it looks as though in the past year or so (2014-2015), they have adopted WebRTC compatibility through Google, although it isn't exactly clear from their website, amaryllo.eu, that this compatibility is actually in effect.
In any case, you can be sure that you will be hearing more about WebRTC as it pertains to home security applications, as WebRTC is reputed to be the most secure and also a much cheaper and faster alternative than, say, something like Skype.
Look to our website for more information about cameras and other devices that take advantage of WebRTC, as it definitely looks like it could be the next big thing in the years to come!
May 2011, Launched and then added to Chrome (didn't work flawlessly)
2012 - A "Lost Year", but still went from 0 to 100 vendors tinkering around with it
2013 - Firefox now on board, mobile / Android support
2014 - 3000 developers vs VOIP's 800,000 developers
As with most things, there's always more you can learn.
If you are interested in learning a few more things about WebRTC, we suggest taking a look at these three topics:
We've linked these keywords to relevant pages (above) to help you further educate yourself about WebRTC.
HTML5 Rocks - http://www.html5rocks.com/en/search?q=webrtc
WebRTC Hacks - http://webrtchacks.com/
Google Groups (discuss-webrtc) - https://groups.google.com/forum/#!forum/discuss-webrtc
About Robert Fox
Rob Fox is a former hydro worker, who used to teach self defence in Miami for 10 years. His hobbies include cribbage, golf, locksmithing, and cooking.