Temasys SDK Release September 2017: Browser Bugbears
Posted On September 19, 2017 by Chip Wilcox in Blog, Media
On 12 September 2017, we launched our latest release for the Temasys Web SDK (v. 0.6.25).
As we mentioned in this blog post from July, we have been quietly preparing for the launch of Apple Safari 11, expected sometime this fall. The latest Temasys SDK release continues to build on this effort, making support for Safari 11 (beta) generally available on our live platform, along with accommodations for issues that are known to exist with Apple’s WebRTC support.
What Apple (And Others) Downplay
It should be noted that while Apple will support gUM, PeerConnection, and DataChannel in Safari there are still parts of the WebRTC specification that are not supported. So, while it’s great that Apple’s making some headway in bringing support for WebRTC to Safari, it’s equally important to be aware of what you’re not going to see.
From our experience working with the Safari Tech Preview and iOS 11, here are some of the limitations we’re aware of:
- No support for Screensharing;
- No support for audiooutput in getSources / enumerateDevices;
- No DTMFSender support;
- No RTCRecording support;
- No access to local tracks and transport statistics via getStats();
- No support for the VP9 video codec (H264 only);
- There are some specific tricks required to get the Datachannel to work
One more thing. There is no support for WebView. This means WebRTC won’t be available in Chrome, Firefox, or any other browser except for Apple Safari on iOS.
As a result of these shortcomings, our recommendation remains to “go native” on iOS. That is to say that if you want the best WebRTC experience possible for your users, we strongly urge you to build a dedicated iOS application, instead of relying on a Safari web app.
Managing WebRTC Interoperability: Browser Bugbears
The bottom line is that interoperability across platforms and web browsers is still a major challenge when it comes to WebRTC. Staying on top of all of the changes that occur with each release of Chrome, Firefox, Opera, Edge, (and soon, Safari) is a job requiring constant vigilance. If you are running your own WebRTC stack you already know that browser vendors frequently introduce changes that break WebRTC implementations, without apology.
If you’re building WebRTC-powered apps, Temasys helps you avoid having to think very hard about all of the differences between different web browsers and operating systems and how they decide to support WebRTC.
We test our SDKs and our Platform for compatibility and interoperability, well ahead of the public releases of all browsers. This is how we make sure that WebRTC applications built using our SDKs and the Skylink Platform, and our version of Adapter.JS are ready to work successfully when new versions of all those web browsers go live.
We’ll all be ready for the day when Apple is 100% ready for WebRTC. And even if they’re only at about 75% today, we’re ready for that too.
If you’d like to try the Temasys SDKs and APIs with your project, you can get started quickly with a free account here: console.temasys.io.