Blog: WebRTC Mobile

WebRTC is an open-source project that enables plugin-free communication between devices. Much of excitement for WebRTC comes from it making direct communication between browsers a reality.

WebRTC mobile

However, there’s more to it than just convenient browser conversation. Today, we will delve into the mobile side of WebRTC.

Contrary to popular belief, WebRTC is a peer-to-peer, not browser-to-browser, technology: the browser realm is not the only thing is could be great at. Thanks to its portability and compatibility, it could be embedded into many kinds of devices for communication purposes.

Does the mobile industry need WebRTC?

At first glance, it would not seem to be the case. “Why have something like Web RTC when you already have voice- and video-based chats, which are not so difficult to navigate?” one might ask. If we take a closer look, we will find how fundamentally changing this can be.

First and foremost, the technology is open-source and free. The developers are no longer bound by proprietary standards, licenses, and vendor-tied software.

Second, WebRTC introduces video and audio calling to a broader audience. Up until its introduction, the knowledge of real-time media processing was reserved to a few companies who specialized in it. With WebRTC, the entry barriers are lowered.

Finally, WebRTC comes with an open-sourced codec that is superior in quality to all of its predecessors’: OPUS.

Opus vs other audio codes

 

The prospects for the mobile market

The potential here is immense. Currently, there are not many applications whose idea is not centered around communications that provide real time voice and video calls. Potentially almost every installed app regardless of its functions could have the ability for users and staff to communicate.

For example, adding voice or video capability for contacting a support center of an app that sales goods would allow a user to reach a customer service representative for a more personalized support and eliminate the need for third party support software. This could save the resources needed for other projects.

Source: Disruptive analysis Q1 2015 WebRTC Report Update

WebRTC support is predicted to rapidly rise in upcoming years

Ways of using Web RTC on mobile devices

For mobile market, things get more complicated than for the web in terms of implementation – the support of WebRTC is less widespread. There are currently 3 ways for running it on mobile devices:

  • Browsers: On Android, WebRTC is supported by Firefox, Opera and Chrome. Conversely, on IOS, none of these browsers can use WebRTC as of yet. The only solution is to use an open source browser called Bowser developed by Ericsson.
  • Hybrid App: Another option is to develop a hybrid app leveraging the WebView class, which now supports WebRTC. Unfortunately, it has no support in IOS.
  • Native App: The good news is, natively, both IOS and Android support WebRTC code. The developer may either take Google’s or Ericsson’s implementation, compile in accordance with the OS and proceed with the development.

 

Alternatively, one could use a WebRTC-based SDK and develop with it, allowing to focus more resources on app building. That said, an SDK itself may come with a number of limitations and may not necessarily be free, so one would need to consider if the trade-off is worth it.

Ways to run WebRTC on mobile

What are the challenges?

At this stage, cross-platform support leaves a lot to be desired. That being said, the technology is still in its early stage and the extension of support is expected in the future. Let’s look at some additional hurdles:

  • Batter consumption: Another aspect to take into account that is not considered for Web is the batter of a device. It’s crucial to monitor how much battery video calls are consuming as it can be a deciding factor in consumers’ decision whether to keep or delete the app. That said, there are ways to optimize it, which will discuss in upcoming articles.
  • Display: Mobile devices’ display is not as static as computers’ display can change depending on a number of factors – it can change orientation, is susceptible to light – more so than a computer’s display and.
  • Hardware specification: CPU, audio, camera resolution and a great number of similar factors influence how the user will experience the WebRTC. All these specs may greatly vary between OS and device manufacturers.
  • Connectivity issues: Mobile connection are known to be less stable so the developer would have to approach the possible worst case scenarios not experienced elsewhere.

Even though the specification for it is not yet finalized, WebRTC is being endorsed by various popular services like Google Hangouts and Facebook Messenger and the numbers are only expected to grow. With the ever-growing number of products providing real-time communications, WebRTC, being a novelty it is now, will continuously rise in popularity eventually becoming a norm expected by customers.

We have already begun conducting our own experiments with WebRTC. Some of our results you are welcome to review in this video:

 

 

If you’re interested in more existing products from our team, please visit our portfolio