Chris Kranky

Recent Posts

When Apple supports WebRTC, then what?

Think about the renewed possibilities for casual WebRTC-enabled applications

Chris KoehnckeChris Koehncke


Update: I wrote this original article in April. On June 5th @ WWDC Apple indicated support for WebRTC on iOS 11. Expected this to be released last 3Q early 4Q 2017.

Whether your browser supports WebRTC on the desktop has become somewhat of a moot point. Just download Chrome and you’re done.¬†Odds are though, you are using Chrome or have it already downloaded.

Chrome has obliterated all its competition with +50% worldwide market share. The others fade like vintage film stock. I’ve been waiting so long for Microsoft to get their WebRTC act together I”m starting to believe in Santa Claus again. On Mac, Safari users are smart enough to have already downloaded Chrome. Game, set, match.

download (21)

One year global trend (source:

But on a mobile device, things aren’t so clean. While you can wrap WebRTC into into your app for iOS, it’s not native. For the other ~ 82% of the world who are using Android, you can build a native web app with WebRTC. Unfortunately iOS has whopping 43% market share in the US and you can’t ignore that. Thus the lack of native WebRTC on iOS has been a show stopper for trying to deploy a browser base communications applications on any mobile platform. The math doesn’t work.

Last April, Apple quietly flipped the switch and said that WebRTC was “in development” for Webkit (the engine for Safari on both desktop and mobile). Apple is always super secretive about everything (just ask them what kind of soup they’re serving in the cafeteria today). But they hired some WebRTC resources, attended a few industry gatherings. If there’s smoke, there’s fire. Something was going on.

This is significant as it would mean you can deploy a mobile-centric web-based app with a WebRTC component and be nearly assured it would work on any mobile phone.

Let me make a few predictions

iOS will natively support WebRTC by the end of 2017
Apple has been fiddling with WebRTC for 18 months and nearly anything can be built in that time frame. So 4Q 2017 sounds about right to me. I’ll be surprised if it’s much longer.

WebRTC will find renewed growth with the addition of iOS
With native iOS support it will be much easier to support casual 1-off communications on your mobile. Need to join a conference call? Send me a link and I can join without any hassle of downloading an app I might use only once. Developers won’t need to worry about what mobile OS we’re on.

Another example is in the consumer field of customer support. Say you bought some widget and can’t figure out how to set up. You’re already in a bad mood when you decide to call the support center. The odds of you downloading and setting up some app to help the support desk “see what you see” and maintaining a decent mood is zero. I’m in a bad mood just thinking about this.

However, if you simply need to click a link. Launch my browser. Well, OK you can take a look. I expect casual customer support apps that need video to have an uptick.

FaceTime will support multi-party video
With multiparty being defacto. Facetime is looking a bit elderly. Thus it makes sense for FaceTime to support this. Bonus points if they do something fancy with it.

Facetime 3rd party API
iMessage has been gingerly embracing an API so it seems natural for us to assume FaceTime would be next. I don’t see it for the moment, what would Apple gain? We witnessed Google shutting down the Hangouts API, so video is perhaps not the first place to start.

Apple has a long history of going against the crowd. But this time I think their WebRTC implementation might just be follow “whatever Google is doing.” While there may be some work for the adapter.js to ‘adapt’, I’m betting it will be minor. This is good news, it means a web WebRTC enabled page should work on iOS out of the box.

So assume Apple has WebRTC, it’s no longer a dream, you should think about the new possibilities that open up once you no longer have to worry about whether the end user has the app installed or correct browser.