WebRTC support in safari

After years of speculation, Apple has officially announced support for WebRTC! Finally Apple would start to support WebRTC video communications in Safari and iOS.

More seriously though, what does this mean for WebRTC application development? First, let’s recap what has been announced, what we don’t know yet, and then imagine how this will change WebRTC application development in the coming years. 

What was announced

Details are sparse at this point, but Apple has announced support for WebRTC in Safari 11. When Microsoft announced WebRTC support for the Edge browser, it came out in phases. First was access to the camera and microphone, and a little later came support for Peer-to-Peer calls.

The Safari 11 page specifically says that Safari 11 “implements peer to peer conferencing with the WebRTC standard.” Therefore, we should expect to see a strong release by Apple with lots of capabilities right out of the gate.

What we don’t know yet

How much of WebRTC will be supported in iOS11 is not totally clear at this point.

Safari on the desktop is an important browser, and even just support there would be a great step forward for WebRTC compatibility. No more plugins on the desktop, and you don’t have to send your users towards Chrome or Firefox alone! With the addition of both Edge and Safari desktop browsers to Chrome and Firefox, WebRTC is now opened up to a lot more users and a lot less complaints.

If Apple is also going to support WebRTC in the iOS11 version of Safari that would be even better – this would finally put iPhones and iPads on par with Android devices, where it is possible to use the Android version of the Chrome browser already to do WebRTC calls without a native app.

Details on which codecs will be supported, hardware acceleration, and ORTC support are all still open questions. But no matter how you slice it, this is great news for the WebRTC community.

How will this change WebRTC development?

Assuming there is full browser support for WebRTC in Safari desktop and mobile, this is a game changer.

When WebRTC development started several years ago, Chrome and Firefox were not fully compatible with each other. They were implementing early versions of the WebRTC spec at their own pace and in their own style, and sometimes the method names conflicted, and things like the DataChannel might not be compatible with each other. Both teams were working hard and collaboratively, that’s just how it goes in the early stages of a new technology.

For the last few years full compatibility between Chrome and Firefox start to happen, but regular questions on “when will there be support from Microsoft and Apple?” It was a valid question, and the only way to deal it is by forcing users into the Chrome and Firefox browsers, which have an excellent combined market share of browser users anyways, especially among early adopters of WebRTC apps.

On the mobile side, things have been more complicated. We have often told our clients that if they want a Chrome browser version of their site on Android, we can make that work with WebRTC. But for iOS devices, a native app was the only solution and only a Swift or Objective C developer can get it done. This situation has slightly improved with the advent of React Native, where at least there’s better chance of building native apps on Android and iOS that support WebRTC, and is closer to a “code once deploy twice” strategy.

Now, with WebRTC support coming to the iOS Safari browser, this means regular website is able to offer a responsive website that can do WebRTC calls on desktop browsers as well as both Android and iOS browsers.

That’s a big deal because it offers the potential of cost savings, as well as opening up mobile web WebRTC development.

What won’t change

The changes in Safari 11 will come out in September or October 2017, and ideally the iOS browser support will arrive.

You have to wait at some months to see the new features. If you use a WebRTC provider for your WebRTC app (for instance Tokbox, Vidyo, etc), then you might have to wait a little longer while they update their API’s to incorporate anything necessary to work with Safari.

You may still be 6 months away from being able to use this in production, when you also factor in any time needed to make code changes on your site. Don’t forget you’ll also have to test all the site’s functionality in Safari now, and so even outside of the WebRTC support, you may have been able to ignore all sorts of HTML/CSS glitches before because you didn’t care about Safari users. Now you have to care.

If you’ve already built a native iOS app using WebRTC, don’t throw it away. You’re at least 6 months ahead of your competition.

Even if you’re just starting to consider a WebRTC application for the first time, these announcements don’t mean you should rule out some sort of native iOS application.

Being able to do WebRTC in the mobile Safari browser is great, but just like on Android, we usually recommend this only as a stop-gap solution to our customers. The best user experience is likely to still be in a native application, and so the extra time and effort to build a native mobile app on both iOS and Android is still worth it.

What this announcement does mean about the development of those mobile apps is that it’s likely to get a little less expensive and become a little more versatile. Instead of having to find an Objective C developer with WebRTC experience (which is not easy!), more javascript based mobile development frameworks will be able to roll out WebRTC support and so you’ll have more development options to consider.

One other thing this announcement doesn’t change: There still is not and never will be support for WebRTC on Internet Explorer. Companies that enforce usage of Microsoft browsers will still have to get their users to upgrade to the Microsoft Edge browser. That should be obvious since this post is all about an Apple announcement, not a Microsoft announcement, but it’s worth being extra clear that plugins are still the only way to enable video chat on IE. Also, please get rid of IE in your organization – it’s time.

WebRTC is on a roll

When we first started working on WebRTC video apps several years ago, people were still questioning if WebRTC had any staying power. Without support initially from Microsoft and Apple, would it last? Or would it die off as a side project of Google?

With Apple’s official support for WebRTC in Safari 11, we can definitively say that WebRTC is here to stay. I’m sure that it will continue to evolve, taking on parts of the ORTC concepts, new video codecs, and many other changes in the future. But now that everyone’s on board, WebRTC is here to stay, and you can expect it to become even more prevalent on desktop and mobile.

What are you building? We can help!

Let our experts at Kurium help you build your custom video and audio app. We have decades of experience with over many hours invested in building real-time applications. We have built custom medical apps, education video chat, broadcasting apps and other web & mobile custom webRTC applications.

Contact us today and let us lift the burden and do the work for you. It is what we do!

One thought on “WebRTC support in safari

Leave a Reply

Your email address will not be published. Required fields are marked *