Hold on with the Champagne
Last week Apple posted a new position on their job board with the title: WebKit Media Engineer – WebRTC (see below full job post).
Now that looks like great news. Maybe Apple is working towards adding WebRTC to the Safari browser for iOS and OS X.
We all know Microsoft joined the party and added ORTC-WebRTC to Edge but there is of course still the gap of previous IE versions that will not get this implemented in them.
We were all hoping to get a clue about Apple’s plans for jumping on this bandwagon as well. Is this the clue we were all looking for?
Before we open the champagne bottle let’s take a closer look at this one.
Why should Apple support WebRTC
Some believe they will never want to support WebRTC, not only because it is a “Google thing” but also because they want users to stay within their walled garden of FaceTime and the seamless call handoff they have enabled between Apple devices.
I believe WebRTC is not competing with these capabilities as it enables other things:
- Real-time interaction with websites and UC applications
- Non-real-time communication services such as file sharing and video distribution through the data channel (think Netflix)
Staying behind with WebRTC will result in bad user experience for Apple users. A problem that will become worse as WebRTC is further adopted.
The conclusion of this is that Apple will need to support WebRTC some time down the road, maybe this has finally resonated with them. The tricky question is how will Apple support WebRTC in WebKit and in its operating systems, will it be there for Apple applications only or open for developers as well.
Another interesting point to look at is codec support. The job posting below mentions HLS, the Apple HTTP media streaming protocol that is part of Safari and the operating systems and MPEG-4 (strong on the H.264 side of things) as part of the experience requirements. Not a word about VP8 and Opus.
Apple is also not part of the Alliance for Open Media. Its absence is another warning sign.
WebKit and WebRTC
WebKit is the rendering engine behind Safari. It is a BSD open source SW that once used to power Chrome but Google has decided to fork away from WebKit.
WebKit is available also for app developers to build hybrid applications for iOS. A hybrid application will have the experience of a native app but it will also have a browser instance in it.
There is an open source initiative for adding WebRTC to WebKit. Their hope is that Apple will adopt it. The initiative is led by several companies mainly Ericsson through Ericsson Labs, the guys behind OpenWebRTC and Dr. Alex Gouaillard who was previously with Temasys and is now at Citrix. Thing is that they are using OpenWebRTC for this work and not the Google implementation which is probably what Apple is using (just a guess).
Supporting WebRTC in iOS and OS X
Supporting WebRTC in iOS and OS X requires a few things for it to be beneficial.
Browser support is the first thing required as users interact with websites that offer WebRTC services, be it real-time communication or content sharing like watching a film on Netflix.
On PC/Mac, supporting WebRTC in the browser is the #1 priority.
On mobile devices Apps are by far more used by users than the browser and therefore not enabling App developers to easily build WebRTC into their applications will miss the target of supporting WebRTC in iOS.
Currently, when developers want to use WebRTC in their iOS application they need to compile it into their application themselves or use various tools such as Cordova and its WebRTC plugins.
The requirement is that the support for WebRTC in iOS will be similar to how it is supported in Android meaning, support in the Chrome browser as well as in WebView for 3rd party application developers to use. WebView now also gets automatically updated as the Chrome browser does which means WebRTC versions are in sync.
In iOS the requirement would be to support WebRTC both in Safari and WebKit and give 3rd party developers access to the WebRTC APIs so they can build hybrid applications that make use of WebRTC. It is also required that Apple will not put a spoke in App developers’ wheels and offer the same performance they offer to their applications also to 3rd party ones. This was not the case until iOS8.
Why is this important?
Safari as a browser, and iOS in general are still a limitation for WebRTC wide adoption, especially in business applications. Support for WebRTC in the Apple environments will nicely compliment the adoption of it by Microsoft.
There are still many open questions about the adoption of WebRTC by Apple.
Don’t open that champagne bottle quite yet.
Apple’s Job Post for WebRTC
WebKit Media Engineer – WebRTC
- Job Number: 43451266
- Santa Clara Valley, California, United States
- Posted: Oct. 19, 2015
- Weekly Hours: 40.00
The WebKit team seeks a software engineer excited to work on cutting edge technology for the world’s most popular web engine. Weʼre looking for engineers with exceptional problem solving skills, a passion for quality, and the desire to push the web forward. You will be responsible for bringing the latest media technologies to the web, with a focus on WebRTC and Media Streams.
- * Experience with WebRTC, Media Streams, and Media Capture specifications
- * Familiarity with web technologies, including HTML5 video and Web Audio
- * Basic knowledge of OS X and web browsers
- * Detailed knowledge of C and C++
You have a passion for bringing the future of media technologies and real-time communications to life on the web. You can work across all layers of code, but have a firm understanding of software architecture. You understand the intricacies of multi-threaded programming and have a familiarity with audio and video technologies. As a good communicator, you want to work with various W3C and WHATWG organizations to help define and refine standards. The Safari and WebKit team is responsible for the Safari web browser, the fastest browser on OS X and iOS. The WebKit rendering team is responsible for all visual aspects of the web, including layout, CSS, animations, media, and other technologies that serve as the foundation for Safari and other WebKit applications on OS X, iOS, and Windows.
BS or equivalent