Edge moving to Chromium: What it means for Skype for Business & Teams developers
The rumours were true! Yesterday, Microsoft’s Joe Belfiore (CVP for Windows) published a blog post announcing that Microsoft would be adopting Chromium as the rendering engine in Edge, replacing their home-grown alternative, MSEdge, which was originally a fork of Trident, the rendering engine in Internet Explorer.
Broadly, I’m in support of this move. Having fewer rendering engines will make life easier for web developers and contribute to a more consistent web environment. Chromium is not Chrome, it’s an open-source project which Microsoft will be (and already is) contributing to, so I’m not worried about Google taking “more control” of the web, as many (including Mozilla, who I think should know better) have suggested. This move enables Microsoft to make more impactful contributions across the web via contributions to Chromium, as well as freeing them to concentrate their development efforts on areas that aren’t already been dominated by other players.
But… what does it mean for Skype for Business and Teams developers? That’s what this blog post is about.
Skype for Business
The most obvious place where this change is going to impact Skype for Business developers is the Skype Web SDK. This is the SDK which lets web developers embed Skype for Business functionality into web pages. Via the SDK users can sign in, send and receive IMs and perform basic contact management. Without requiring a sign-in, anonymous users can also join meetings as guests.
There is also some audio and video support for performing audio and video calls, and joining meetings. This is not done via WebRTC though as you might expect. For Internet Explorer 11 and Safari, a plug-in needs to be downloaded and installed. For Edge, a plug-in is NOT required. That’s because Skype Web SDK uses ORTC, which is subtly different to WebRTC, and which is natively supported in Edge today.
[Veteran readers may remember this blog post from September 2015 announcing ORTC support in the Skype Web SDK and hinting at a future involving WebRTC]
I’m not 100% clear on what happens when Edge moves over to using Chromium, but it’s my expectation that unless some steps are taken by Microsoft, Skype Web SDK audio and video will stop working in Edge. I’m basing this on the assumption that the media processing capabilities of the browser are included within the remit of the rendering engine, so a swap from MSEdge to Chromium will remove support for ORTC. The best case scenario would then involve a plug-in for Edge to re-enable support, but this might not be possible with Chromium (there is no plug-in for Chrome today).
I’m reaching out to Microsoft to try and seek clarification on these points, and what steps Skype for Business developers should take to ensure smooth continued operation of their applications.
The same problems that Skype for Business developers are going to have should mostly be avoided by this change, which is good news. Because Edge will no longer have its own rendering engine, as soon as Teams meetings can be conducted with audio and video in Edge, it should just work in Chrome and all other Chromium browsers as well. It won’t stop Safari, Firefox or Internet Explorer (which use different rendering engines) from needing to be addressed as well, though.
There currently isn’t a way for developers to embed Teams capabilities into their own web pages today, though, so this is a bit of a non-issue right now. However, it’s still good to know that we are unlikely to see a repeat of what happened in Skype for Business, if and when such development capabilities do come to Teams.
The flip-side to this, though, is that it might take longer overall to bring AV capabilities to browsers because it won’t be possible to implement something custom and then bring it to Edge first. However, in 2018/9 I think the only acceptable implementation of audio and video capabilities in browsers will be fully native support, without plugins, on all WebRTC-capable browsers.