Microsoft has occasionally described their new browser Edge as being evergreen, so "developers can rely on Microsoft Edge users always having the latest version of the rendering engine". In this context, "evergreen" means browsers which auto-update, like Google Chrome. However I was a little skeptical of the description of Edge as evergreen. One aspect they have not highlighted is that Edge updates still come as an operating-system level update through Windows Update - just as Internet Explorer updates did. This means updating your browser means running an OS upgrade, with all the surrounding issues with compatibility, drivers, UI changes, and an often bafflingly lengthy install process. I think this is crazy especially on platforms where there is an app store, like there is on Windows 10. A browser is just an app, not an OS-level component like the driver support or memory management engine, and the app store provides the perfect place to host OS-bundled apps and update them on an independent schedule to the OS itself. Despite how much sense it makes to do this, both Apple and Microsoft have their browsers as built-in OS components, and their browsers thus have the same fate as their OS.
So I was curious to find out how Edge compares to, say, Chrome's update cycle. StatCounter global stats is my favourite source of data for browser usage, covering a sample of 3 million websites. Lots of sources reference Net Applications data, but it samples just 40,000 websites and has considerably different results. StatCounter covers a whole 75x as many websites, so I think they have a better representation! Anyway, Edge 12 was the original release of Edge, and Edge 13 came out in November. So let's see how Edge updates are progressing according to StatCounter:
This data covers November 1st 2015 to February 2nd 2016. Since Edge 13 comes as an OS update, we are really measuring how many people are updating Windows 10. Over two months later, Edge 12 still represents about 26% of all Edge users. There are two ways of looking at this: on the one hand, wow, that's a pretty fast rate of OS updates! On the other hand, that's not the fastest update rate for a browser. Let's compare it to Google Chrome over the same period:
Over the same period there were actually two Chrome updates, with versions 47 and 48 coming out (48 being a very recent update). By the end of this period, the starting version 46 fell to just 2.5% of these Chrome versions. Even version 47 has already fallen to about 10% within a week of 48's release. I'm not entirely clear why 2.5% of users would be left behind. Perhaps they are using special settings to block Chrome updating. Another possible explanation is since Chrome's engine is open source, some vendors release their own-brand variants that identify themselves as Chrome to websites but lack the official auto-update mechanism (for example "Chromodo", Comodo's shockingly insecure variant.) This could mean "official" Chrome is more-or-less 100% updated over this period, but I don't have any real data to back that up. Either way, the upgrades are so close to complete that old versions quickly become irrelevant, and the web can move on.
Is this the case with Edge? The situation is still far better than with Internet Explorer. IE8, released six years ago, clings on with 1.5% of the global browser share (ironically, still more than Edge 13!). It seems unlikely Edge 12 will stick around that long. However Edge 12 remains in significant use a couple of months after an update. Updates even look like they are starting to slow down. There's also uncertainty around the Windows 10 update schedule: there may be options for enterprises to stick to a much slower cycle to avoid surprises with updates, and this will correspondingly lock them to an older version of Edge. There does not appear to be an option for Edge to still be updated while staying on the same version of Windows. This raises the worrying prospect of old Edge versions clinging on with small shares just like old versions of IE still do.
I don't think it's fair to say that Edge is evergreen. As web developers keen to use the latest browser technologies, it appears we can't rely on Edge users always having the latest version. The update process is too slow, and there is too much uncertainty about whether future users will regularly update, because Edge is still shackled to the OS. I would like to propose a new definition for "evergreen" which I think is reasonable:
An evergreen browser will update 90% of its users within 6 weeks of a new release.
I think there should also be a provision for something like "at least four updates a year" specifically to exclude the annual cycle Safari has taken in the past, but let's ignore that for now. How well does each browser meet this definition, according to StatCounter's data?
- Chrome: 96.8% of v46 users updated to v47 after 6 weeks = evergreen
- Firefox: 96.0% of v42 users updated to v43 after 6 weeks = evergreen
- Edge: 60.3% of v12 users updated to v13 after 6 weeks = not evergreen
- Safari (desktop): 72.4% of v8 users updated to v9 after 6 weeks = not evergreen
Even Safari on iOS 9, where Apple highlight the adoption rates of new releases, only reached 74% of iOS 8 users after six weeks, according to Mixpanel Trends, which appears to be more optimistic than Apple's own official data.
When Microsoft decided to make a whole new browser to leave behind the IE legacy, they missed a great opportunity: to unshackle the browser from the OS. Sadly Edge remains a component of Windows. I don't know any technical reason that has to be - Android exemplifies a system where both the default browser and the system webview control auto-update independently of the OS. Perhaps Microsoft are still tied up in awkward legal issues left behind from the early-2000's antitrust cases.
It seems to be impossible to reach this definition of evergreen with a browser that only updates with the operating system. I think that makes it a good definition! Based on this, I don't think Microsoft should call Edge evergreen, as it's closer to Safari than Chrome. Browser vendors, please - follow Android's example.