This article will take around 5m 22s to read according to Read-o-Meter.
If you were an internet user in the early ‘90s, you probably remember 28.8k modems, that horrible sound as your computer ‘dialled up’, and waiting 3 minutes for a single nudie image to load – only to find out it was censored :sad face:
Choosing a browser at this point in time was a no-brainer, you probably owned a PC with Windows and, as such, used Internet Explorer. But, around this time started the epic browser wars. An on-going series of battles, by an increasingly large number of camps, with blood spilt on all sides.
Still persisting to this day, it plagues the life of web developers and users alike.
Ever visit that awesome looking website at work one day, only to get home to load it up on your laptop and it looks all screwy? Buttons don’t work, menus are misaligned, images are all skewed…? You know what I’m talking about.
You see, each different web browser, from Microsoft’s Internet Explorer, to Mozilla Firefox, to Google Chrome, and all those in between, use different rendering engines. What this means – in simple terms – is that when the web server sends the raw information to the browser to render on screen for an end user, it is up to the browser to decide how it would like to display that information.
There is a current set of web standards which are in place, but they’re not mandatory, and in some places they are actually quite vague. What this results in is different browsers displaying the same content differently. The code is always the same, however, displays completely differently depending upon which browser you view it in.
As a web developer, we have to take this in to account and code our web applications to support all of the major browsers. I don’t mind telling you right now that cross browser testing, and making changes to my code to accommodate multiple different browsers, is the most tedious part of my day (please don’t tell my boss!). Do you know how long it takes to test all the functionality of a web site in 10+ browsers across 5+ different platforms?!
However, with vendors wanting to support the latest web standards and provide a consistent user experience, this is gradually becoming less of an issue to contend with, save for one particular culprit – Internet Explorer 9 (IE9).
As Microsoft officially announced late last year, from January 12th 2016 there would be no support for all versions of Internet Explorer less than IE11. Yet, we are still having requests coming in that ‘require’ support for IE9 & 10. So, I think it’s about time to have that discussion on whether we should support older and out-dated versions of IE or not.
There are valid arguments on both sides…far too many to cover in this short blog post, so I will try to present the most common reason that we, as web developers hear.
x% of my visitors use it!
Please let me break that down using some deductive logical reasoning.
- My visitors use IE9.
- I need to accommodate my visitors.
- My web site needs to support IE9.
It seems like a perfectly valid argument, doesn’t it? Well, yes, it is a valid argument. However, a valid argument does not necessarily lead to a valid or true conclusion.
So, with that in mind, let me expand on that argument by adding notations to each premise and conclusion.
- My visitors use IE9.
- IE9 is no longer supported by Microsoft and has widely known security issues and exploits, which will never be fixed.
- IE9 only comes on Windows 7 or earlier operating systems – also unsupported by Microsoft.
- I need to accommodate my visitors.
- I would like to give my visitors using IE9 the same experience as those using other web browsers.
- I am willing to allow my visitors to use unsafe software so that they can achieve this experience.
- I need to support IE9.
- I am unwilling to explore alternatives to supporting IE9.
Don’t feel bad, I didn’t at first, and then it dawned on me. Not advising clients, and ultimately end users, about these facts is actually unethical (by my standards, YMMV).
Given that, I’d like to explain how we, as developers, usually go about supporting IE9. I would then like to propose an alternative conclusion, which from now on we’ll refer to as the solution – because this is a problem.
- We ‘play around’ with values in our code to see if we can make IE9 ‘happy’ enough to display the page the same as in other browsers.
- We add conditional statements in our code. This means that we test what browser the visitor is using and then determine what ‘version’ of code to serve them. This adds significant development time to a project.
- We hope that these ‘glitches’ are small enough to go unnoticed.
As you can, hopefully, see. These are not true solutions to the underlying problem – the visitor using out-dated and unsafe software. We are pandering and encouraging complacency with regards to updates and security – two of the most important factors a computer user should be considering.
Instead I would like to propose the following solution…
This is a two-step process:
- Dealing with clients on a daily basis, we should bear the responsibility of informing our clients of the potential risks.
- We should inform our clients on how to articulate this message to, potentially, less tech-savvy end users of their website.
My personal preference would be to develop a web site that conforms to web standards and looks great in all modern browsers. We would then test the browser the visitor is using and give them a gentle reminder that the website may not work correctly in their browser. This message would also inform them that they are at risk, and link to a reputable source such as the Microsoft website, then offer them an alternative.
Ultimately, at Burfield Digital, we are an agency, as such we do everything within our power to keep our clients happy and develop a solution that finely matches the agreed upon design brief and functional specification. However, as a client, one should always be informed and aware of the various potential implications surrounding their next project.
Hopefully, if for nothing more than satisfying what I consider to be my moral obligation, this post can serve as a basic outline with regards to supporting out-dated browser software for ones’ end users. In doing so, when we work together on a project, we can discuss – together and in depth – how best to accommodate the needs of both you and your visitors.
- Browser Wars, Wikipedia, (2004 – 2016). https://en.wikipedia.org/wiki/Browser_wars [Accessed 13 Mar 2016].
- Internet Explorer End of Support, Microsoft (2016). https://www.microsoft.com/en-gb/WindowsForBusiness/End-of-IE-support [Accessed 13 Mar 2016].
- Cross Browser Testing, AppPerfect, (2003 – 2016). http://www.appperfect.com/products/web-testing/cross-browser-testing.html [Accessed 13 Mar 2016].