WebRTC: Real-Time Communication For The Internet Of Things
It's been predicted that the number of Internet of Things devices will reach nearly 21 billion by 2020. Their diversity is rapidly growing as industrial products, wearables, and smart household appliances continue to emerge. Data collection and communication capabilities of IoT products have created new ways for businesses to interact with their customers as well as get new sources of marketing data.
The next step is effective networking, and this is where WebRTC (Web Real-Time Communication) comes into play. It focuses on two-way audio and video communication in real time, secured with end-to-end encryption. These capabilities can be leveraged for communication between users of IoT devices.
What is WebRTC?
An open source project released by Google in 2011, WebRTC provides API-based communication between web browsers and mobile applications, including transmissions of audio, video, and data. Eliminating the need for native plugins and app installations, it makes these connections user-friendly and supported by all the major browsers and mobile operating systems.
The adoption of WebRTC in the tech community has grown dramatically in the past few years. Facebook, Amazon, and Google are among the major technology companies that implemented WebRTC to make their web applications faster, reliable, and more secure.
WebRTC features are also provided in off-the-shelf solutions that can be easily integrated with other software. A good example is OpenTok, a PaaS for live communications, courtesy of our business partners at TokBox. We successfully used it in a number of solutions for our clients, including an advanced authentication service based on biometric techniques.
How does WebRTC work?
The primary focus of WebRTC is to provide real-time audio and video communication between participants, who use web browsers to start conversations, locating each other and bypassing firewalls, if any.
• Send and receive streaming audio and video
• Retrieve network configuration data, e.g. IP addresses, application ports, firewalls, and NATs, which are needed to send and receive data to another client using the WebRTC API
• Open/close connections and report errors
• Transmit media data, e.g. image resolution and video codecs
To send and receive streams of data, WebRTC provides the following APIs that can be used in web applications:
• RTCPeerConnection for audio and video transmissions, encryption, and bandwidth configuration
• RTCDataChannel for transmission of generic data
• MediaStream for access to multimedia data streams from such devices as digital cameras, webcams, microphones, or shared desktops
A set of standards for use of WebRTC in software is currently developed by the Internet Engineering Task Force and the Web Real-Time Communications Working Group.
WebRTC and security
WebRTC in business
The worldwide market value of products using WebRTC was $10.7 billion in 2016. Future Market Insights predicted in 2015 that its market value would increase to nearly $23 billion in 2025. Analysts turned more optimistic about the future prospects of WebRTC when Microsoft Edge and iOS Safari 11 began supporting it in 2017.
In terms of global coverage, the WebRTC market spans across North America, Europe, Asia, the Middle East, South America, and Africa. North America took the lead among these regions in 2016 with more than a 40% share. It is expected to remain the dominant region owing to easy access to high-speed internet and the massive number of mobile device owners.
Services with audio and video calls are the primary type of applications that involve WebRTC technologies, the most famous examples being WhatsApp, Google Hangouts, and Facebook Messenger. Yet the highest demand for WebRTC is in real-time video applications. This segment of the market alone accounted for as much as 57% of the total by 2016 and is expected to continue to lead in the future, owing to the continued adoption of WebRTC for use in consumer messaging applications. The next segment to grow in the near future is data sharing.
The flexibility of WebRTC makes it suitable for use in a variety of business sectors. Companies can take advantage of its capabilities to improve their external and in-house communication software to provide real-time video conferencing or support.
Benefits of using WebRTC for the Internet of Things
Integration of WebRTC with the Internet of Things has its challenges. Devices come with varied requirements and capabilities that can make interoperability difficult. Cross-platform communication is generally a non-trivial task; however, without WebRTC it would become even less possible.
The current market of out-of-the-box WebRTC solutions is not rich yet. But the existing examples—such as the abovementioned OpenTok—can already boast a number of viable use cases. Any device with a browser is open to WebRTC connections, which are formed as direct encrypted pipes between peers, well-protected from outside intrusions.
The existing use cases for WebRTC can get really diverse, so we would limit ourselves to the most promising spheres: smart home, healthcare, wearable devices, and the industrial Internet of Things.
WebRTC for smart home
This is one of the most lucrative areas for WebRTC—and at the same time one of the most relevant IoT trends. For example, door intercom devices or smart mailboxes that utilize WebRTC for audio/video communication with web and mobile applications. In the former case, residents of smart homes are able to communicate with visitors, making sure no case of urgency remains unnoticed. In the latter case, residents of suburban areas, spending a significant part of the day commuting or at work, can unlock their smart mailboxes remotely in order to send and receive deliveries with the help of couriers at any time of day. We can also mention smart authentication solutions for secure access that involve WebRTC and Data Science-based face and voice recognition.
WebRTC in healthcare
The telehealth service market is expected to grow to $9.3 billion by 2021, and it has become a major sector for WebRTC. Its encryption of communications makes it attractive to healthcare providers because of their concern with safeguarding the personal health data of their patients. In the US, health data is protected on a legal level by HIPAA, and any corresponding software product must be compliant with its standards.
Real-time video feeds can be applied to such use cases as teleconferencing doctor-patient appointments, remote therapy sessions, group therapy teleconferences, clinical meetings, and remote observation of operating rooms. These cases have gained acceptance with many health insurance plans to reduce costs. A study conducted by Tokbox Live Video found that around 60% of people are likely to use live teleconferencing to talk to a doctor for non-emergencies. Mobile app stores already have about 500 telehealth applications that use WebRTC. Although it is not exactly an IoT case, it is undoubtedly worth mentioning.
As for more direct IoT development cases, we can mention smart bedside devices—such as vital sign monitors—that communicate with medical stations located at home, which help doctors check physical condition of their patients any time of day and night.
Industrial enterprises are rather conservative in terms of technology and innovation. However, the changing business landscape dictates the need for new solutions, which are slowly but steadily introduced by the leading businesses to their core systems.
As an example, we can name applications that trigger or enhance video feeds. A smart factory can use technology to monitor and direct automated processes with sensors. For example, if a thermostat reading indicates that a machine may overheat, it can trigger a video camera to monitor the machine remotely to check its physical condition in real time. Another case is remote support service that can use WebRTC-based video calls for urgent equipment troubleshooting purposes.
Developing WebRTC applications for your business
To sum things up, WebRTC offers a number of capabilities that enhance the development of IoT applications.
• High-definition video communication: WebRTC helps implement secure audio/video streaming between browsers, involving both audio and video.
• Mobile-to-mobile connections: Since mobile applications can use web interfaces, WebRTC is not limited to running on desktop web browsers; native libraries are available for Android and iOS.
• Machine-to-machine connections: when it comes to the Internet of Things, WebRTC can be integrated with smart devices to enable the required functionality.
• Messaging and file sharing: WebRTC establishes secure connections, shares data, and eliminates the need to store files in the cloud or data centers by delivering data directly.
• Phone-to-browser connections: WebRTC can create connections between Public Switched Telephone Network and browsers. HTML5 API and SIP Gateway are utilized to conduct calls from a single location.
About the Author
Serge Koba is the Lead Solution Architect at MobiDev. PhD in IT, 8 years of development experience in Web, Mobile, IoT and Blockchain. TechDay London attendee, speaker at Experts Day Conference and meetups. Active IoT blogger with a series of articles on Smart Home, custom IoT devices and robotics.
July 30, 2018
This demo project showcases the capabilities of blockchain technologies for the spheres of logistics, transportation, and... more →
July 24, 2018
Augmented reality is no longer a futuristic fantasy. It is here and now, a viable part of the consumer market, available for... more →
June 21, 2018
We can name two recent events that pretty much defined the future of augmented reality for the rest of this year. Our team... more →