One of the obstacles to progress in digital is the limitations placed upon us by the tools available to users – the browsers and devices. In a perfect world all devices and browsers would use the same code base. We could write some code and we would know that every device and browser would treat it in exactly the same way. But of course we don’t live in a perfect world, instead each developer of a browser or device treats code slightly differently and this adds overheads to projects because we then have to text against each of these. This is why standards like HTML5 and CSS3 are introduced, they are supported across the board (by all the major browsers). But the other problem we have is with legacy versions of browsers. Unfortunately older versions of browsers don’t support newer versions of code, which leaves us with two choices when developing new things:
- Use older technologies which limit creativity and make it harder to achieve a good result
- Build something that has a ‘graceful fallback’ for browsers that are older
The problem with the above is you have to make a compromise either way, option 1 limits the experience and option 2 adds budget and testing. Of course the 3rd option is to ignore older browsers…which may or may not be at your own peril.
So the online world is frustrating for developers, to say the least. But one particular browser has traditionally caused a lot more problems…and for each generation there is a new version to cause issues. Of course I speak of Internet Explorer, a browser that has become synonymous with cursing developers and irritated clients, inflated budgets and frustrating user experiences. When I first started out in digital the real problem was IE6, which at the time was still used by a lot of bigger organisations despite the fact IE8 was out. Thankfully this relic browser was retired a few years ago but with the emergence of HTML5 and CSS3 IE7 then became the new 6.
A couple of years ago an Australian shopping site got so fed up with the overheads imposed by Microsoft’s browser that they decided to impose a tax on users of the older IE7 browser unless they switched to another browser. Obviously Microsoft weren’t impressed, but maybe they should have taken note of the reasons behind the move.
One of the reasons this has occurred is no doubt that for years Microsoft had an unchallenged share in the market. Pretty much every PC in the world came with Windows and IE installed and for the most part people didn’t know there were alternatives. For Microsoft’s part, they have time and time again chosen to interpret the standards differently to the other browsers, causing issues for developers and bad experiences for users. An example is their interpretation of multiple file uploads. Most browsers would allow you to hold down Ctrl and multi-select files by clicking on them. Microsoft decided, in their infinite wisdom, that in IE you would have to select a file, add it to the queue, then go back and browser for another file, add it, and so on. A ridiculous experience.
Microsoft’s perceived arrogance in this area is being tested now. They continue to make the same mistakes and cause the same problems as they always have done, but they are being forced to change. One of the reasons for this is that IE no longer has a vast majority stake in the browsing market. Gone are the days of dominance, now Firefox and Chrome has made massive advances and on MAC no one would contemplate using IE anyway…lest their MAC would literally shut itself down out of embarrassment. The other reason is that users are becoming more savvy. Users realise that IE isn’t a very good experience when compared to other browsers and so make a choice not to use them. Of course, the growth in the use of devices that don’t have IE as their browser has also helped here. Hopefully Microsoft will take further note and try to converge rather than diverge and let us develop better experiences more easily and cheaply than they currently do.
But a word of warning to finish with. For years Microsoft created a rod for it own back by choosing not to go with the flow and insist on their own proprietary way of doing things. Sound familiar Apple? Already in development we are seeing issues arising that are not seen in other browsers. For example, the way Safari deals with PDF downloads can cause issues without the right plugins. Apple only accept their own formats of certain file types as well. And of course, they are renowned as a company a company that rejects all other tech except their own.
Of course it is unlikely their will ever been a completely unified approach to code and with more and more devices being used this is only going to get worse. Luckily they mostly stick to the standards, but there will always be problems that we need to solve as developers and that is why the job isn’t easy!