This article was prepared by a guest contributor to ProgrammableWeb. The opinions expressed in this article are the author's own and do not necessarily reflect the view of ProgrammableWeb or its editorial staff.
A few months back, I wrote an article in response to an article Itay Rosenfeld wrote on TechCrunch about WebRTC and what he thinks needs to happen to make WebRTC really take off in 2015. On the whole, I agreed with Rosenfeld and he made some good points, but I think this is part of a much bigger picture for WebRTC and, more specifically, how this technology will be used among the larger tech names.
Mobile and iPads
Rosenfeld’s article primarily focused on browser calling and the need to stop fighting over codecs, etc. I could not agree more. That is the single most important thing needed to bring WebRTC browser calling for the masses on desktops.
However, support for WebRTC on mobile browsers is just not here at the moment, and I doubt it ever will be for the following reasons:
1. We live in a mobile-first app world.
A number of studies (this is one) show that app usage totally dominates mobile data consumption at 89%. Anyone who wants to succeed on mobile will build an app and not rely on the Web experience (news apps might be the exception).
Benedict Evans from a16z has discussed this and suggested that mobile apps are changing the Web experience we have been using for 20 years. So, there is really no pressure from consumers or vendors/site owners to make this happen on a browser level (in other words, to shift development resources away from native mobile apps towards browser-based Web apps).
Mobile is where WebRTC will make the greatest impact.
Much of the popular discussion around WebRTC focuses on the browser-to-browser communication options, especially video, but this is only a tiny part of an otherwise powerful technology.
2. Browser/user experience is still early.
At the moment, Web-based calling just doesn’t work because you can’t notify people that they have incoming calls or messages. There is some progress with using Web Notifications, but it will not be ready for this year and will take time to become a normal experience for the user.
3. Apple won’t come to the WebRTC table.
Back at WWDC 2010, Steve Jobs mentioned that Apple had intentions to open source FaceTime video calls as an industry standard. Then Apple went totally silent on the issue.
WebRTC has gone on to become the open source standard for Google, but there is still no word from Apple about its support, and I am going to be bold here and say it will never happen.
The reason for that is in the latest iOS 8 and OS X updates, Apple took its own approach to voice calling by adding a feature to hand over calls between your Apple devices using FaceTime and iMessage. I don’t believe Apple cares about WebRTC given the time and effort it has put into creating a seamless experience with Apple products in its usual walled garden.
Apple’s main aim is to have people use only its devices in their daily lives. Rather than using Skype for this and WeChat for that, with the addition of email, the company wants people to use Apple and iCloud for everything.
Set it up once and have seamless communication across all of your devices. The FaceTime/iMessage handover is just the start, so WebRTC would appear to be the least of Apple's worries.
4. Microsoft is coming along (kind of).
Microsoft is part of the ORTC workgroup (some people call it WebRTC 1.1) and is shipping it with the new browser Edge in Windows 10. Having said that, it will take Microsoft a long time to move people to newer versions of its browser. Fourteen million installed Win10 the first week, but that's a long way from the billion(s?) Windows devices out there.
Even with Microsoft's own twist on WebRTC, it is still great to see another tech giant pushing WebRTC forward.
5. Understanding what WebRTC is and is not.
In his original article, Rosenfeld said that WebRTC is enabling communication with no software installed and that T-Mobile added Wi-Fi calling late last year. This is a perfect example that WebRTC on mobile still requires software to be installed (in this case a new version of iOS) and, in this case, it’s not even WebRTC.
WebRTC is a wonderful piece of technology that enables developers to deal with a number of challenges when it comes to voice:
- STUN/TURN functionality (punching holes in firewalls to enable peer-to-peer)
- Echo cancellation
- Background noise reduction
What it doesn’t do is help you find/know the address where the person you want to talk to is. And that's crucial in order to make a real-time communication work.
- Apple is solving this problem using iMessage/FaceTime for its voice calling.
- Facebook is using its Messenger and XMPP for chat to set up calls (maybe in Facebook Messenger too).
- Skype is using Skype protocol for this.
And this is the whole value for a lot of these companies: They know who you know and where your friends are on the network (if not location, but what devices and what channels to push on). So even if everyone had a WebRTC-based browser, the most useful scenario is customer service where agents sit and wait for a call. There are efforts from Matrix to introduce a cross-app addressing protocol, but let's be realistic here — why would WhatsApp want to open up its user base to Skype? Or the other way around? The value for most of these apps is the number of active users; it's the product of the race to the bottom of free apps. It would be wonderful, but I don’t believe it.
As an app owner, you have several avenues:
- Set up your own SIP server
- Build your own
- Use XMPP
- Use a third-party provider
So when people say, "Yay! It's so great you can call anyone in the browser with no software installed," I would say it's a little bit more complicated than that.
So What Is the Future of WebRTC?
In recent years, there has been an explosion of voice-based, WebRTC, over-the-top apps like Tango, Plenty of Fish and Viber, while Facebook Messenger, Slack and WhatsApp have already integrated WebRTC into mobile.
WebRTC is definitely beyond being just here to stay, and it will thrive with a potential 2 billion-plus users in 2019.
It will be interesting to see if calling on browsers picks up. I like to talk on the phone on a phone (even if it's via Skype, Rebtel or any other app). I like to move around. There is, of course, always the customer service use case scenario, but that’s not so sexy.
Tsahi Levent-Levi has published a report on native WebRTC here for a deeper insight.