Microsoft Edge Chromium Released to the Developer Channels - Why I Think I May Be the Best Browser Ever!
Microsoft has finally released the first version of Microsoft Edge based on Chromium to the public. It is an early preview build, analogous to the Chrome Canary version.
This is a huge day for the web and the Microsoft browser team. But we, developers, business owners and consumers stand to benefit the most.
The Microsoft browser team made the original announcement in December 2018 using a code named 'Project Anaheim'.
Today's initial release should not be considered 'ready for general consumption', but should be considered stable enough if you want to test it out.
Expect bugs and missing features at this point, some I will cover later in this article.
What does this mean for businesses and developers?
In many ways it means the things that separate Microsoft Edge vs Chrome as much fewer.
It means now only Apple's Safari and FireFox are using custom browser engines to render the web.
It also means that web standards are really implemented by a dominant engine. Some fear this will weaken the web, but after considering the change I think it makes web standards better.
I think the main reason why is the web standardization process tends to be slow, hung up in multi-organizational buracracy. While browser vendors communicate about all standards way more than you would expect, now they can pool engineering resources to actually ship implementations faster.
I like faster!
What teams like Microsoft, Google and others based on Chromium can spend more resources on is making great browser user experiences. This is where they differentiate themselves anyway.
Edge has been my favorite browser for its UX features like tab set aside, tab preview and superior touch support. I can't tell you how often I try to swipe back in Chrome only to have to hit the back button. It just feels so analog.
Chrome and other Chromium based browsers have had the advantage with a vast extension eco-system and amazing developer tools.
Now instead of replicating those features Edge just inherits them.
Don't worry, Microsoft is not just 'stealing' other people's work. They are adding to the Chromium engine. Here is just a quick list of additions either contributed or in the process of being contributing:
- ARM64 Support
- Additional Media Codec Support
- Windows Hello (this is amazing stuff folks)
It is Still Microsoft Edge, Just Better
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:
Progressive Web Apps
This is my favorite feature, the ability to 'install' Progressive Web Apps to the desktop.
Edge has supported PWAs for sometime now, but lacked a good installation story. The only channel you had was to submit your PWA to the Windows store and hope users found it and were willing to go through the common app store friction to install your PWA.
Now you can prompt them while they are visiting your website.
Edge supports the 'beforeinstallprompt' event, which gives you programatic control over when the prompt is displayed to visitors.
The basic criteria for this event are HTTPS, valid web manifest file, a registered service worker with a fetch event handler and some basic user interaction.
The last is a little subjective. As I understand the interaction requirement it means being on the page for about 30 seconds. But I have visited pages that trigger the prompt much faster.
Once the Add to Homescreen Prompt is displayed the user can chose to 'install' the PWA. This will create an icon on the desktop and sort of add it to the start menu.
I have to say 'sort of' because I find it difficult to find PWA icons from both Chrome and Edge right now. I can find them if I search for them.
You can also pin the installed PWA to the expanded start menu and the computer's task bar.
I have been revisting severla progressive web apps, like this site, Google Analytics, Uber, Starbucks, etc to verify the behavior. So fat so good and right on expectations.
When you open a PWA from a desktop icon it launches just like any other desktop application, without the browser user interface (address bar etc).
The application chrome has the standard minimize, full screen and close buttons in the top right corner. You will also see three horizontal dots just to the left. This is the menu icon to expand the browser settings window.
It is a trimmed set of features, limited to common usability features like printing. You won't see the menu item to open the developer tools. You can just press the key combination, F12 or Ctrl + Shift + I to open the developer tools.
I am still evaluating if additional service worker functionality it live, like background sync. I will get back to you when I have time to flesh these things out.
Edge Developer Tools
After improved PWA support the developer tools are the best feature. For most developers this will be their favorite feature since we live inside these tools.
The developer tools are currently an exact replica of the Chrome tools with a few minor tweaks.
The first thing that caught my eye is a different icon to toggle the device toolbar. This really means turning the responsive design emulator on and off.
If you are like me and build mobile first solutions you spend a lot of time using this feature.
I don't think they have had time to integrate some of the Edge specific developer tool features in the Chromium toolset yet. But I suspect they will be coming soon.
This has been a thorn in Microsoft's side. Despite adding extension support in Edge they never could really get traction in the broader community. While most Chrome extensions could be easily ported to Edge, few took the time for the process and added support.
You can still install Edge specific extensions in the new Edge, but you can also install all Chrome extensions.
And they just work!!!!
I have never been a big extension user, but like most use ad blockers and a couple of utility extensions. So this has never been a deal breaker. But I have a feeling I might invest more into the extension scene now.
I would not normally cover something like the settings interface, but the team has gone out of their way to make this better.
The standard chromium implementation is rather dry and looks like engineers designed it, not someone that cared about usability.
Microsoft changed the layout to be more like the standard Windows 10 Settings UI, with an understandable menu along the left-side. The individual options are laid out in an easily digestible style.
I think this effort will resonate well with general consumers because they will not feel as intimidated by the layout as other browsers.
Missing Features & Bugs
Remember, at this point Edge is only available in Canary and developer channels, not general release. This means there are things missing and broken.
This is a quick list of things I have noticed:
- Swipe Back
- Tab Set-Aside
- Tab Preview
- Advanced PDF Editing
I don't know if it is the new Edge or maybe a few of the sites I use requiring 2FA (two factor authentication) but it seems to struggle retaining the 2FA token. I am prompted for my 2FA several times because it finally sticks.
So far these are not deal breaks as Chrome does not offer these features either.
I will say the ability to manage favorites is better. I may finally clear up that clutter and some bookmarks I made 15 years ago!
Microsoft Edge Chromium Goals
Microsoft is 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
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 Support Chrome Extensions?
- 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
The change does allow Microsoft to ship Edge on Windows 7, Windows 8.1 and MacOS. This gives them similar coverage to other browsers. I left Linux out of the mix, but this does not mean there is no future option of shipping a Linux version.
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.
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 Support Chrome Extensions?
The plan is ti support Chrome extensions. This will open Edge up to the existing eco-system. While Edge supports extensions based on a standard created in collaboration with Mozilla and Google, the Edge extension ecosystem never really took off.
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.
Wrapping Things Up
OK, I am going to get opinionated here...
This is the best freaking browser I have ever used. Within minutes I was looking for how to make it my default browser.
It is fast and looks great. The Microsoft Fluent style theme I find more appealing than Chrome's. It is a subtle thing, but something I like.
Having all the bells and whistle of Chrome put Microsoft on an even plataue with their Bay Area competition.
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.