Graceful degradation?! To hell with it!
Warning: this article is not for the faint of hearth, read it only at your own discretion!
During my career as a web developer and even in the last few years my customers came to me with the following requests:
I want a site that’s modern, has a great deal of visual features (meaning effects and responsive design) and has to work under Internet Explorer 8.
And this is the point where I probably should not go into a lengthily explanation… But I usually ask is why?
The Hungarian browser market share of Internet Explorer 8 is around 1,5%, 9 is not much behind (combined they are just over 2%), and these two cause the most problems when developing an application for the web. Of course there are lofty ideas and methodologies like graceful degradation, feature testing, but are they cost-effective?
While most browsers support a plethora of functionality like CSS Media queries, transitions, transformations to begin with and we could go on and on about what’s missing from the older Internet Explorers, we’re stuck with them and because of this, our options are limited.
One can apply a methodology like graceful degradation while developing the application extending the development time with even more testing and exception/fallback handling.
Then there’s the easy way… Ignoring them… Okay, okay, not entirely… but mostly. The best way to do this is to tell the users about the little fact that they’re using an outdated browser and for the sake of features/functionality/experience/security, they should update or switch for a better one.
I belive that developers should represent a solid, unified front for progress in questions like these, and should limit legacy system support for a bare minimum, because putting aside all the progress in recent years we’ll still have support legacy systems well after their expiration date. Which in turn only causes troubles/nightmares/overtime/increased expenses, as in some cases we have to create a separate system to support the legacy systems, and that only increases complexity which is not a desirable goal in any case.
Please spread the word if you share this sentiment!