Microsoft Edge is Adopting Chromium - What is the Future of the Microsoft Browser👨🏾
Maybe you have been reading or hearing rumors that Microsoft is killing the Edge browser and creating a new default Windows browser based on Blink, the rendering engine inside Google Chrome, Opera, Samsung Internet, Brave and many other browsers.
Today, the Microsoft browser team published an article announcing their future plans for the Microsoft browser, currently called Project Anaheim.
Today we’re announcing that we intend to adopt the Chromium open source project in the development of Microsoft Edge on the desktop to create better web compatibility for our customers and less fragmentation of the web for all web developers.
As part of this, we intend to become a significant contributor to the Chromium project, in a way that can make not just Microsoft Edge — but other browsers as well — better on both PCs and other devices.
They are not exactly ditching Edge, just changing the rendering engine to Chromium. In fact they currently do not have plans to rename the Microsoft browser, Edge.
But there is more to the story than just changing the rendering engine.
The goals are:
- Bring Edge to Windows 7/8 & MacOS
- Significant Contributor to Chromium
- Finally break the Browser Apart from the OS
- Make Edge an Open Source Project
Talk about big deal.
When I first started reading the rumor-based articles a whirlwind of questions started formulating in my head:
Microsoft is finally decoupling Edge from the Windows update process to offer a faster update cadence. This will allow Edge to update as soon as new features a feature complete and stable, rather than wait on the operating system update process. This has been a high priority of the Edge team for years, but handcuff due to the plumbing being coupled with the operating system.
But decoupling from the operating system frees the browser so it can run on Windows 7 and 8 as well as MacOS. It has been 15 years since a Microsoft browser ran on Apple's flagship desktop OS. Since many web developers live on MacOS this will make it easier for them to access Microsoft Edge for testing and development.
- How Browsers Work
- Is it Just Replacing EdgeHTML or Will the UI be Affected?
- Will it Still Use UWP?
- Is This Part of a Major OS Overhaul?
- Will This Affect the Progressive Web Application Story?
- Will this Enable New Web Standard Support Faster?
- More Collaboration with Google?
- Will Edge and Anaheim Live Side By Side?
- What About Enterprise Mode?
- What Does This Mean for Mozilla/FireFox?
- Will this Affect Embedded Browsers in Native Apps (wpf/uwp/etc)?
- Enterprises May be The Root Cause of Edge Compatibility Issues
- Will this Affect the Web Standards Process?
- Microsoft Edge is Going Open Source
I did not see the move to Windows 7 and MacOS. But maybe I should have.
Last year they released Edge on Android and iOS using the native browser components on those platforms. The move enabled users to access password, favorites and other creature/UI comforts across platforms and devices.
Chromium is by design cross-platform, which provides the conduit for Microsoft to release a browser to other consumer operating systems. This means more reach, which may be a key reason why Edge adoption has been lower than you would expect.
Another move I did not think would happen, based on my insider knowledge and what I saw in the press, is migrating to V8. But this will make the transition easier.
Trying to integrate Chakra with Chromium would add additional resources to this project.
I have mixed feelings about this move. There is some emotional attachment and a little desire to have multiple specification implementations.
At the same time my priority as a web developer is to make the web the best platform for user interfaces. Web standards make that possible.
I build websites to web standards not a browser engine. So to the average website and consumer you won't notice a real change.
I also want to see new features added quickly. Of course, they need to be stable and not buggy. The faster newer specifications are implemented the faster the web has parity with native application capabilities.
Thanks to web standards there are very few places the web cannot compete toe to toe with native. And of course, the web will always out flank native for access and discoverability, the web's super power.
The new Edge will be developed in the open, on GitHub. Right now the repo is the Readme document, but that will change over time. I do not know what the rules concerning pull requests will be either. They do welcome your feedback and advice.
But seriously don't waste time flaming them. It is not constructive and helps no one.
How Browsers Work
Before I get into the latest Microsoft browser news, I think it is important to review how browsers are architected or work. There are three big components:
- HTML/CSS Rendering Engine
- User Interface (ironically known as the browser chrome)
In my experience most consumer complaints about Edge focus on the User Interface, not the actual web engines. And most of the problems are more a fault of UWP, Microsoft's latest application platform.
Edge is not alone, pretty much all UWP applications are unstable in my experience. This includes Skype, Evernote and a few others. As far as I can tell, most application vendors have moved away from UWP, back to a traditional Win32 based application.
I honestly have not encountered any 'web rendering' issues with Edge. I think my only complaint about Edge is the developer tools being more unstable than Internet Explorer's and the team being sometimes slow to implement newer APIs.
The later I chalk up to their core customer base being enterprise customers that want a more stable, rather than feature rich platform.
To me the good news by going cross-platform is Microsoft will be shedding the UWP platform! This should mean a more stable application.
There are many comments floating around in the early reports. Some of which I can tell the authors don't really understand the engineering behind a browser or the business implications.
I watched this week's Windows Weekly and liked what Paul Thurrott had to say.
"Microsoft is doing what they should have done all along, which is build a browser application off of a standards based, popular, rendering engine because that's not where the innovation needs to occur." - Paul Thurrott Windows Weekly 598
He is right, the innovation on the web happens in the standardization process. Browsers only implement the specifications.
What really differentiates browsers when it comes to standards these days it is not if they correctly implement them, but it is how fast they implement them.
All the browsers use the same specifications and unit tests to validate implementations. So by and large they all support the exact same APIs.
Beside how many specifications they support it is the user experience they differentiate themselves.
Is it Just Replacing EdgeHTML or Will the UI be Affected?
Microsoft is not changing the UI/UX, at least with the rendering engine change. They are completely different systems as far as the browser is concerned.
Will all the current UI features move over, I suspect they will. They may not all happen at once.
So the first versions of the Chromium based browser will probably lack a lot of UI functionality you might expect.
Will it Still Use UWP?
I can't see that happening.
Windows 7, MacOS do not support UWP.
Is This Part of a Major OS Overhaul?
I think Microsoft is making some major changes to their consumer operating system strategy. That is why you are also reading about Windows Lite lately. I honestly know very little about this strategy, but it is a long time coming.
Maybe this will make the browser more portable to smaller, lower powered devices.
Pairing up to help Chromium work on ARM is a signal this change is part of the overall operating system strategy.
What this does mean is the Edge can finally ship out of band, or whenever the team feels like it. They will not be tied to operating system updates.
Will This Affect the Progressive Web Application Story?
Not really. At least not now.
The rendering engine is concerned with HTML and CSS, not service workers or user interface capabilities. The UI part is the add to home screen experience when it comes to PWAs.
Service workers are a completely different thread than the UI/rendering engine. It is actually a completely different sub-system, not affected by the rendering engine.
But Chromium does have some add to homescreen functionality that might be able to be implemented. This is one of those wait and see sort of things.
Will this Enable New Web Standard Support Faster?
With one less User Agent implementing web standards will this help bring new standards to market faster or slower?
I think faster.
Think about it, with Microsoft adding more engineers to the core rendering engine code base standards should be able to get to market faster.
But as we all know just throwing bodies at a problem does not get it done faster. It could add new layers to the process, something I always hate.
As I have stated web standards are already created as a collaboration between many companies. So I don't foresee that process changing. Just less code being written in the end.
The break from Windows will also allow the team to ship new features 'out of band'. This is when a Microsoft product has an update cadence outside the operating system update cadence. In other words the product's team can exercise their own discretion to ship updates without the Windows' team blessing.
So yeah, probably faster.
More Collaboration with Google?
They already collaborate about web standards. They share common frustrations and passion about making the web better.
Of course, the other recent browser news is that Microsoft has been helping Google port Chrome to work on Windows ARM. This means Chrome can be a store app, not that most consumers will really care. But it is nice to see them working together.
Will Edge and Anaheim Live Side By Side?
But, for now at least, both will be called Edge.
What About Enterprise Mode?
If you are not familiar with Enterprise Mode it is the way to still use Internet Explorer. It is targeted to help enterprises still use legacy business applications that are not written for modern browsers.
Even though Internet Explorer and therefor Enterprise Mode only has another year of life (more or less) it will still work. It is controlled using Group Policy rules and triggers a page or site to open in Internet Explorer.
The good news here is it should still operate the same. This means enterprises won't need to change anything for the time being.
We may see the story change on this, especially as we are nearing the real Internet Explorer execution date.
Enterprises May be The Root Cause of Edge Compatibility Issues
Home or consumer users tend to apply the latest Windows updates, including Edge. This means they get the latest features and bug fixes.
Enterprises are different. Despite typically limiting hardware options, enterprises tend to slow roll out Windows updates. For example, Windows Long Term Servicing Branch (LTSB) is popular with enterprise because it gives them the option to keep a much older, less stable operating system in production well beyond the time frame it should.
The prevailing IT support attitude is it's (the old version) is still supported and the enterprise focuses its resources other things, satisfied that employee and business systems are using "some version of Windows 10" instead of letting all systems have the latest Windows 10 with the current feature set.
This leaves old versions of Edge floating around, allowing many to have the impression Edge is 'buggy' even though the perceived bugs were fixed months earlier. For example, if a business laptop still has an older version of Edge it won't support service workers and of course the latest security features.
What Does This Mean for Mozilla/FireFox and Apple?
I added Apple to this section even though Safari is based on WebKit. They are just always horribly behind and for some reason seem to make the most mistakes, not sure if that is a fair statement, but you find the most implementation bugs in Safari it seems.
Anyway, Mozilla is now the primary 'other rendering engine' with Gecko. This means they now have a special role, to be the other implementation.
Folks talk about Edge not being adopted, FireFox has suffered a similar fate.
But let's get real here. In this context not being popular means only having 1-300 million users.
I don't know about you but that is a lot of customers. I think most businesses would die to have 1 million customers. I mean most TV shows only have 1-2 million viewers and are considered a success.
But choice, that is what we are really talking about. Will consumers have a real choice when it comes to rendering web pages?
Do they really care or even know what a rendering engine is? No, not really...sigh.
Sure, there are some edge cases where each browser either fails to do something correctly (ahem Safari), but for the most part they all implement the vast majority of the web specifications well. The < 1% they don't typically have minimal if any impact.
What really differentiates these days is the UI. This is where each browser makes or breaks it. They all have good ideas and implementations and some areas (like add to homescreen) where they are deficient.
The UI is where I really want to see variation, especially as a developer. I would love it if all browsers had the same engine to render my websites consistently. And right now they do.
For consumers, which matter even more, the browser should provide the best management experience.
If you take away the UWP issues Edge has done a great job here with Tab set aside and preview as prime examples I use everyday.
Will this Affect Embedded Browsers in Native Apps (wpf/uwp/etc)?
Hopefully you won’t see any real impact here. Typically, these embedded components are the last to feel an update to the core engines driving the browser.
Edge and other browsers are a collection of different systems. When you launch a Progressive Web App using Edge it launches using EdgeHTML and Chakra, without loading the browser UI components.
While this is similar to when you embed a browser component in a desktop application it is not the same. Those controls or components in your WinForm applications are typically coded against the engines available when the component was shipped.
While they do get updates, they tend to lag behind the actual browser itself.
Existing UWP apps, including Windows Store PWAs, will continue to use EdgeHTML/Chakra. Nothing will change for the time being.
Microsoft is planning a new WebView for application development based on the new rendering engine.
Will this Affect the Web Standards Process?
Since the dreaded Internet Explorer 6 time frame there has been a prevailing attitude that we must have multiple implementations of a web standard(s) in order to make them a standard.
Microsoft is given the most credit for this position. But they are not alone, Opera was once part of that mantra and Mozilla is still holding onto that position.
But do we really need multiple engines implementing the same standards?
If you are not familiar with web standards there are multiple bodies that define various specifications browser (technically known as User Agents) follow when they implement the specification.
But here is the thing, all the browser vendors participate in the standardization process. Each one has editors and contributors to the actual specification definition and discussions.
We have effectively partnered with Google and other browser vendors over the years, first in the W3C and now even more closely through the WHATWG, to create common standards for the web platform to reduce this complexity and to improve the overall web experience. While browser vendors across the industry have made significant progress in aligning to these common standards, the underlying implementations and differing release schedules have created difficulties for our developers to fully benefit from the promises of the open web.
They meet, in person once or twice a year and routinely chat and meet online.
You can always track what the Microsoft browser supports, will support and does not currently have any activity toward supporting on their Status page.
Microsoft Edge is Going Open Source
Shortly after making the official announcement Microsoft added a new GitHub repository for the new Edge's source code. The team will develop the browser in the open, like many other Microsoft projects.
Right now the repository is just a Readme document. There is no public statement on when the first source code will be committed to the repository. I suspect it will be sooner rather than later. Most likely the team already has a private repo where they have been testing the concept.
There is no current statement on if pull requests will be accepted or not. I imagine they will be since other Microsoft open source projects accept pull-requests.
I also don't know if the source code will include the 'application' part or will be limited to Chromium and V8, not the entire application.
My Final Thoughts
I think I saw this one coming and not to ding the Edge team, they have done a fantastic job over recent years making a great application.
Since Satya Nadella took over the top position at Microsoft they have been leaving what I consider the 'consumer' space more and more. Right now, basically all Microsoft consumer products I cared about have been discontinued, right down to XBox Fitness and the Microsoft Band.
I don't fault Microsoft for these moves, they are smart business moves. A business must focus on what makes it profitable and for Microsoft that is Azure and Office 365 licenses to enterprise customers.
In this week's Windows Weekly, Thurrott also states:
"no one makes money on a rendering engine"
He's right, the resources going into a rendering engine are sunk costs.
But a good web platform/browser is an indirect way to drive revenu, just like having a great code editor (Visual Studio for example) for your core business.
At the same time Microsoft does need the web to succeed, just like Google. They just need a different customer based to be successful, enterprises.
This means Google can push the web rendering engine from the consumer perspective and Microsoft from the enterprise. Their efforts will meet in the middle and everyone wins.
I want to conclude by quoting Aaron Powell from a private e-mail:
"At the end of the day EdgeHTML doesn’t just serve the browser, it supports a number of things within the Windows ecosystem, and does a pretty good standards compliant job of it."
And so, we see the end of over 20 years of Microsoft built web rendering engines. What a good run.
Now it is time to be a driver for an even better web platform!
This choice will have ripples through out the Windows application eco-system.
But I think this is probably a good business choice. I think with Microsoft and Google combining resources the web platform should progress even faster.
That I am real excited about.