---
title: The worst part of building WebRTC mobile apps – WebRTC.ventures
description: Software development is hard, especially when you are working with a cutting edge technology like WebRTC. Of course, that’s what makes it exciting too! WebRTC enables video chat in browsers and mobile devices As you may already know, WebRTC is an HTML5 standard for building peer-to-peer video […]
image: https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/MobileWebRTC2.png
---

[Skip to content](https://blog.webrtc.ventures/2015/12/worst-part-of-webrtc-mobile-apps#main-content)

![WebRTC.ventures](https://blog.webrtc.ventures/hubfs/logo-main-light.svg)

- [WebRTC Services](https://webrtc.ventures/webrtc-development-services/)
  
  Show submenu for WebRTC Services 
  
    - [Assess](https://webrtc.ventures/services/assess/)
    - [Build](https://webrtc.ventures/services/build/)
    - [Integrate](https://webrtc.ventures/services/integrate/)
    - [Test](https://webrtc.ventures/services/test/)
    - [Manage](https://webrtc.ventures/services/manage/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
- Our Partners
  
  Show submenu for Our Partners 
  
    - [Amazon Chime SDK](https://webrtc.ventures/partners/amazon-chime-sdk/)
- Stories of Success
  
  Show submenu for Stories of Success 
  
    - [Remote Video Interpreting Platform with Agent Routing](https://webrtc.ventures/successes/remote-video-translation-platform/)
    - [WebRTC to SIP Gateway for ASL Interpreters](https://webrtc.ventures/successes/webrtc-to-sip-gateway-for-asl-interpreters/)
    - [Audio Listening Device to Improve Surgical Outcomes](https://webrtc.ventures/successes/audio-listening-device-to-improve-surgical-outcomes/)
    - [Albania’s First Telemedicine Platform](https://webrtc.ventures/successes/albanias-first-telemedicine-platform/)
    - [Automated Video Storytelling with the Amazon Chime SDK](https://webrtc.ventures/successes/automated-video-storytelling-with-the-amazon-chime-sdk/)
    - [Large Scale Video Conferencing](https://webrtc.ventures/successes/large-scale-video-conferencing/)
    - [Broadcasting and Webcast Control Room](https://webrtc.ventures/successes/live-video-broadcasting-and-webcast-control-room/)
- WebRTC Resources
  
  Show submenu for WebRTC Resources 
  
    - [WebRTC Live](https://webrtc.ventures/webrtc-live/)
    - [WebRTC Tips](https://www.youtube.com/playlist?list=PLayYqdnyegt3QvxX-Rt6wbFIK8727Z5Oz)
    - [WebRTC.ventures Blog](https://webrtc.ventures/blog/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
    - [WebRTC.ventures Training Program](https://webrtc.ventures/webrtc-ventures-training-program/)
- [About Us](https://webrtc.ventures/our-team/)
  
  Show submenu for About Us 
  
    - [Blog](https://webrtc.ventures/blog/)
    - [Our Team](https://webrtc.ventures/our-team/)
    - [Jobs](https://webrtc.ventures/jobs/)

Open main navigation

Close main navigation

- [WebRTC Services](https://webrtc.ventures/webrtc-development-services/)
  
  Show submenu for WebRTC Services 
  
    - [Assess](https://webrtc.ventures/services/assess/)
    - [Build](https://webrtc.ventures/services/build/)
    - [Integrate](https://webrtc.ventures/services/integrate/)
    - [Test](https://webrtc.ventures/services/test/)
    - [Manage](https://webrtc.ventures/services/manage/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
- Our Partners
  
  Show submenu for Our Partners 
  
    - [Amazon Chime SDK](https://webrtc.ventures/partners/amazon-chime-sdk/)
- Stories of Success
  
  Show submenu for Stories of Success 
  
    - [Remote Video Interpreting Platform with Agent Routing](https://webrtc.ventures/successes/remote-video-translation-platform/)
    - [WebRTC to SIP Gateway for ASL Interpreters](https://webrtc.ventures/successes/webrtc-to-sip-gateway-for-asl-interpreters/)
    - [Audio Listening Device to Improve Surgical Outcomes](https://webrtc.ventures/successes/audio-listening-device-to-improve-surgical-outcomes/)
    - [Albania’s First Telemedicine Platform](https://webrtc.ventures/successes/albanias-first-telemedicine-platform/)
    - [Automated Video Storytelling with the Amazon Chime SDK](https://webrtc.ventures/successes/automated-video-storytelling-with-the-amazon-chime-sdk/)
    - [Large Scale Video Conferencing](https://webrtc.ventures/successes/large-scale-video-conferencing/)
    - [Broadcasting and Webcast Control Room](https://webrtc.ventures/successes/live-video-broadcasting-and-webcast-control-room/)
- WebRTC Resources
  
  Show submenu for WebRTC Resources 
  
    - [WebRTC Live](https://webrtc.ventures/webrtc-live/)
    - [WebRTC Tips](https://www.youtube.com/playlist?list=PLayYqdnyegt3QvxX-Rt6wbFIK8727Z5Oz)
    - [WebRTC.ventures Blog](https://webrtc.ventures/blog/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
    - [WebRTC.ventures Training Program](https://webrtc.ventures/webrtc-ventures-training-program/)
- [About Us](https://webrtc.ventures/our-team/)
  
  Show submenu for About Us 
  
    - [Blog](https://webrtc.ventures/blog/)
    - [Our Team](https://webrtc.ventures/our-team/)
    - [Jobs](https://webrtc.ventures/jobs/)
- [Contact us](https://webrtc.ventures/contact/)

[Contact us](https://webrtc.ventures/contact/)

 Dec 10, 2015 12:00:00 AM

# The worst part of building WebRTC mobile apps

[ArinSime](https://blog.webrtc.ventures/author/arinsime)

Share: [linkedin-in icon](http://www.linkedin.com/shareArticle?mini=true&url=https://blog.webrtc.ventures/2015/12/worst-part-of-webrtc-mobile-apps) [X Twitter icon](https://twitter.com/intent/tweet?url=https://blog.webrtc.ventures/2015/12/worst-part-of-webrtc-mobile-apps) [envelope icon](mailto:?body=https://blog.webrtc.ventures/2015/12/worst-part-of-webrtc-mobile-apps)

Software development is hard, especially when you are working with a cutting edge technology like **WebRTC**. Of course, that’s what makes it exciting too!

## WebRTC enables video chat in browsers and mobile devices

As you may already know, **WebRTC is an HTML5 standard for building peer-to-peer video chat applications in the browser**. The key phrase to notice in this case is **HTML5**.

[![Core WebRTC Architecture](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/Slide07-300x188-3.jpg?width=300&height=188&name=Slide07-300x188-3.jpg) ![Core WebRTC Architecture](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/Slide07-300x188-3.jpg?width=300&height=188&name=Slide07-300x188-3.jpg)](https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/Slide07-4.jpg)

HTML5 is the latest generation of markup language for browsers, but not all of its functionality works in mobile browsers, and therein lies the challenge of building WebRTC applications to be used on mobile devices.

## WebRTC support is more limited on mobile devices

WebRTC is always implemented first with **Chrome** and **Firefox** browsers in mind, since they are the leading edge browsers adopting WebRTC. Microsoft’s **Internet Explorer** and Apple’s **Safari** browsers are not in the game yet.

[![Negatives of WebRTC applications](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/Slide14-300x188-2.jpg?width=300&height=188&name=Slide14-300x188-2.jpg) ![Negatives of WebRTC applications](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/Slide14-300x188-2.jpg?width=300&height=188&name=Slide14-300x188-2.jpg)](https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/Slide14-3.jpg)

On mobile devices, only **Android devices support WebRTC in the browser**. On iOS, there is absolutely no mobile browser support.

All that means that **when building a WebRTC based service, you need to consider a native mobile application strategy, especially for iOS.**

## A simple demo of cross-platform WebRTC on mobile devices

Our team at WebRTC.ventures has built a number of mobile applications utilizing WebRTC, as the demo video below shows. In this video, we demonstrate a simple **video chat between a user on iOS and another user on Android**, using the [OpenTok SDK for mobile development](https://tokbox.com/platform/mobile). This demo does not include a completed UI, it is a technical prototype only.

[OpenTok Mobile SDK demo](https://vimeo.com/141577383) from [arinsime](https://vimeo.com/user24916355) on [Vimeo](https://vimeo.com).

## Selecting a mobile SDK for WebRTC applications

There are two basic paths to go for **WebRTC mobile development**. Either you use a low level WebRTC library or compilation and **implement WebRTC on the mobile device yourself**, or you **use a commercial SDK**.

The homegrown approach is necessary sometimes – for example we recently did a project combining **WebRTC with Google Glass**, and it was necessary to compile our own WebRTC installation with slight customizations in order to have the application work as desired. This is a time consuming and costly approach though, and so we only recommend it if you need that low level granular control.

**The safer approach is to use a commercial SDK, such as the OpenTok SDK from TokBox**. This is our favorite way to do it because it allows our team to be much more productive. The OpenTok platform handles the complicated signaling process to establish a call, and we don’t have to worry about the lower level functionality for controlling video and audio on the device. The SDK gives us functionality that is similar to building a browser based WebRTC app and speeds up development.

There are a number of commercial SDK’s out there. The key is to pick one that meets your functionality needs, has a reliable platform and company behind it, and provides support for Web, iOS and Android all in one. For us, **TokBox** meets all those criteria.

## The worst part of building a WebRTC based mobile application

So if SDK’s abstract out the hardest part of coding a mobile WebRTC app, what’s left as the worst part of building mobile video chat apps?

The answer is **testing**.

[![Testing a WebRTC video chat on mobile devices](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/WebRTCTesting-300x225.jpg?width=300&height=225&name=WebRTCTesting-300x225.jpg) ![Testing a WebRTC video chat on mobile devices](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/WebRTCTesting-300x225.jpg?width=300&height=225&name=WebRTCTesting-300x225.jpg)](https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/WebRTCTesting-1.jpg)

Testing mobile apps is always complicated since you need to consider a lot of different factors.

Common challenges when testing a WebRTC mobile app are:

- **Small visual layouts**: This is not so bad in 1-1 video chat, because you just maximize the video area of the person you are talking to, and keep your preview window small. But with a larger group video conversation, it’s hard to balance video quality with a nice layout on a small device.
- **Multiple visual layouts/resolutions**: The nemesis of any mobile developer is making sure their app looks good on a wide variety of devices, orientations, and layouts. This is also true with a WebRTC video chat app. This probably means you need to have the most popular physical devices on hand so you can test in person. Simulators help, but don’t substitute well for the real device when testing video chat.
- **Connection reliability**: The hardest thing about WebRTC in general is dealing with poor network connectivity. There’s simply not much you can do about it, although [TokBok has a library to help you test network speed](https://webrtc.ventures/2015/09/webrtc-precall-api-tokbox/). Bandwidth constraints are often more prevalent on mobile devices.

## The best way to test a mobile WebRTC application

Although tools like [TestRTC](http://testrtc.com/) go a long way towards helping test browser based WebRTC applications, the best way to test mobile apps is still by hand. Hiring an [experienced team of WebRTC developers](https://webrtc.ventures/our-team/) is also a huge help, since our team already knows the types of problems to expect and common ways to address them.

Beyond that, just leave some room in your budget to buy some extra devices for testing, and [Contact us about your WebRTC product](https://webrtc.ventures/contact/) if we can help!

[![Testing a WebRTC video chat on a mobile phone](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/MobileWebRTC.png?width=564&height=303&name=MobileWebRTC.png) ![Testing a WebRTC video chat on a mobile phone](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/MobileWebRTC.png?width=564&height=303&name=MobileWebRTC.png)](https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/MobileWebRTC.png)

Is there a different aspect of WebRTC development that you think is harder than testing? Let us know!

[CPaaS](https://blog.webrtc.ventures/tag/cpaas), [Managed Services](https://blog.webrtc.ventures/tag/managed-services), [Events](https://blog.webrtc.ventures/tag/events), [Video Conferencing](https://blog.webrtc.ventures/tag/video-conferencing), [Real Time Weekly](https://blog.webrtc.ventures/tag/real-time-weekly), [WebRTC Architecture](https://blog.webrtc.ventures/tag/webrtc-architecture), [Broadcasting](https://blog.webrtc.ventures/tag/broadcasting), [Medical](https://blog.webrtc.ventures/tag/medical), [WebRTC Live](https://blog.webrtc.ventures/tag/webrtc-live), [Showcase](https://blog.webrtc.ventures/tag/showcase), [Thoughts](https://blog.webrtc.ventures/tag/thoughts), [Vonage](https://blog.webrtc.ventures/tag/vonage), [Daily](https://blog.webrtc.ventures/tag/daily), [Jobs](https://blog.webrtc.ventures/tag/jobs), [Contact Centers](https://blog.webrtc.ventures/tag/contact-centers), [Telehealth](https://blog.webrtc.ventures/tag/telehealth), [Education](https://blog.webrtc.ventures/tag/education), [Technical](https://blog.webrtc.ventures/tag/technical), [General](https://blog.webrtc.ventures/tag/general), [Story of success](https://blog.webrtc.ventures/tag/story-of-success), [The WebRTC.ventures Blog](https://blog.webrtc.ventures/tag/the-webrtc-ventures-blog), [Testing](https://blog.webrtc.ventures/tag/testing), [Gaming](https://blog.webrtc.ventures/tag/gaming), [DevOps](https://blog.webrtc.ventures/tag/devops), [Symbl.ai](https://blog.webrtc.ventures/tag/symbl-ai)

## Related posts

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/IoT_WebRTC_sensors.png?height=200&name=IoT_WebRTC_sensors.png)](https://blog.webrtc.ventures/2015/12/webrtc-and-iot-sensors)

## [WebRTC and IoT Sensors](https://blog.webrtc.ventures/2015/12/webrtc-and-iot-sensors)

[ArinSime](https://blog.webrtc.ventures/author/arinsime) 

 Dec 16, 2015 12:00:00 AM

WebRTC is not just video – it’s Data too! WebRTC is not just about video chat, although that is...

[Read more](https://blog.webrtc.ventures/2015/12/webrtc-and-iot-sensors)

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/What-is-WebRTC_.png?height=200&name=What-is-WebRTC_.png)](https://blog.webrtc.ventures/2021/01/what-is-webrtc)

## [What is WebRTC?](https://blog.webrtc.ventures/2021/01/what-is-webrtc)

![Picture of Jen Oppenheimer](https://blog.webrtc.ventures/hs-fs/hubfs/Our-Team-Jen.jpg?width=50&name=Our-Team-Jen.jpg) [Jen Oppenheimer](https://blog.webrtc.ventures/author/jen-oppenheimer) 

 Jan 1, 2021 12:00:00 AM

Let’s talk about the very basics of what WebRTC is and when and why we might use it.

[Read more](https://blog.webrtc.ventures/2021/01/what-is-webrtc)

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/Screen-Shot-2019-08-23-at-9_11_21-AM.png?height=200&name=Screen-Shot-2019-08-23-at-9_11_21-AM.png)](https://blog.webrtc.ventures/2019/08/press-release-webrtc-ventures-re-launches-the-webrtc-standards-webinar-series)

## [PRESS RELEASE: WebRTC.ventures re-launches the WebRTC Standards webinar series](https://blog.webrtc.ventures/2019/08/press-release-webrtc-ventures-re-launches-the-webrtc-standards-webinar-series)

[webrtc](https://blog.webrtc.ventures/author/webrtc) 

 Aug 26, 2019 12:00:00 AM

WebRTC.ventures re-launches the WebRTC Standards webinar series Monday, August 26, 2019 |...

[Read more](https://blog.webrtc.ventures/2019/08/press-release-webrtc-ventures-re-launches-the-webrtc-standards-webinar-series)

### WebRTC.Ventures Services

...

- Assess
- Build
- Integrate
- Test
- Deploy & Manage

### Contact Us

...

**Video should be an opportunity, not a headache.**   
 We’re here to build, integrate, assess and optimize, test, and even deploy and manage your live video application. 

[Contact us](https://blog.webrtc.ventures/2015/12/worst-part-of-webrtc-mobile-apps#contact)

### WebRTC Live

...

 View [past episodes](https://blog.webrtc.ventures/webrtc-live/) of our webinar interview series about the latest webRTC use cases and technical updates. Join our mailing list to learn about upcoming episodes! 

![WebRTC Live](https://blog.webrtc.ventures/hs-fs/hubfs/Template%20Images/widged-bannet.webp?height=90&name=widged-bannet.webp)

![logo-main-light](https://blog.webrtc.ventures/hubfs/logo-main-light.svg "logo-main-light")

We’re one of the few agencies in the world dedicated to WebRTC development. This dedication and experience is why so many people trust us to help bring live video application dreams to life.

 

### Let's get started!

###### **[Contact us today](https://webrtc.ventures/contact/)**

**[info@webrtc.ventures](mailto:info@webrtc.ventures)**

<https://www.linkedin.com/company/webrtc-ventures> <https://www.youtube.com/@WebrtcVentures>

### Join our mailing list

We don't e-mail often (a few times a month max), and it will be worth it when we do! Of course, we respect your privacy and will not share your contact information.

© 2023 WebRTC.ventures, an [AgilityFeat](https://agilityfeat.com/) company / [Privacy Policy](https://webrtc.ventures/privacy-policy//)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "ArinSime",
    "url" : "https://blog.webrtc.ventures/author/arinsime"
  },
  "dateModified" : "2024-04-03T18:50:44.077Z",
  "datePublished" : "2015-12-10T05:00:00.000Z",
  "headline" : "The worst part of building WebRTC mobile apps – WebRTC.ventures",
  "image" : [ "https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/MobileWebRTC2.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.webrtc.ventures/2015/12/worst-part-of-webrtc-mobile-apps",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.webrtc.ventures/hubfs/logo-main-light.svg"
    }
  }
}
```