Apple WebRTC Won’t Happen Soon

29/10/2015

Don’t wait up for Apple to get you WebRTC in the near future.

Apple

Like many others, I’ve seen the minor twitter storm of our minuscule world of WebRTC. The one in which a screenshot of an official Apple job description had the word WebRTC on it. Amir Zmora does a good job of outlining what’s ahead of Apple with adding WebRTC. The thing he forgot to mention is when should we be expecting anything.

The below are generally guesses of mine. They are the roadmap I’d put for Apple if I were the one calling the shots.

When will we see an Apple WebRTC implementation?

Like anyone else, I am clueless to the inner workings of Apple. If the job postings tell us anything it is that Apple are just starting out. Based on my experience in implementations of media engines, the time it took Google, Mozilla and Microsoft to put a decent release out, I’d say:

We are at least 1 year away from a first, stable implementation

It takes time to implement WebRTC. And it needs to be done across a growing range of devices and hardware when it comes to the Apple ecosystem.

Where will we see an Apple WebRTC implementation?

Safari on Mac OS X. The next official release of it.

  • This one is the easiest to implement for with the least amount of headache and hardware variance
  • I am assuming iOS, iPhone and iPad get a lot more stress and focus in Apple, so getting something like WebRTC into them would be more challenging

The Safari browser on iPad and iPhone will come next. Appearing on iPhone 6 and onwards. Maybe iPhone 5, but I wouldn’t bet on it.

We will later see it supported in the iOS WebView support. Probably 9-12 months after the release of Safari on iOS.

The Apple TV would be left out of the WebRTC party. So will the Apple Watch.

Which Codecs will Apple be using?

H.264, AAC-ELD and G.711. Essentially, what they use in FaceTime with the addition of G.711 for interoperability.

  • Apple won’t care about media quality between Apple devices and the rest of the world, so doing Opus will be considered a waste of time – especially for a first release
  • H.264 and AAC-ELD is what you get in FaceTime today, so they just use it in WebRTC as well
  • G.711 will be added for good measures to get interoperability going
  • VP8 will be skipped. Microsoft is skipping it, and H.264 should be enough to support all browsers a year from now

Will they aim for ORTC or WebRTC APIs?

Apple sets its sights on Google. They now hold Microsoft as best-friends with the Office releasing on iOS.

On one hand, going with ORTC would be great:

  • Apple will interoperate with Microsoft Edge on the API and network level, with Chrome and Firefox on the network level only
  • Apple gets to poke a finger in Google’s eye

On the other hand, going with WebRTC might be better:

  • Safari tends to do any serious upgrades with new releases of the OS. Anything in-between is mostly security updates. This won’t work well with ORTC and will work better with WebRTC (WebRTC is expected to be finalized in a few months time – well ahead of the 1 year estimate I have for the Apple WebRTC implementation)
  • Microsoft Edge isn’t growing anywhere yet, so aligning with it instead of the majority of WebRTC enabled browsers might not make the impact that Apple can make (assuming they are serious about WebRTC and not just adding it as an afterthought)

Being adventurous, I’d go for ORTC if I were Apple. Vindictiveness goes a long way in decision making.

Extra

On launch day, I am sure that Bono will be available on stage with Tim Cook. They will promise a personal video call over WebRTC running in WebKit inside Safari to the first 10 people who stand in line in Australia to purchase the next iPhone.

And then again, I might be mistaken and tomorrow, WebRTC will be soft launched on the Mac. Just don’t build your strategy on it really happening.

 

So, where exactly is WebRTC available? Check out my free WebRTC Device Cheat Sheet.

Responses

Philipp Hancke says:
October 29, 2015

If you were product manager and I were tech lead, I would do the following:
– listen to you with respect to supported platforms for the first iteration
– not use the media/networking engine powering facetime. The amount of changes required to remove the facetime tuning is too big and we would decide we do not want to risk breaking facetime.
– instead, we fork webrtc.org, remove VP8 and VP9. Remove all the ios stuff just because. Add this to the license notice but never contribute back the great hardware-accelerated H264 and H265 code. That way, wire-level interop will be less of a headache. And we’re not interested in WebRTC interoperating with Facetime anyway, right?
– ORTC vs PeerConnection… much as we like Microsoft, we’ll use that PeerConnection-shim for interoperating with Edge. We will consider ORTC for the next iteration when we implement multiple streams but we’re not really interested in that just yet.

Sounds like a plan?

Reply

Comment