One of the biggest complaints about WebRTC is the lack of support for it inside Safari and iOS’s webview. Sure you can use a SDK or build your own native iOS app, but that is a lot of work compared to Android which has Chrome and WebRTC inside the native webview on Android 5 (Lollipop) today. Apple being Apple provides no external indications on what it plans to do with WebRTC. It is unlikely they will completely ignore a W3C standard, but who knows if iOS support is coming tomorrow or in 2 years.
Former guest webrtcHacks interviewee Alex Gouillard came to me with an idea a few months ago for helping to push Apple and get some visibility. The idea is simple – leverage Apple’s bug process to publicly demonstrate the desire for WebRTC support today, and hopefully get some kind of response from them. See below for details on Alex’s suggestion and some additional Q&A at the end.
Note: Alex is also involved in the webrtcinwebkit project – that is a separate project that is not directly related, although it shares the same goal of pushing Apple. Stay tuned for some coverage on that topic.
{“intro-by”: “chad“}
Plan to Get Apple to support WebRTC
The situation
According to some polls, adding WebRTC support to Safari, especially on iOS and in native apps in iOS, is the most wanted WebRTC item today.
The technical side of the problem is simple: any native app has to follow Apple’s store rules to be accepted in the store. These rules state that any apps that “browse the web” need to use Apple provided WebView [rule 2.17] based on the WebKit framework. Safari is also based on WebKit. WebKit does not Support WebRTC… yet!
First Technical step
The webrtcinwebkit.org project aims at addressing the technical problem within the first half of 2015. However, bringing WebRTC support to WebKit is just part of the overall problem. Only Apple can decide to use it in their products, and they are not commenting about products that have not been released.
There have been lots of signs though that Apple is not opposed to WebRTC in WebKit/Safari.
- Before the Chrome fork of WebKit/WebCore in what became known as blink, Apple was publicly working on parts of the WebRTC implementation (source)
- Two umbrella bugs to accept implementation of WebRTC in WebKit are still open and active in WebKit’s bugzilla, with an Apple media engineer in charge (Bug 124288 & Bug 121101)
- Apple Engineers, not the usual Apple standard representative, joined the W3C WebRTC working group early 2014 (public list), and participated to the technical plenary meeting in November 2014 (w3c members restricted link)
- Finally, an early implementation of Media Streams and GetUserMedia API in WebKit was contributed late 2014 (original bug & commit).
So how to let Apple know you want it and soon – potentially this year?
Let Apple know!
Chrome and Internet Explorer (IE), for example, have set up pages for web developers to directly give their feedback about which feature they want to see next (WebRTC related items generally rank high by the way). There is no such thing yet for Apple’s product.
The only way to formally provide feedback to Apple is through the bug process. One needs to have or create a developer account, and open a bug to let Apple know they want something. Free accounts are available, so there is no financial cost associated with the process. One can open a bug in any given category, the bugs are then triaged and will end up in “WebRTC” placeholder internally.
Volume counts. The more people will ask for this feature, the most likely Apple is to support it. The more requests the better.
But that is not the only thing that counts. Users of WebRTC libraries, or any third party who has a business depending on WebRTC can also raise their case with Apple that their business would profit from Apple supporting WebRTC in their product. Here too, volume (of business) counts.
As new releases of Safari are usually made with new releases of the OS, and generally in or around September, it is very unlikely to see WebRTC in Safari (if ever) before the next release, late 2015.
We need you
You want WebRTC support on iOS? You can help. See below for a step-by-step guide on how.
How to Guide
Step-by-step guide
- Register a free Apple Developer account. Whether you are a developer or not does not matter eventually. You will need to make an Apple ID if you do not have one already.
- Sign in to the Bug Reporter:
- Once signed in, you should see the following screen:
- Click on Open, then select Safari:
- Go ahead and write the bug report:
It is very important here that you write WHY, in your own words, you want WebRTC support in Safari. There are a multiple of different reasons you might want it:
- You’re a developer you have developed a website that requires WebRTC support, and you cannot use it on Safari. If your users are requesting it, please share the volume of request, and/or share the volume of usage you’re getting on non-safari browsers to show the importance of the this for Apple.
- You’re a company with a WebRTC product or service. You have the same problem as above, and the same suggestions apply.
- You’re a user of a website that requires WebRTC, and owner of many Apple devices. You would love to be able to use your favorite WebRTC product or service on your beloved device.
- You’re a company that propose a plugin for WebRTC in Safari, and you would love to get rid of it.
- others
Often times, some communities organize “bug writing campaigns” that include boilerplate text to include in a bug. It’s a natural tendency for reviewers to discount those bugs somewhat because they feel like more of a “me too” than a bug filed by someone that took 60 seconds to write up a report in their own words.
{“author”, “Alex Gouaillard“}
{“editor”, “chad“}
Chad’s follow-up Q&A with Alex
Chad: What is Apple’s typical response to these bug filing campaigns?
Alex: I do not have the direct answer to this, and I guess only Apple has. However, here are two very clear comments by an Apple representative:
The only way to let Apple know that a feature is needed is through bug filling.
I would just encourage people to describe why WebRTC (or any feature) is important to them in their own words. People sometimes start “bug writing campaigns” that include boilerplate text to include in a bug, and I think people here have a natural tendency to discount those bugs somewhat because they feel like more of a “me too” than a bug filed by someone that took 60 seconds to write up a report in their own words.”
So my initiative here is not to start a bug campaign per say, where everybody would copy paste the same text, or click the same report to increment a counter. My goal here is to let the community know they can let Apple know their opinion in a way that counts.
[Editor’s note: I was not able to get a direct confirmation from Apple (big suprise) – I did directly confirm evidence that at least one relevant Apple employee agrees with the sentiment above.]
Chad: Do you have any examples of where this process has worked in the past to add a whole new W3C-defined capability like WebRTC?
Alex: I do not. However, the comment #1 above by Apple representative was very clear that whether it will eventually work or not, there is no other way.
Chad: Is there any kind of threshold on the number of bug filings you think the community needs to meet?
Alex: My understanding is that it’s not so much about the number of people that send bugs, it’s more about the case they make. It’s a blend between business opportunities and number of people. I guess volume counts – whether it is people or dollars. This is why it is so important that people use they own words and describe their own case.
Let’s say my friends at various other WebRTC Platform-as-a-Service providers desire to show the importance for them of having WebRTC in iOS or Safari- one representative of the company could go in and explain their use case and their numbers for the platform / service. They could also ask their devs to file a bug describing their application they developed on top of their WebRTC platform. They could also ask their users to describe why as users of the WebRTC app that they feel segregated against their friends who owns a Samsung tablet and who can enjoy WebRTC while they cannot on their iPad. (That is just an example, and I do not suggest that they should write exactly this. Again, everybody should use their own word.)
If I understand correctly, it does not matter whether one or several employees of the above named company fill only one or several bugs for the same company use case.
Chad: Are you confident this will be a good use of the WebRTC developer’s community’s time?
Alex: Ha ha. Well, let’s put it that way, the whole process takes around a couple of minutes in general, and maybe just a little bit more for companies that have a bigger use case and want to weight in the balance. Less than what you are spending reading this blog post. If you don’t have a couple of minute to fill a bug to Apple, then I guess you don’t really need the feature.
More seriously, I have been contacted by enough people that just wanted to have a way, anyway, to make it happen, that I know this information will be useful. For the cynics out there, I’m tempted to say, worse case scenario you lost a couple of minutes to prove me wrong. Don’t miss the opportunity. 🙂
Yes, I’m positive this will be a good use of everybody’s time.
{“interviewer”: “chad hart“}
{“interviewee”: “Alex Gouaillard“}
Antón says
Very good initiative! Congrats!
Stefan Richter says
Done, bug report submitted. Great idea.
Steven says
I submitted a bug but it was closed as a duplicate of 12002046.
Chad Hart says
I got the same message. Not at least we have someone in Apple support paying attention…
Thierry says
I’ve done the bug report submission too …