Skype on Chrome != End of the WebSkype on Chrome != End of the Web
Microsoft's move to bring Skype to the Web is a good sign of progress, and here's why.
May 22, 2019
In March, Microsoft announced that Skype is finally coming to the Web. Many see this as a bad sign for the Web, mainly due to lack of cross-browser support. I see it as progress.
In this announcement, Microsoft had the following to say:
“You can now enjoy our latest features from any desktop (Windows 10 and Mac OSX10.12 or higher) with the latest versions of Google Chrome or Microsoft Edge.”
Owning a Ubuntu machine, I had to check -- the browser-based version of Skype works on Linux, too. Or, I should say, it at least works from Chrome, an operating system that’s usually neglected by vendors and their apps. Microsoft should have written “(Windows 10, Linux, and Mac OSX10.12 or higher).” I didn’t check Windows 7, but it probably runs nicely there as well.
Why are people unhappy? Because Skype works only on Chrome and Edge browsers. Not on Safari or Firefox. Searching the Web, I bumped into these types of news headlines:
New Skype For Web Is Here – Chrome OS And Linux Are Not Supported (But as I noted above, it worked fine for me on Linux)
Skype for Web drops support for ChromeOS and Linux (Again, it worked fine for me.)
I’d like to state a few things before I dive into the details:
It’s true. We’re heading toward a Chrome-only Web
Skype for Web isn’t related to that trend
Skype for Web is similar to how any company might roll out Web support with WebRTC
The Chrome-only Web
We’re currently headed to a Chrome-only Web.
In December 2018, Microsoft announced it’s shifting its efforts from using its own browser engine inside Edge to using Chromium, the same browser engine found in Chrome (and Opera). At the time, I wrote a detailed analysis of this shift towards Chrome-only Web. Chrome(ium) is so prevalent these days that even Tesla is switching to it, as Elon Musk tweeted a while back. By having more browsers using the same underlying engine, developers will become lazy and support only the major forces, these currently tend to be Chrome and Safari -- Chrome because it has upwards of 60% market share, and Safari because effectively it’s the only thing available on the iPhone and the default one on the Mac.
Click below to Page 2: More on Skype for Web and its relationship to WebRTC
What Is WebRTC?
For Skype for Web to work, it needs to be able to initiate voice and video calls. To do that on the Web, the only alternative is WebRTC -- there’s nothing else that works in the browser.
WebRTC is part of the HTML5 specification. It enables browsers to communicate directly with each other and send real-time audio, video, and data. Services like Facebook Messenger, Slack, Houseparty, Webex, and now Skype make use of it in order to work from browsers and, in many instances, for media processing throughout their backend infrastructures.
It has the backing and implementation of all major browser vendors today: Google Chrome, Apple Safari, Mozilla Firefox, and Microsoft Edge.
So this Skype for Web announcement makes use of WebRTC for the voice and video calling in Skype. Which brings me to the next point.
Skype for Web and WebRTC
Skype is an old service -- one of the first VoIP services to make it big. It launched in 2003, some 16 years ago -- a lot earlier than the iPhone, HTML5, and WebRTC. With its hundreds of millions of active users, Skype is a large ship to steer. Shifting it from its media processing infrastructure towards WebRTC isn’t a minor feat. There’s the backend that requires upgrades, applications on various desktop, mobile, and embedded operating systems, and legacy devices that should be supported or announced as end of life.
Add in the fact that Skype has three different flavors today (Skype, Skype for Business, and Microsoft Teams) and you get to a world of pain. Many roadmap decisions need to be made for migrating Skype towards WebRTC, making the process itself quite challenging.
Make no mistake -- Microsoft wanted and needed to migrate to WebRTC. Today’s biggest challenge is the fact that users are locked inside application islands. To be able to call someone on Skype, you need to be a Skype user and be signed in. While this may work well in the consumer space, it brings with it a lot of limitations for enterprises. How do you let customers and partners engage with your workforce without offering them guest access? And how do you do that without forcing them to download and install an app in order to do that? WebRTC.
Shifting Skype from its media processing to WebRTC can’t be done overnight. It needs to be done in baby steps. It takes switching from proprietary voice and video codecs towards supporting the ones that WebRTC has to offer. And it takes implementing signaling logic on top of HTTP/2 or Websockets instead of pure TCP and UDP, so a migration towards browsers is possible.
The Road to WebRTC 1.0 Is Still Long
Adding to the headache are the differences in WebRTC implementations across browsers and the fact that the WebRTC 1.0 specification is still incomplete.
One of the main challenges here is how support for group video calling is implemented and described in each browser. While all browser implementations are switching to what is known as Unified Plan, that shift hasn’t completed yet.
So supporting different browsers with WebRTC video calling, in an environment that requires group calls, while migrating away from legacy implementation, is not an easy task.
Instead of waiting for it all to complete and then finding out all the bugs that weren’t caught, Microsoft must have decided to ship something that works for most users. That majority is Chrome.
The Sky Isn’t Falling on Browser Diversity (Yet)
Adding Edge support is something that Microsoft couldn’t do without. How would it save face internally and publicly by launching a Chrome-only Skype version?
Dealing with Firefox and Safari later was tolerable, and a decision based on timing -- not on a specific decision to ignore these browsers and to go all-in on Chrome. What does Microsoft stand to win by going all-in with Chrome and Edge only? Nothing.
If I were to start a service today that uses WebRTC, I’d first focus on making sure it runs well on Chrome. My next priority would be either Firefox or Safari. I’d choose Firefox because it’s relatively easier to support and Safari because of the Apple user base. Edge would come last, at least today when its market share is so low.
Microsoft did what made sense here. What we’re seeing today is just one step in its road towards Skype for Web.