November 7th 2012
Microsoft as a company has done a huge amount for the IT industry. As a teenager, my 2nd generation entry into the computer world (the first was a BBC Micro) was an Elonex 386 running Windows 3.1, and 23 years later I'm typing this on a laptop with Windows 7. However, this continuity has in part been due to the company's dominance within the desktop PC operating system marketing, a dominance achieved - allegedly [Ed-nicely vague!] - by anticompetitive and monopolistic behaviour. Without raking up past legal battles between Microsoft and others my main irritation with the company is how this style of behaviour affects its web browser, Internet Explorer (IE).
Standards, what standards?
Go back a few years and Internet Explorer was the browser used by over 50% of internet users. Corporate IT departments put Windows on the desktops and with the upgrade cycle traditionally slower in these environments, a B2B website had to be tested back to Internet Explorer 6, a browser first released in 2001 with Windows XP. Now, our testing just goes back to IE7 which is only six years old.
- Inconsistent support for the latest versions of cascading style sheets (CSS)
- Different handling of padding and margin CSS elements to the standards
- Inconsistent behaviour when "floating" elements as part of styling
- Poor support for transparent images in earlier versions of IE
- Deviation between versions of IE - i.e. a layout that works in IE6, will cease to look the same in IE7
One of the main things holding back IE and its support of features is the dogmatic view that browser release should be a version defined iterative process, IE6, IE7, IE8, IE9, IE10. These new releases often take years to be released and are often tied into an operating system release: for example Windows XP does not support IE9+; IE10 will be unsupported in anything but Windows 7+; and this goes directly in opposition to the fast pace at which new web technologies are introduced and adopted. This often leaves users lagging behind other browsers which take a more flexible and proactive stance on feature support and updates, updating their browsers automatically with new features without packaging them into a definitive product release. In contrast, Firefox has moved away from this philosophy and a recent series of releases went from version 4 to 10 in under a year.
What does this mean for web developers?
The code below will be no stranger to web developers everywhere.
Essentially, it is a series of if/then statements to display different stylesheets for different versions of Internet Explorer - either an attempt to get the same look and feel working across the browser versions, or a pattern of graceful degradation where the developer has perhaps accepted that those lovely rounded corners using CSS3 are never going to work in IE7 alongside the gradient background, so the older version will see a slightly different look and feel. For example, square corners and the gradient or vice-versa.
What does this mean for our clients?
As we progress along our web projects - with beautiful standards-compliant code, we apply browser compatibility testing. As our handcrafted site is displayed on Internet Explorer, even with an IE vs non-IE approach from the outset, we can guarantee there will be at least some "fixes" to do. A good analogy is going from looking in a mirror in your bathroom to a hall of mirrors in a circus tent - some have minor distortions but others do horribly nasty things to your appearance. The added time and therefore cost of IE compatibility has even made one Australian retailer, Kogan, attempt to charge more for web visitors using IE based on the amount of development centre around "just getting it to work in IE".
As an agency, Marketecture accept this as part of our development process and don't charge additional fees like Kogan, but we raise the IE issues today [Ed-we're not just ranting then?!] for the following reasons:
- To help raise awareness of why, in the final testing stages, layout bugs crop up
- To further introduce the concept of graceful degradation - the design you have approved as a client will be built but how it is displayed in different browsers will differ due to their individual constraints
What does the future hold?
Even Microsoft are trying to kill off IE6, but realistically, this issue will continue to act as a bugbear in the development team. We eagerly await IE10 and all the "surprises" that will bring although when we're all using tablets based on Google Android or Apple iOS, that might be better as Google are good with standards and Apple only hate Flash animation!