Chris Zacharias published a few notes about why the team at YouTube added a banner that asked users to switch from IE6 to a more modern browser back in 2009:
The bittersweet consequence of YouTube’s incredible growth is that so many stories will be lost underneath all of the layers of new paint. This is why I wanted to tell the story of how, ten years ago, a small team of web developers conspired to kill IE6 from inside YouTube and got away with it.
I do not recall the exact triggering event that led to our web development team laying out plans to kill IE6 over lunch in the YouTube cafeteria. Perhaps it was the time I pushed out a CSS stylesheet that included an attribute selector on a semi-supported HTML element. Any reasonable web developer would expect this to be ignored by browsers not up to the task. This was not the case with older flavors of IE. Under very specific conditions, an attribute selector on an unsupported HTML element in IE would create an internal recursion that would at best, cause the browser to crash and at worst, trigger a blue screen of death.
There are a lot of interesting things to consider here. IE6 was notoriously difficult for developers to work with and would cause teams to spend a great deal of time fixing game-breaking bugs for what often represented a mere slither of their overall site traffic. However, it’s important to note that as soon as you make a call like this, where do you stop? It suddenly becomes easier to make a Chrome-only website, to ignore basic accessibility principles, to ignore semantic markup, and to make a website optimized for yourself. That leads us to more sticky topics, such as browser diversity and proprietary resources that seem at odds with an open, inclusive web.
I’m reminded here of Jeremy Keith’s book, Resilient Web Design, where he writes:
If a website is built using progressive enhancement then it’s okay if a particular feature isn’t supported or fails to load: Ajax, geolocation, whatever. As long as the core functionality is still available, web designers don’t need to bend over backwards trying to crowbar support for newer features into older browsers.
And Jeremy quotes Mat Marquis, who happened to work on the responsive redesign of The Boston Globe, where he argued that:
Lots of cool features on the Boston Globe don’t work when JS breaks; “reading the news” is not one of them.
Maybe there’s a middle ground here; maybe there’s not. But I find Mat and Jeremy’s approach to be more inspiring and kinder to the overall health of the web.
I would like to see more articles that talk about web/Internet ethics like this one, to the point that the creation of a new tag or category “web ethics” is justified. Bravo Robin!
As a Front End Developer having to support IE6 early in my career, I would like to thank the
OldTubers
for their courageous act and for making the web a better place for everyone.Now, an engineering manager myself, I would like to pay tribute to these unsung heroes by creating an
OldTuber
permission and handing it over to the trusted few senior devs who have been with me from the start.As a developer who often lamented the time wasted on trying to make IE6 play nice, I applaud Chris and the YouTube team’s ingenuity. Web developers everywhere owe you a debt of gratitude.
I find it ironic that you mention an open, inclusive web given that Microsoft was guilty of adding proprietary “features” to their browsers to try to hijack the web and turn it into an extension of Windows.
I think that this article must be some kind of joke, because the logic doesn’t makes any sense whatsoever:
– “However, it’s important to note that as soon as you make a call like this, where do you stop? It suddenly becomes easier to make a Chrome-only website, to ignore basic accessibility principles, to ignore semantic markup, and to make a website optimized for yourself. That leads us to more sticky topics, such as browser diversity and proprietary resources that seem at odds with an open, inclusive web.” No, it does NOT. Those things are standards that were agreed upon and are an integral PART of the “open, inclusive web” you speak of. With IE6, Microsoft decided in many instances NOT to follow open standards, but to make up their own instead – which is the exact OPPOSITE of an open, inclusive web.
– “progressive enhancement”. But that’s exactly the point : With IE6, many normal modern patterns of progressive enhancement were IMPOSSIBLE. Other browsers that encounter a statement they don’t understand just skip that statement and move on – and that’s how things are supposed to work. IE6 on the other hand did NOT do that but, in fact, CRASHED in some cases of encountering those statements. Progressive enhancement, the very thing you champion here, was not only almost impossible to do for that browser, but actively hindered for people not even using that browser.
The very things you talk about here as better ways are only possible BECAUSE web designers collectively decided to stop bending over backwards for IE6 and instead using STANDARDS and making the browser developers take care to actually follow those standards.