No need for the Hubble Telescope to find traces of WebRTC in Apple
Support for WebRTC in Apple products is a major missing piece in making WebRTC ubiquitous. It is missing in Safari on Mac but there, users can use Chrome or Firefox.
The bigger problem is on mobile. Mobile safari does not support WebRTC. App store rules also force developers to use Apple’s provided WebView, which does not support WebRTC today, to render any webpage. That includes Chrome on iOs, which is basically a wrapper around WKWebview
The only real viable option for using WebRTC in iOS is through Native Apps where the developer needs to compile it into his Native App or use 3rd party frameworks that support WebRTC.
The requirement is to have support for WebRTC in Safari on all devices and in the WKWebView object so developers will be able to include it in their hybrid application and through that have support for WebRTC in an easy way (same as can be done on Android today).
There have been several posts and social media vibe about Apple’s work on WebRTC. Tsahi Levent-Levi has related to my previous post about it and Dr. Alexandre Gouaillard wrote his piece about this topic of word towards having WebRTC in Safari back in August.
Following my last post I had some discussions with Alex on the topic. Among other things, Alex is one of the leaders and founders of the Webrtc-in-WebKit project and therefore has some interesting information about Apple’s work with regards to WebRTC in Safari and generally in their products.
Here is some additional information I believe people will find very interesting.
Relationship between WebRTC-inWebKit and Apple’s implementation
Apple is not part of this project and had nothing to do with its foundation. The idea of adding WebRTC to WebKit was brought up a log time ago, and actually, before the WebCore / blink split, apple was working alongside the Google developers to bring WebRTC in.
Stefan Hakansson and Adam Bergkvist, both Ericsson R&D and members of the W3C WebRTC working group were the original minds behind the project. Stefan Alund from Ericsson Labs, the leader of OpenWebRTC, mentioned the intention to bring WebRTC into WebKit back in January 2015 on an interview here.
In March 2015 WebRTC-in-WebKit came to life but some believed it was useless since Apple would not touch WebRTC and the only interesting aspect of WebKit is Safari. Adam was the main contributor to the project, with support from the OpenWebRTC group, and punctual contribution from Students supervised by Dr Alex Gouaillard (handing DataChannel and webrtc.org support) and paid by Temasys.
As development of this project continued Apple started showing interest in WebRTC and in June-July timeframe contacted the WebRTC-in-WebKit project leader Adam, to sync on the details of the implementation. So while there is no official relationship, there is an open communication channel through the WebKit project and corresponding tools.
Which WebRTC implementation? OpenWebRTC (Ericsson) or WebRTC.org (Google)
The WebRTC-in-WebKit project has implementations using both WebRTC.org (the Google implementation) and OpenWebRTC.org, the Ericsson Labs WebRTC stack which is based on GStreamer and has support for both H.264 and VP8 video codecs.
Apple’s implementation is very likely going to be based on GStreamer and OpenWebRTC. The main reason being that the entire media infrastructure of webkit and safari is already based on GSTreamer today.
For implementing the local media functionalities such as capturing and rendering media streams, Apple will use its existing AVFoundation APIs. It allows for H.264 hardware acceleration for example.
WebRTC 1.0 vs. ORTC
One of the most likely reasons for Apple’s delay in moving forward with WebRTC is the status of the standard. While the specifications for webRTC 1.0 are not final yet, the specification for Media Streams is. Apple started putting its own resource on the project when the Media Device API specification reached “last call” stage. It is also very likely that Apple will be conservative, and implement only webRTC 1.0. APIs, not ORTC and not a proprietary API. All the currents visible contributions point to this.
Conclusion & Predictions
Given current work by Apple and the WebRTC-in-WebKit team it looks like support for WebRTC in Safari and Apple products is closer than many of us have thought.
A new version of mobile Safari and the WebView framework is typically proposed once a year along with a new version of iOS, around September.
With this I think we should expect to have WebRTC in the world of Apple late 2016.