The status quo with regard to how users receive browser upgrades has changed dramatically in the last few years – modern browsers are now evergreen, they are never significantly out of date with regard to standards support (generally a matter of weeks), and ones that are not (generally mobile) are statistically never more than a year or so back. This means that in 2013 we can write software using standards and APIs created in, say, 2012 instead of 2000 – but by and large we don’t – and that is hurting us all.
It’s not about a specific version…
Historically, a large number of users of got their browser upgraded only as a side-effect of purchasing a new computer. Internet Explorer 6 was released toward the end of 2001 – well over a decade ago – pre-9/11/2001. It wasn’t fully compliant with the standards of the day – and for five years, nothing much happened in IE land, so anyone who bought a new machine until about 2007 was still getting IE6 for the first time. This meant that until very recently many businesses and Web authors still supported IE6 – and it was only with active campaigning that we were finally able to put a nail in that coffin.
So, now we’re all good – right? Wrong.
A great number of companies have followed their traditional policies and took this to mean that they must now offer support back to IE7, some have even jumped to IE8 which seems like a quantum leap in version progress, but… If you write Web sites or run a company that does, this is now hurting us all: it’s time to stop.
The problem is in the gaps not the versions…
Let me add some data and visuals to put this into perspective… If you were to create a giant table of features/abilities in the Web Platform today in most evergreen and the vast majority of mobile browsers and compare them with the abilities of non-evergreen IE browsers, remove the features that have been in there for more than a decade and then zoom WAY out, you would see something like the image here (and then you’d have a lot of scrolling to do). Rows represent features, the green columns on the left represent evergreen browsers and the red columns on the right represent IE10, 9, 8, 7, 6 (in that order).
If you want the actual dirty details and to see just how long my (incomplete) list of features really is, you can take a look at:
- this table which uses data from caniuse.com and shows that 109 out of 134 features that they track are supported in most evergreen browsers, but pretty much none of them before IE9
- this table which uses data from webbrowsercompatability.com and shows 460 of a total 1403 properties/features that they are testing for are available in most evergreen browsers but, again, pretty much none of them before IE9.
Now, if you really look at the data, both are slightly flawed, but the vast majority of the picture is crystal clear…
- There are an ever increasing number of gaps in ability between evergreen browsers and old IE. More importantly is where the gaps are: Many are some of the most powerful and important sorts of features to come to the Web in a really long time.
- We can’t wait years for these features because meanwhile the user/business expectations for features made possible by these APIs keep increasing.
- Solutions/workarounds for missing features are non-standard. They start getting bulky as you increase their number, they are less maintainable, require more code and testing (anecdotally, I have worked on a few small projects that spent almost as much time working out cross browser problems as the entire rest of the project).
How it hurts us all…
Directly, this is hurting you or your company because it means you spend a significant amount of time and money developing for and supporting browsers which are so far behind the curve – and the work you are doing is already out of date.
What’s more though, by supporting them you are effectively enabling these users to continue inadvertently bad behavior which is free to fix – and the longer they stay around, the more other companies follow suit. You are creating a self-fulfilling prophecy: My users won’t upgrade.
What can we do?
Luckily, this is actually a really solvable problem… All we have to do is get users to upgrade their silly browsers – and it’s free.
I propose that we set two dates as a community and do the following:
- Try to get cooperation from major sites like we did for SOPA and make sections of the interwebs go semi-dark for those users (like we did for SOPA) on the first date – while we tell them about the second date (next bullet)
- Upon the second date, we collectively stop serving them content and start serving them up 403’s (I’d propose July 4th – Independence Day in the US, but that doesn’t internationalize well).
I think there are a very small number of users who still don’t have high speed access, for those people, you could recommend them to Best-Buy where they can pick up a copy of Google Chrome on CD. If you have other ideas, want to help coordinate a date, want to submit scripts that people can use to black out their site or even want to share another way that users can get disks by mail, leave a comment.
Clarification: I am not suggesting that the entire Web start serving 403 responses to anyone with an older version of IE here – I am suggesting that sites stop support/new development for those browsers. Eventually, for some classes of sites, this will mean that their site is actually unusable (try using twitter or google plus with IE4, I haven’t, but I bet you won’t get far) – if that is the case, a 403 page asking users to upgrade is an entirely appropriate response which is actually better than a broken user experience. This is about helping users to help us all.
Our support of non-evergreen browsers is killing us all, let’s work together to spread the word and fix that pro-actively, as a community.
Thanks to Paul Irish and Cody Lindey for helping to hook me up with some data.