Owen Williams is a freelance writer and developer thinking about new ways to get the news. He created Charged (https://char.gd ) an, independent technology newsletter and blog that helps people keep up with the news that matters.
After more than 20 years of fighting for relevance on the web, Microsoft is planning to scrap the underlying architecture of its internet browser in favor of Chromium.
That alone is monumental, and the internet responded with both jubilation and hesitance as you’d expect: Internet Explorer’s legacy is finally dead!
But, we just learned the full picture, with Microsoft announcing the move on GitHub Thursday, and it's even bigger than we could have possibly dreamed of. Not only will Edge use Chromium as its rendering engine, but Microsoft is actively investing in developing the open-source engine further, to best optimize it for every device it touches.
A rendering engine is the software your browser uses to display web pages. Different rendering engines have different quirks and features, maintained by their own parent companies, with the largest in use today owned by Mozilla, Google, Microsoft, and Apple.
Here's a bit from the company's long, detailed post about why it’s making this change:
“We will evolve the Microsoft Edge app architecture, enabling distribution to all supported versions of Windows including Windows 7 and Windows 8, as well as Windows 10. We will also bring Microsoft Edge to other desktop platforms, such as macOS. Improving the web experience for end users (better compatibility) and developers (less fragmentation) requires a consistent web-platform as widely available as possible. To accomplish this, we will use Chromium’s cross-platform app-technology along with a change in our distribution model, so that the Microsoft Edge experience and web-platform become available across all supported operating systems.”
Yes, that's right: not only will Microsoft shift to Chromium as its rendering engine, it'll begin shipping Edge across all supported desktop devices on the planet, and it'll start building it into the web platform within Windows.
This is huge news for the industry across the board, and is poised to propel the web to a first-class experience on par with native application development, as well as making it a much better experience for a broad swathe of internet users who might not have power over what browser they're using.
The web has already swallowed native application development whole, but it's about to get a lot better. Here's a few reasons this news is exciting, and it's going to open up the next chapter for the web:
Web browsers as first-class citizens
One of the biggest problems today is that despite Chromium's popularity, it's really not very good on the resource front: it drains battery, hogs system resources and generally doesn't play nice. This, largely, has been because Google and Chromium don't own their own operating system (outside of ChromeOS), and don't get exclusive access to low-level system APIs that Safari and Edge have enjoyed.
Because Microsoft and Apple have historically had their own first-party browsers, Chromium was always destined to be worse: the project simply doesn't have the platform resources that these giants had, and was always building a layer further away than the official browsers of each platform.
This move changes everything about that equation. Microsoft can bake Chromium into Windows and the Edge browser at the core, which means it'll be possible to embed a first-class experience in any app with a native Windows-Chromium view, and it's porting it to MacOS:
“Outside the Microsoft Edge browser, users of other browsers on Windows PCs sometimes face inconsistent feature-sets and performance/battery-life across device types. Some browsers have had slower-progress to embrace new Windows capabilities like touch and ARM processors. As you know, we’ve recently started making contributions that provide these types of hardware support to Chromium-based browsers, and we believe that this approach can be generalized.”
Microsoft is, in essence, declaring that it'll deliver a top-end browser experience, regardless of the platform you're developing for, with the exact same engine on every device. Not only does it plan to optimize Windows for Chromium, but it'll be sharing that work as well, porting it to ARM-based devices like the iPhone and ensuring that it's resource-efficient at the absolute core: the OS level.
But what really matters is what comes as a result of all of this work: the absolute best way to build cross-platform apps, on a scale we've never seen before.
The web as a desktop platform
If you're a business of any size and you're looking to build an app for desktop or laptop users, frankly, the best choice out there today is Electron. It is no coincidence that Microsoft acquired GitHub, which happens to come with a little project called Electron as a part of that acquisition.
Many popular apps leverage Electron under the hood, including Slack, Visual Studio Code, WhatsApp desktop and many others, largely because it’s so easy to target multiple system types with a single, common language underneath.
Electron today, however, comes with a sizable disadvantage: it's based on the Chromium browser, which means it's bundled with an entire instance for each application that uses it on your machine. Having Slack and Chrome open, for example, spawns two isolated Chromium instances, both consuming resources to do much the same thing.
With this shift, it's easy to imagine a single shared thread for Chromium on top of Windows, which can be accessed by any Electron-based instance. Such a change would allow Electron apps to be more efficient, stable, and friendlier on system resources (particularly memory and battery.)
Not only that, but because Microsoft is providing technical resources to every Chromium-based browser, Electron-based apps will gain a killer touch-friendly experience to boot, setting the stage for convertible devices to truly replace laptops.
If Electron was already overwhelmingly the platform of choice despite its massive constraints, this is going to open a new tidal wave of web-based apps on the desktop. Why would you build in any other language at this point, if you can write once and run everywhere?
Web technology is ready for this
Microsoft has made many attempts over the years to build frameworks for developers to use, which failed miserably. There was Silverlight, XAML, WPF, Metro, whatever else you can think of, but largely each technology has struggled to attract developers at a scale that mattered.
Recently, however, Microsoft went all-in on progressive web apps as its next platform. PWAs are one of the more exciting developments on the web in years, allowing web-based applications to access many native capabilities without the need for a wrapper like Electron. They work offline, can send notifications, cache data, and so on, and many app developers, like Twitter, have built compelling first-class PWA experiences that work on Windows too.
The ultimate power move in all of this is Microsoft showing how committed it is to the web as a platform for the future of apps. It wanted developers to build PWAs for the Microsoft Store, but now it's putting the weight of its resources behind making those apps at home on the OS, expending massive amounts of resources to make them a great experience regardless of if you're using one in Chrome or an Electron-wrapper.
Not only is this the most constructive outcome of all of this, it's key to opening up the desktop environment to the next-generation of web-enabled tools. Writing an application to custom-target every device out there is going to disappear, and Microsoft wants to own that as its bet for the future.
The strategy differences here are very different to that of Apple, which has largely ignored any feature of the open web that might threaten its own dominance. There's no web-based notifications in Safari on iOS, or the ability to execute tasks or caching in the background, and so on. Marzipan, Apple's next-generation cross-platform app development framework, essentially has iOS apps back-ported to work on Mac-based hardware.
Microsoft is throwing all of that platform-owning nonsense out of the window, saying that it just wants to provide a great, consistent way for developers to build apps that work wherever, written once. Sounds good to me, and this changes the game after years of bickering over which native platform was best to write for.
As it turns out, it was the web all along. I believe that in the long-haul, this is the right horse to bet on, particularly as web tooling continues to improve so rapidly despite its age.
This is just the beginning
It's still early days, and Microsoft's plans aren’t even fully baked yet, but I'm excited that we're shifting into a new gear where web-based technology is treated as a first-party citizen by the operating system vendors.
To be clear, there are drawbacks to this change: the web as a platform is narrowing into a duopoly of rendering engines, with just Chromium, Webkit (which is a Chromium variant) and Gecko, which powers Firefox, left standing. Less choice hurts all of us, as Mozilla’s CEO pointed out in a post about the news that didn’t mince words:
“Google is so close to almost complete control of the infrastructure of our online lives that it may not be profitable to continue to fight this. […] From a social, civic and individual empowerment perspective ceding control of fundamental online infrastructure to a single company is terrible.”
What's astounding is that it feels like this is the right thing to be happening, even with Microsoft's long history in web browsers. It wasn't that long ago that Microsoft was being punished under antitrust law for forcing Internet Explorer on users, but the Microsoft of today has shown repeatedly that it wants to turn over a new leaf.
It’s true that less choice is bad and may even hurt alternate browsers like Firefox, but it’s difficult to justify Microsoft continuing down the path of building a dedicated browser that nobody really wanted to use.
This time is different because Chromium is an open source project, with multiple contributors already, so Microsoft throwing its weight behind the standard may actually encourage better collaboration on the project rather than leaving it to Google alone.
If you can't beat them, join them, and it seems like Microsoft is betting on the web for the long haul.