This is a guest post from our friends at XBSoftware.
From time to time the new web technology that promises us a brave new world appears on the horizon. A list of innovations that such technology can offer may vary from the revolution in communication technology to simplifying the cross-browser apps development process. The reaction of developers and users in such cases ranges from cautious interest to explosive enthusiasm. Howbeit, only the time can tell if any broad perspective awaits another invention of human genius. In this article, we’ll take a look at a technology that allows developers and users to look at online chatting applications from a new angle. We’ll talk about WebRTC.
WebRTC means Web Real Time Communication. This technology supported by such companies as Google, Mozilla and Opera was designed for creation real-time communication apps for browsers, mobile devices and Internet of Things (IoT). The first implementation of this technology saw the world in 2011. To understand what path has been passed since then, you can check the following article that contains the stats collected by Google that represent the current state of WebRTC: WebRTC: One of 2016’s Biggest Technologies No One Has Heard Of. To save you some time we’ll present some excerpts from this text:
- Two billion Chrome browsers with WebRTC
- One billion WebRTC audio/video minutes per week on Chrome
- One Petabyte of DataChannel traffic per week on Chrome (0.1 percent of all web traffic)
- 1200 WebRTC-based companies and projects (it was 950 it June)
- Five billion mobile app downloads that include WebRTC
Everything looks impressive indeed. According to the Google Trends service, WebRTC is particularly popular in such countries as China, South Korea, Israel, Taiwan, etc. These guys surely know a lot about the rapid growth and keen interest in this technology from Chinese customers gives cause for reflection. Let’s take a look at WebRTC in more detail to understand better it’s distinctive features.
So, what’s the main issue that WebRTC helps to solve? Plenty of existing communication protocols has led to the diversity of chatting software. It’s always good when there is plenty to choose from. But the absence of the possibility to exchange texts and make video calls between the different apps may become a little bit annoying. You have to be sure that all the participants whether it be friends, relatives, or colleagues, have the same communication app as you. And you have to download and install a new version of this app every time a developer make some changes in communication protocols. Well, the WebRTC technology is the recipe that can save you from this headache.
The primary goal its developers was to enable real-time voice and video communication without using extra plugins and add-ons. All you need is your web browser. You can open a web app that works as a calling point and initiate the connection with your interlocutor. The recipient, in its turn, should have access to the website that works as end-point and accepts the call. No more downloading, installing and upgrading any third-party plugins. This annoying practice can nullify the pleasure of communicating.
To provide a user with rich and high-quality real-time communication apps WebRTC needs to do the following work:
- Get the access to the media stream (e.g. audio from your mic, or video from a webcam);
- Gather network information such as ports and IP addresses and exchange this info with other apps;
- Use signaling communication for error reporting. It is used for starting and finishing calls as well;
- Provide users with the possibility to exchange info about video resolution, codecs, etc.;
- Transfer audio, video, or any other data;
A developer can get access to WebRTC possibilities through simple Application Programming Interfaces (APIs). If you’re curious whether such apps can replace the “traditional” solutions such as Skype or not, you can check this YouTube video that describes the functionality of a WebRTC application.
At first sight, it may seem like WebRTC is more like a toy for geeks which cannot be used for creating business apps. But we can assure you that WebRTC developers are extremely serious about the security issues. Depending on the data type, WebRTC applications use the SRTP (Secure Real-time Transport Protocol) protocol for streams and DTLS (Datagram Transport Layer Security) protocol for other kinds of data. When you call someone and sell a request, SRTP’s work is to guarantee that the media channels are secured with the encryption keys. It guarantees data integrity as well. This protocol is used to confirm the authenticity of the message and protect its integrity. DTLS was created upon the stream-orientated TLS protocol. It guarantees full encryption with asymmetric cryptography methods, data authentication, and message authentication. According to the security standards, these protocols are enabled by default and all your data will be secured.
All your data can be transmitted via secured HTTPS connection. End-to-End Encryption (E2EE) between the peers works by default in all browsers that support WebRTC, so you can be sure that your peer-to-peer connection is safe.
The most exciting part about WebRTC is the possibility of its implementation in the world of Internet of things (IoT). The future where almost each and every thing that surrounds you can be embedded with electronics, software, sensors, actuators, and the network connection is already at your doorstep. Since any surface such as your kitchen table can be equipped with display and sensor and can run a web browser, why not turn this thing into the chatting devices?
Imagine an app that allows you to subscribe to the services of a chef-cook that will share his cooking advice through your fridge real-time. Looks pretty neat, huh? Such apps can also be pretty helpful for lonely elders or people with some form of dementia for whom constant conversation is important, but the use of a smartphone can be complicated. In any case, the possibility of using WebRTC is limited only by the fantasy of web developers.
Probably, WebRTC is not one of those technologies that everybody’s talking about. But despite this fact, a number of distinctive features make it worthy of attention. The relatively low cost of development and attention to the security issues might be interesting for business. Modern WebRTC developer companies are already able to develop secure communication apps which functionality allows replacing the existing solutions. An average user will be pleased by the possibility of using video chat application without installing additional plugins or applications. The future of technologies in the form of Internet of things will bring us new and unpredictable forms of communication. And WebRTC has all chances to play the leading role in this new world.