In a recent project that I’ve been working on I was able to reach a new level of frustration and aggravation with Internet Explorer. Any front-end developer with more than a week of experience could tell you horror stories about Internet Explorer and how wonderful it is to develop in ‘modern browsers’. We mistakenly clump Chrome, FireFox, Opera, and Safari under one inaccurate label, and not bother with a label for the versions of Internet Explorer. We need to correct our way of thinking about the differences between these browsers by looking at why they’re different. And if we consider the real reason that they’re different, we can fix the real problem with Internet Explorer.
Modernity is a Myth
Nothing you buy is the ‘best’. You’ll never buy the best smart phone, because there’s always a better one in development. Your computer with a one-terabyte hard drive is out-of-date when it gets to your house, because the 2TB hard drive was already in development. Computers evolve too fast for consumers to ever keep up. The best we can do is fall behind at a graceful pace.
Software is no exception at all. On a daily basis my iPod Touch has new application updates of some sort, either for the apps themselves or for the OS. It’s downright frustrating that something like iTunes on my Mac has to get updated every few weeks, but what choice do I really have? If I choose not to update or upgrade, I force myself to live with bugs or to be deprived of features.
The Principles of Upgrades:
- Application changes are as drastic as the operating system (OS) will allow and as frequent as the market demands.
- The OS changes are as mild as the market will allow, but as frequent as the hardware will permit.
- The hardware changes are as drastic and as frequent as the market demands.
So we have a problem. An application can change as much as is technically possible within the limits of an OS. But the bounds of change within the OS are user-based. The market demands a usable OS first, and then demands that those changes are to the upper limits of the hardware. We want quantum computing, but first we want an OS that keeps our computer safe and stable. We’ll always demand a stable operating system before a fast one. 4GB of RAM in Windows XP is better than 8 in Vista.
This little economics lesson is important because it means that we can never be “modern”. We can only be close to it. So, if we acknowledge that modernity is out of reach, we can move on.
If Chrome, FireFox, Safari and Opera are Modern, then what’s IE?
Having established that modernity is unobtainable and that there are both market and technical forces at work, I think we need to address the terminology we use for browsers. We’ve been in the habit of calling the fab-four “modern” because they support new HTML5 and CSS3 standards. Though technically, because these specifications aren’t finalized, they aren’t ‘standards’, are they?
The fab-four are progressive; they are updated almost as rapidly as new specifications are written. Internet Explorer is not. The fab-four follow the established standards. Internet Explorer didn’t follow standards until IE8.
If we’re looking for one powerful and important distinction between the two groups, it should be progressive-standards. The fab-four follow all of the current standards as well as soon-to-be standards. Internet Explorer follows standards as they have been prescribed at a given point in time. So let’s call IE ‘fixed-standards’ and the others ‘progressive-standards’.
Now, if we agree that modernity is unobtainable, and that the real difference between browser sets is how fast they adapt to new and upcoming standards, should we really be angry with Internet Explorer?
It’s not (totally) Internet Explorer’s Fault
Microsoft is both the provider of an OS and the provider of a web browser. In fact, the two are tied together with a very thick rope. Now, Apple is also the provider of an OS and a web browser, but OSx and Safari aren’t tied together. Yes, I’ll blame Microsoft, but I’ll blame the market, too.
An application changes as drastically as the OS allows and as frequently as the market demands. But remember, the OS changes as mildly as the market allows and as frequently as hardware permits. CSS2.1 became a candidate recommendation first in 2005,and again in 2007. XP was released in 2001, and Vista was released in 2006. IE7, the last of the non-standards browsers, was released in 2007.
Internet Explorer was trapped in the upper limits of what the OS would allow, which itself was bound by market demands. Microsoft’s real mistake was, and is, tying the web browser to the OS. Vista wasn’t the best OS in the world. So the market demanded Windows 7, a huge financial cost for upgrading. That means that lots of companies are still on XP, whose OS won’t allow higher than IE8.
Sure, it’s Microsoft’s fault for tying browser to the OS. And it’s their fault for Vista (which can run IE9). But it’s our fault that we want either XP or Windows 7.
The Free Browsers Change Things
For all practical purposes, we can say that the majority of the computing world is either a Mac or a PC and there are financial and operational disincentives for switching or upgrading. So we can assume that companies and individuals live in a fixed-OS world.
So that’s where FireFox, Opera, and Chrome change things. They are 100% free, capable of maximizing the potential of the OS, and OS-agnostic. There is no disincentive for the user to switch or upgrade. So if there’s no financial barrier, what’s the motivator to switch and upgrade, then?
Usability and User Experience are the Competition Point
With no price point to compete with, what web browser do you pick? The one that looks the best and performs the best. So FireFox, Opera, and Chrome compete with each other by not being fixed-standards. If they create a poor user interface, or don’t offer the latest CSS module, two other browsers offering a better user experience gain a user.
The Free Software Principles
- User Experience is the primary incentive for a user to switch or upgrade any free software
- Free softwares, therefore, compete with each other by enhancing the user experience
So, neutralizing the pre-installed browsers, the big three gain market share by being as progressive as the OS allows. Chrome is obviously winning that battle, but what’s fantastic is that it’s forcing FireFox and Opera to push themselves even further. They aren’t lowering prices, they’re adopting the latest drafts, modules, and experimental features.
Capitalism 101: competition is good. Web browsers are competing for our attention by being more awesome.
So What’s Really Happening with our Browsers?
Microsoft gets paid from OS purchases, not IE downloads. Apple’s money comes from Macs, iPads, and iPhones, not Safari. And if you don’t like the pre-packaged browser, they know the user can switch – at no financial loss to them. They make money off of the market-share of operating systems, not web browsers.
Economics 101: You have supply and demand. We demand that free web browsers be awesome, and they supply awesomeness.
So What are the Take-Aways?
Internet Explorer will always suck
- Lower your expectations for IE. It’s never going to be awesome. Let’s expect ‘decent’ and call it a win if it makes it to ‘good’.
- There are strong forces that will always trap a large group of users into an older version of IE.
- You will bitch about IE10 when we’re on Chrome 45
Chrome, FireFox, and Opera will always be awesome
- If you’re a developer, you absolutely should be experimenting with new APIs, it’s a driving factor for these browsers to improve
- If you’re a designer, you absolutely should be following progressive enhancement . Your decision to make things 10%, 15%, or 50% more awesome in another browser is the driving force for users to switch to better browsers.
There’s a Right Way and a Wrong Way to Move the world off of IE[x]
A few days ago, news got out about Australian retailer Kogan implementing an IE7 tax. I cannot state this more clearly: This is not how you fix the problem.
Charging the end-user for their browser choice isn’t right. You don’t know their circumstances that have resulted in their browser choice. Though they can freely switch web browsers, they may be limited by company-provided security policies, or, more likely, by their OS – which subsequently is a financial barrier.
- Don’t charge the end user for their browser choice. The developer should charge the company for its choices
- Log your IE development hours separately from your progressive-standards hours. This enables clients to actually quantify the cost of IE7. If 6% of traffic is IE7, but it’s 25% of dev time, the client can see that it isn’t worth it
- Provide quotes and estimates for browsers and even individual design features. If rounded corners and shadows cost a few hundred dollars more in IE8 and 7, the client is more likely to let it go
It’s not a fight between modern browsers and IE.It’s about free browsers and OS-packaged browsers. It’s about the fact that the competition points between these two browser sets are different, and that determines how — and how fast— the different browsers progress. Microsoft has also been following a method of taking web standards at a fixed point in time, and waiting until the next implementation to get to the next set of standards.
We don’t need to fight IE. We need to create the incentive for people and companies to stop using it. Let the client see the cost of IE, and the consumer the coolness of Chrome.