Legacy.

Published January 23, 2008. Filed under: Web standards.

For centuries Galactic civilization has stagnated and declined, though only a few ever realized that. But now, at last, the Periphery is breaking away and the political unity of the Empire is shattered. Somewhere in the fifty years just past is where the historians of the future will place an arbitrary line and say: “This marks the Fall of the Galactic Empire.”

— Isaac Asimov, Foundation

Amid clamor in the world of finance, the world of Web technology today is experiencing its own crash, of a sort. The unexpected announcement today of a switch, triggered either by a meta element or an HTTP header, which will be added to Internet Explorer to cause it to behave as a specific version, “quirks” and all (and which defaults to emulating existing behavior if left unspecified), is leading quite a few intelligent people to start metaphorically shorting Microsoft.

Many of the responses are well-reasoned, and if you’re reading this you’ve already seen them, so I won’t dwell on what others have said. Instead I’d like to return to an earlier post here, specifically to one section which got a bit of pushback:

But there’s definitely been a sea change in the industry: Microsoft, the unstoppable juggernaut, is vulnerable and is having to play catch-up to maintain its dominance. To borrow a phrase from Lewis Carroll, they’re having to run as fast as they can, just to stay where they are.

And so Microsoft really isn’t relevant to the future of web standards; any compelling new development that comes from the rest of the industry will be just another form of fire and motion, and Microsoft will have no choice but to keep pace, regardless of whether they participated in the process.

Today’s announcement of the IE version-emulating switch — and, more importantly, of its default behavior — is a strong piece of evidence in favor of that argument, so I’d like to focus on that. In order to really see the pickle Microsoft is in, though, it’s important to understand two things: one concerning the state of the Web today, the other concerning the motivation behind the version-emulating switch.

The browser ecosystem reborn

Only a few years ago, there really was no such thing as a competitive market for web browsers; the fact that Microsoft was bundling Internet Explorer for free with every copy of Windows essentially killed the ability of competitors to gain significant market share while remaining profitable (Opera users: note the phrase “significant market share”). This and other instances of “bundling” software into the operating system led to various anti-trust actions against Microsoft in various courts around the world, none of which produced any result likely to break the stranglehold of Windows and its default suite of applications.

But three things, completely separate from the anti-trust cases, have happened since the days when the “browser wars” meant Microsoft versus Netscape, and as a result genuine competition has come back to life.

First of all, Internet Explorer is no longer the default browser on, and in fact is no longer even available for, the Mac OS. If you’ve never really given much thought to the demographics of Web users, this may seem like a strange thing to be highlighting, since — even though Apple is selling more computers than ever, and in fact just posted its best quarterly results ever — the Mac is still a minor platform at best.

But percentage of total market share is and largely always has been the wrong way to consider the Mac user base, at least if you’re the sort of person whose job it is to worry about developing and monetizing a user base. To wit: Mac users (on average) are better educated, have more disposable income and show much stronger brand loyalty than their PC-using brethren. Combine that with the popularity of the Apple brand in key age groups and you get a demographic that leaves the average marketing department in need of a towel and a change of pants.

Now factor in the second change: on the Windows platform the critical well-connected/early-adopting users, whose cluster effects can easily make or break a new online venture, are no longer primarily or even mostly IE users (in fact, a significant number of those people are no longer Windows users). This is one of the areas where Firefox, through a combination of attractive features, better perceived security and word-of-mouth advertising, has won much of its base.

Taken together, these two items make IE-only web development an increasingly dangerous proposition: if you’re still in doubt about that, ask yourself why Microsoft’s new Silverlight platform is available for both Windows and Mac, as a plugin for any or all of IE, Firefox and Safari. Microsoft is probably in a better position to know which way the browser wind is blowing than just about anyone outside of the Googleplex, and Silverlight’s cross-browser, cross-platform nature smells strongly of a company that’s hedging its bets; five years ago, when IE’s dominance was largely taken for granted (and, ironically, right around the time that the above two events started to happen), Silverlight would have been Windows-only and IE-only.

And finally, take in the third change: the rise of paid placement of search engines in browsers. Charging for the browser isn’t a viable strategy anymore, and hasn’t been for years, but the major search services are viciously competitive and willing to pay good money for any edge they can get. Result: the Mozilla Foundation and Mozilla Corporation, which are the primary players behind Firefox, make over 85% of their revenue — around fifty million dollars in 2006 — from sending users to Google. Meanwhile, John Gruber estimates that Safari brings in around $2 million a month from search referrals, and a similar ongoing deal with Opera seems a likely culprit for that browser finally becoming a zero-cost download.

Combine the first two points — which make alternative browsers into a force site developers must respect — with the third, which gives those browsers a reliable revenue stream, and suddenly the browser market starts looking like a market again. IE is still the biggest player in terms of raw market share, but it is no longer the only successful player and “it works in IE” is no longer a viable strategy for any online venture.

The customers are revolting

The stated reason for the version-emulating switch in future versions of IE is to preserve backwards compatibility for sites which were developed to be compatible with a single specific version of IE:

Chris Wilson, Platform Architect for Internet Explorer, has often said that one of the core tenets of development on IE is that any choices the IE team makes must not “break the web”. Sadly, IE7 did just that for quite a number of people.

While it’s been common knowledge for a while that Microsoft goes to extremes to ensure the backwards compatibility of the Windows APIs, even to the point of patching Windows to work around old applications, that habit hasn’t propagated to the IE team, at least not until now. Quirks mode has, so far, been enough of a backwards-compatibilty system that there hasn’t been a need for the obsessive level of hacking and patching that ends up in Windows itself.

But now the IE team has got the backwards-compatibilty religion, and they’ve got it bad. It’s only natural to ask why, and the answer — I think — isn’t too far off from the official explanation.

There’s only one space left in the market where IE can still claim that bloated 95%+ market share: corporate intranets. But lately the corporate customers have been a bit twitchy; Windows Vista has been such a disaster, with large customers flat-out refusing to upgrade and some even demanding the option to “downgrade” back to Windows XP on new machines, that Microsoft has extended the sales and support periods for XP, which will now be supported all the way out to 2014 — fully thirteen years after initial release.

And it stands to reason, if Microsoft is bending over backwards to keep its bread-and-butter corporate customers happy, that the IE team would suddenly get backwards-compatibility fever. Except they’re in an absolutely awful situation:

There’s an outside chance they could have managed it by taking the rendering system that was IE6’s non-standard rendering modes and simply freezing them for as long as those crufty intranet apps needed them to; standards mode, which has to be explicitly triggered by the DOCTYPE, could move forward with improved standards support for the developers who want and need it, and quirks and “almost standards” modes could just stay as they are for the indefinite future. It’d be a monumental amount of work, but it might just solve the problem.

Except for one thing: HTML is suddenly a moving target again. HTML5 has been drafted, debated and refined to the point of becoming a W3C Working Draft, all without the participation of, and largely in spite of Microsoft. Sooner or later IE is going to have to implement HTML5; they’re not as invincible as they used to be, and any failure to maintain feature parity with competing browsers is going to cost them market share.

But therein lies the rub, because HTML5 does two things which stand a decent chance of landing some members of the IE team in a hospital:

  1. It finally adds clear mandates on how browsers should handle bad HTML, and
  2. It requires a DOCTYPE which does not trigger standards mode in IE. See the update below about the DOCTYPE.

This means that the IE team can’t even use the ugly workaround of requiring progress to take place solely in standards mode: if they do, they’re almost certain to break backwards compatibility for someone, somewhere, who will raise a stink about it. And right now, Microsoft is desperately trying to avoid that situation.

From Microsoft’s point of view, the only solution is something that isn’t a DOCTYPE switch; contrary to what the ALA article claimed, DOCTYPE switching is not broken, it’s just broken for the specific case of Microsoft. X-UA-Compatible is their solution, possibly the only solution that can work for them: nothing less than a new switching mechanism, which defaults to emulating existing rendering, can solve the IE team’s problem.

Update: I see several posts pointing out that IE8 will treat the HTML5 DOCTYPE as a trigger for standards mode. This is arguably a backwards-incompatible change (in IE6 and IE7 it triggers a not-quite-standards-based “standards mode” that’s closer to the “almost standards” mode of other browsers). It also illustrates why Microsoft needs, or thinks it needs, something more than just DOCTYPE switching to trigger rendering modes: even a small change like this is almost certainly going to break some legacy pages which relied, knowingly or unknowingly, on throwing IE into quirks mode.

Fire and motion

Around this time last month, I asserted that Microsoft is currently on the receiving end of the strategy which served it well for many years, a strategy which Joel Spolsky terms “Fire and Motion”. Everybody else is firing and moving, and Microsoft is desperately trying to keep up; what’s worse, they face death from a thousand cuts in the form of corporate customers who are none too happy with them right at the moment.

While I’m not in a position (yet) to express an opinion on the merits of IE’s new version-emulating switch, I think that the above analysis is the only one in which the version-emulating switch makes any sense (from the perspective of Microsoft), and that it incidentally lends quite a bit of support to the argument that Microsoft is no longer relevant to the future of web standards: their only two choices right now are to play a long and expensive game of catch-up while under fire, or consign IE to the dustbin of legacy software.

I don’t envy them one bit.