Why is Apple Dragging its Feet when it Comes to WebRTC

06/04/2015

It isn’t about money or resources.

Last week I decided to weigh in on WebRTC in WebKit and why it makes no sense. Some didn’t like what I had to say. Others thought I was insulting them personally. I weren’t.

Apple adding WebRTC?

Before I dig in to the reasons why Apple doesn’t have WebRTC implemented yet, I want to make things a bit clearer on that previous post of mine:

  • WebRTC in X, be it WebKit or anything else has value
  • That said, I fail to see the value in WebRTC in WebKit to those currently putting the effort into it
  • And I don’t think WebRTC in WebKit is a game changer in any way

If you wish to discuss the above, head to that previous post – plenty of room there for debates.

Now onward to Apple.

The day Apple decides to add WebRTC it will probably get it done through WebKit as the technical vehicle. The reason for that is obvious – that’s the web renderer it has inside Safari, its browser on Mac, iOS and iPad. It might take the route Microsoft did with Spartan, but that’s far fetched – I don’t think Apple see WebKit as broken, so they won’t fix it.

The day Apple decides to add WebRTC they will put the manpower to do so. And they will invest good money in it. Probably more than what all those putting the effort now on WebRTC in WebKit are investing combined.

The day Apple decides to add WebRTC they will not tell anyone.

And that day might have been yesterday or last year for all we know.

The players around the table here are 4: Google, Mozilla, Microsoft and Apple.

  1. Google probably the most upfront with their roadmap and intentions for the technology inside Chrome. Probably less so as to how it uses it internally and to what endgame
  2. Mozilla are using it wherever it makes sense for them. I can’t say I understand Mozilla’s thinking or motives well enough to say. But they are invested in WebRTC and are part of the vibrant ecosystem
  3. Microsoft has made it clear that it will add WebRTC. This year. To a browser. These things take time for a large ship to steer

Which brings us to Apple. Another large ship. The one with the highest revenue and probably the most to lose.

Apple Knows Real Time

For those saying real time is hard to nail, I’d like to remind you that Apple have invested in it already. They have FaceTime.

While we know little about its popularity or the amount of calls made on top of it, it is considered of high quality. You may say that this is easier to achieve, especially when Apple controls almost all the experience – hardware, software, protocols. It does not control the network though.

It would be safe to say then that when Apple would like to implement WebRTC, they should be able to do a decent job at getting the codecs and media processing in place and make them work well.

They don’t really need the external help that many are trying to give.

Apple Has 700 Millions Devices to Think About

From a count done last month (March 2015), Apple sold 700 million iPhones. This doesn’t include Mac or iPad devices.

Up until half a year ago, that meant hundreds of millions of devices used by consumers, many of them fans, with no hardware support of VP8. This means that if Apple adds WebRTC, it will need to write it all in pure software. This translates to poor battery life, poor media quality and high CPU load. While others have been happy with the results of WebRTC ported to iOS, would Apple be?

If I were the decision maker in Apple, I’d delay the launch of WebRTC as much as I could. I’d get things ready for it, but not introduce it to market. The idea behind it? Get as many old devices off the streets as possible, so that those that need software coding will do it on a better performing chipset. It will also give me to to add VP8 to the DSP of the newer iPhone devices.

To date, do we know if VP8 is or isn’t supported on the iOS devices in hardware encoding? Can it be something they decide to switch on at some future point in an iOS update for iPhone 5 or later? Maybe only from the iPhone 6? Or maybe not at all.

Now, that H.264 is making its way into WebRTC, should Apple release WebRTC with H.264 support only? Should they wait for Chrome to add H.264 as well and then launch? Should they include VP8 with the understanding that some of the calls won’t be as crisp?

Tough decisions to make.

Waiting beats any other decision here – it isn’t as if their customer base will buy less iPhones. Many of the people going to WebRTC events have iPhones. It hasn’t made them switch to Android. It won’t next year either, so why rush it?

This isn’t about Technology

The fact that Apple hasn’t released WebRTC is not related to their capabilities or their feelings about this technology.

It probably isn’t to protect FaceTime either.

I doubt that it is about the patents they own as part of MPEG-LA on H.264.

It just has to do with timing. Timing of the current hardware they have in the hands of their customers. And how long it would be until the older devices wear off and replaced by newer ones, more capable of bringing experience that Apple sees as good enough for them to work with.

And any volunteer work done today by others? Might end up being used or not used. But it will not move the needle of this decision either way.

 

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

Responses

Luong Nguyen says:
April 7, 2015

2 points:
1. Apple really cares about user-experience
2. WebRTC is not good enough (at least current state)

But I think WebRTC doesn’t like Flash, so soon or later Apple will have to think about it!

Reply
    blank
    Tsahi Levent-Levi says:
    April 7, 2015

    Luong,

    WebRTC is good enough for many.

    The problem for Apple, as opposed to the other 3 players, is that Google, Mozilla and Microsoft are all software companies while Apple is more of a hardware vendor who builds excellent software.

    This means they have more of a headache in terms of legacy hardware they need to maintain and support as time goes by.

    People would expect WebRTC to work on an iPhone 4 and on, as FaceTime is available there already. And there’s a challenge with doing that.

    Reply
blank
Thor Hammer says:
April 16, 2015

Why do you think Apple would go for VP8 now that VP9 is ready? And if they choose to go H.26X, don’t you think they would choose H.265 SVC?

I’m using H.264 SVC for multiparty video conferencing on a daily basis on all my Apple devices and the quality is miles above Facetime. (I use Vidyo, who powers Google Hangouts.) I think Apple needs to hurry here, because the only good things to be said about Facetime imo is that it is free and easy to use.

Luong; what is not good enough with WebRTC today? I have tried WebRTC with VP8 and HTML5 with H.264 SVC running 1080p in Chrome, I am not able to see any difference?

Reply
    blank
    Tsahi Levent-Levi says:
    April 16, 2015

    VP8 is one of the two mandatory codecs in WebRTC. Not supporting it means not really supporting WebRTC properly.
    If they decide to add VP9 or H.265 they can, but they need to have the basics covered.

    Reply

Comment