Joel Spolsky (the famous Joel writing “on software”) had a lengthy comment today yesterday on the impending war between the supporters of IE 8’s standards mode versus the rest of the world (as he argues it, that means the majority of web developers out there) that will have their websites broken in IE 8. (Mark Pilgrim hosts a translation of the article which pretty much captures the essence of the thing.) While he makes a compelling argument as to why he believes IE 8 will eventually revert to the old way of rendering, I take issue with some of the finer points of the matter. Specifically, I believe, for once, that Microsoft is not the only one to blame for the current state of the web and they should not backtrack because it might be a cause of inconvenience to some people in the short term.
I’ll first summarize what I left with from Joel’s post — the relevant parts for us, at least. One of the core arguments is that people will refuse to use IE 8 in its current rendering mode (Standards Compliant) because most websites out there are not adherent to any standard, or — worse — they implement IE-specific workarounds so as to properly display on Microsoft’s browser. Seeing how IE 8 is still IE, these websites will incorrectly try to be smarter than the browser and break. So people are likely to recommend to their friends or clients that they use IE 7 instead of 8, because it just works. Microsoft, by giving in to the wishes of idealists and geeks alike (let’s call them purists), has allegedly thrown out the window considerations about the usability of many websites, complete with an apparent lack of interest in the volume of work that went into those same ‘afflicted’ websites. In turn, before release, Microsoft will probably revert IE 8 to the rendering mode used in previous versions, to placate these developers as well as win over customers.
First off, nobody said adhering to standards is easy to do. Anybody that is exposed to the Internet at large is affected, directly or not, by standards. People that develop software1 want to make sure it reaches as many users as possible, and for that they like to have a common building ground. In micro-development, we have APIs published for that very reason, making guarantees about how things work now and forever2. On the web, because developers depend on client browsers to properly interpret their code, people have devised web standards that deal with how the mark-up is to be constructed, how JavaScript and CSS are best inserted into a page, etc. And it is expected that if developers follow these standards, the browser manufacturers will do the same.
Microsoft, back when they started developing IE, did not believe too much in the Web. As a personal software company, the idea seemed to go beyond everything they thought true about software and as such they were slow to get on the program3. When they did, there were no web standards in the sense of today, so they did their best to provide a browser that rendered pages. Developers, at this point, began to test using IE so as to make sure their pages worked with it. The browser was the standard since, as Joel points out, it was (more or less) a one-to-many ecosystem (one browser, many web pages).
Therein lies the problem. As the web evolved and people began drafting specifications for how things should be built, Microsoft was slow to adapt to and to adopt them. Developers were now complacent enough to be satisfied with just having their site work on IE, despite the increased number of hacks that were employed to get things to work properly. This was, in effect, bad design on their part. Despite indications and recommendations to the contrary, many web developers continued to accept IE’s quirks and hack to work around them (if not, as in some unpleasant cases, code only for IE and its quirks).
I believe, then, the blame to be shared between Microsoft’s ignorance of standards (their slow adoption can only be justified by their refusal to accept the existence of other players in the ecosystem) and the developers’ willingness to implement what are, in effect, badly designed web sites. The developers’ fault was motivated by the aforementioned need to expose their websites to as many people as possible, and IE still has the largest combined4 market share. They were caught in the middle, no doubt about that. Even as a novice developer I know to document my code, especially the ‘weird bits’. And I would expect hacks, especially, are thoroughly documented, possibly surrounded by big marker blocks (the equivalent of flashing lights). That fact alone should make finding them pretty straight-forward. And before somebody pipes up about “what if don’t have any?” I would like to politely ask them to go away and learn their trade better. The hacks were work-arounds, and as such it should have been expected that more work was going to be required5. There are no excuses for bad design.
So, if IE 8 remains in standards-compliant mode after the beta, there will be sites that break. And, as the developers have done before, they will go into the code, change it up a bit (remove the hacks) and all should be well. Of course, this means IE 8 implements the standards correctly, which is neither easy to do nor guaranteed. But the bottom line is that it is easier to standardize now than it will be at any other point in time. If anything, specifications get thicker with time. Microsoft is losing market share rapidly in the browser landscape6. This may be part of the reason that they have finally decided to adhere to these standards now, and personally I only care about being able to use a website regardless of what browser I use. Standardization is the only thing that can make it happen, so I’m happy to see that Microsoft has finally decided to do it.
I would also be rather surprised if most sites worthwhile out there aren’t mostly standards-compliant anyway. Granted, Firefox doesn’t pass Acid3; but, as it stands, it is far closer to the standard than IE has traditionally been. And I don’t believe any web site would willingly estrange around a third of its potential visitors by having a site that is broken in Firefox. The transition period will be hard, but that is not going to change in the future. And it’s something that developers need to come to terms with — and hopefully something that Microsoft will not back-step out of.
- This is to be extended to hardware manufacturers as well, but for this argument it makes more sense to focus on software and web-development only [↩]
- At least until the next major version, sometimes, but nothing is perfect [↩]
- Netscape’s success back in the day was largely due to this, seeing how Navigator was one of the first browsers available [↩]
- IE6 and IE7 [↩]
- No, this is not a matter of hindsight being perfect, but rather something most developers learn early on in their careers [↩]
- To continue on a statement above, Firefox has a higher market share than any one version of IE [↩]













