How WebRTC Has Changed Web Communication
Read on to learn some statistics behind the web communications platforms, and the potential uses it holds for web developers.
Join the DZone community and get the full member experience.Join For Free
From time to time, a 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 a revolution in communication technology to simplifying the cross-browser app development process. The reaction of developers and users in such cases ranges from cautious interest to explosive enthusiasm. Only 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 creating real-time communication apps for browsers, mobile devices, and the Internet of Things (IoT). The world saw the first implementation of this technology in 2011. To understand what path it has taken since then, you can check this article, which contains the stats collected by Google that represent the current state of WebRTC. 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 2016).
- 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, and Taiwan. These guys surely know a lot about the rapid growth, and a keen interest in this technology from Chinese customers gives cause for reflection. Let’s take a look at WebRTC in more detail to better understand its distinctive features.
Real-Time Communications and the Price That We Have to Pay for It
So, what’s the main issue that WebRTC helps to solve? Plenty of existing communication protocols have led to the diversity of chatting software. It’s always good when there is plenty to choose from. However, the absence of the possibility to exchange texts and make video calls between 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 makes some changes in communication protocols. Well, the WebRTC technology is the recipe that can save you from this headache.
The primary goal of 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 turn, should have access to the website that works as an 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.
How WebRTC Works: The Basics
To provide a user with rich and high-quality real-time communication apps, WebRTC needs to do the following work:
- Get 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, 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 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 SRTP (Secure Real-time Transport Protocol) for streams and the 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 peers works by default in all browsers that support WebRTC, so you can be sure that your peer-to-peer connection is safe.
WebRTC Future Perspectives
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 device 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 these things into chatting devices?
Imagine an app that allows you to subscribe to the services of a chef that will share his cooking advice through your fridge in real-time. Sounds 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.
WebRTC is not one of those technologies that everybody’s talking about. 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 a 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 the chance to play a leading role in this new world.
Published at DZone with permission of Aleksandra Dikusar. See the original article here.
Opinions expressed by DZone contributors are their own.
How to Use an Anti-Corruption Layer Pattern for Improved Microservices Communication
Five Java Books Beginners and Professionals Should Read
TDD vs. BDD: Choosing The Suitable Framework
A Complete Guide to Agile Software Development