Early in January 2008, a 3.1 magnitude earthquake struck Cleveland, Ohio. The USGS instruments indicated an epicenter just offshore in Lake Erie, but I think it was directly beneath the home of Eric Meyer as he finished typing his op-ed in support of IE Version Targeting for A List Apart.
Microsoft's version targeting announcement was followed soon after by articles by Aaron Gustafson and Mr. Meyer, setting off the largest tectonic event in web standards history since Jeffrey Zeldman's To Hell with Bad Browsers in 2001. Since this blog has focused on Web Standards and Microsoft for nearly three years now, I would like to add my opinion on this topic.
What is Version Targeting?
Just in case you've not read all the stuff above, I'll net it out here. The announcement states that
- IE8 will render sites as IE7 by default
In order to trigger a more standards-compliant rendering of your site for IE8 browsers, you must do one of the following:
- Add a META tag to your document header
- Make an adjustment to your web server
- Declare your document as HTML5
To demonstrate a positive aspect of this change, I created the following scenario in a comment on Roger Johannsen's site and I'll repeat it again here:
- You're running a Fortune 500 Company's IT Department
- You have eight separate intranets in six different states with 160,000 total pages including the old Lotus Notes-based knowledge base, a forward-facing internet site with 5,000 pages, an extranet for customers and an extranet for suppliers
- You've committed to the CEO to replace the Notes database and consolidate the intranet sites, re-brand the internet and add eighteen features to the extranets
- Then IE8 beta is unleashed on the world
The Status Quo Fallout
Since the IE8 rendering engine is redesigned to be more standards-compliant, Microsoft anticipates that this would break the web, and in our scenario, all your sites would render "properly" in IE7 and "improperly" in IE8. I use these terms because visually, the sites look correct but are not truly standards-compliant in IE7 and look broken but are more standards-compliant in IE8.
In your view, IE8 broke your site. In your customer's view, your site is simply broken. This is the core issue being addressed by Microsoft.
If IE8 rolls out just like all its predecessors, what I just described is the most likely scenario. Employees, customers, vendors, internet visitors, and your boss would start reporting that your site is broken when viewed with the new IE8 browser and you should fix it right away. In this scenario you must put programs on hold while you go back into your legacy systems and fix them to accommodate the IE8 browser that broke all your websites.
Microsoft wants to turn status quo around 180 degrees. With IE8, the default behavior will be to render web sites as if the visitor were using IE7. With this change, the fallout of the introduction of IE8 will be this:
Employees, customers, internet visitors will visit and use your websites with the new IE8 browser and there will be no alteration in the way the sites are visually rendered. Without any effort whatsoever your site will remain visually unchanged with the new IE8 browser. Your web team can evaluate the impact of the new browser, make adjustments as time permits, and update the sites to include new IE8 features in your company's time frame, not Microsoft's. The power to enable IE8 rendering moves from the client browser to the content producer.
From the perspective and the scenario I've outlined, this change is a huge relief to corporations worldwide. They no longer have to plan their department calendar around the introduction of Microsoft's new browser.
Some Say It's Evil
Some really bright minds have voiced opposition to this announcement. A few, vociferously. What about this new scheme could possibly be bad? I've read through many of the opposing arguments and I'll try to summarize them:
Don't mess with default behavior. When folks download IE8 they expect it to act like IE8, not IE7. Or: My site is built to standards now with features not implemented in IE7 and appearing fine in other browsers today -- why must I do something extra to get IE8 to behave like IE8?
- Default behavior is wrong, wrong, wrong. (Jeremy Keith)
- The best way forward for IE8 is to change the switch to be opt-in... (Emil Stenström)
- ...add an option in IE 8 ... to choose to open a web site in old IE. (Robert Nyman)
This fragments the web. Web Standards are about One Web and Microsoft is creating yet another rendering mode. Extrapolated out to several versions and adoption by other vendors, this could create many more modes of rendering, making web development even harder.
- I believe that it will encourage the practice of developing for specific browsers. (Rachel Andrew)
- Designers will not have to learn just HTML, they’ll have to learn 4, 5, maybe 10 different versions of HTML, DOM, CSS, and JS.(Ian Hicks)
This is an IE-Lock-In. If other vendors adopt this, then corporations could force backlevel rendering upon non-IE browsers while showcasing new shiny IE features.
- The fundamental issue is that Safari, Firefox, and Opera will all be harmed by attempting to implement this. (John Resig) Note: John works for Mozilla.
- We can convince the world to use a browser that does not have the ability to lock pages into a specific rendering mode. Bah. (Anne van Kesteren) Note: Anne works for Opera.
This is the IE Death Knell. Corporations will become lazy, standardize on IE7 rendering, and even though IE will improve, no one will notice and lose interest in the product altogether. Or: This is unmaintainable, even for Microsoft, and IE will collapse under its own weight.
- By doing this the Internet Explorer team may have created their own backwater, shot themselves in the foot and left themselves for dead.(Andy Budd)
- Internet Explorer is functionally incapable of both preserving backwards compatibility for its half a billion clients, and supporting web standards.(Mike Davies)
Tilting the Axis of Power
The fundamental change from this announcement is that it empowers content providers to choose rendering behavior on the client. All the different manifestations of concern and outrage ultimately boil down to disagreement of this decision. Everyone complaining is looking into his own crystal ball trying to forecast how empowering the content provider will play out. Not surprisingly, the crystal balls disagree.
Let's Focus On the Goal
The goal for standards-minded professionals is One Web: to allow the development of one version of a website that can cater to a myriad of devices and end users. I see this change as being in support of the goal of One Web.
Encouraging Standards Adoption
It allows Microsoft to release a more standards-compliant product while not disrupting hundreds of millions of web pages. This angers some folks, frankly, because they would prefer that Microsoft alienate corporations and end-users -- actions that might drive marketshare to non-Microsoft browsers and/or operating systems. These folks are neither standards-focused nor customer-focused; they are haters plain and simple. And anyone expecting legacy sites to be updated to conform to current standards is living in some separate parallel plane of reality.
It allows quicker approval and adoption of IE8 by corporations. IE8 will be innocuous to all existing internal and external websites. IT departments will not mind at all if employees and internet visitors upgrade their browsers. Furthermore, if a site renders incorrectly, it will be because the user has a downlevel browser, not an uplevel one. IT departments worldwide will encourage end users to upgrade.
It gives content providers time to implement support for IE8 and IE8 features. Each of us now decides for ourselves and with our own priorities which sites get updated and when to release the updates to website visitors. Everything won't break all at once. You can attend SXSW this year rather than attend to emergency client site breakage.
It allows legacy systems to die gracefully without intervention. If an old website is going to be wholesale replaced, then no extra effort is needed to fix it when a new browser comes out. It renders as it did with the old browser, is never updated to accommodate new rendering, and then is shelved when the new system is released.
Finally, it moves IE toward the goal of One Web. By eliminating the pushback from IT departments coupled with the encouragement for end-users to upgrade, the adoption rate for IE8 should far surpass the sluggish but steady adoption rate of IE7, further marginalizing IE6 and IE7. Web designers are then justified in deploying all the IE8 goodness in all its standards-compliant glory, to the benefit of all browsers and the web standards movement in general.
The Bridge To One Web
It's no secret major improvements must be made to IE before it is on par standards-wise with the competition. It's no secret that the required modifications would disrupt millions of websites. The behavior change announced for IE8 is a reasonable solution to a difficult problem. It creates a bridge to standards compliance without burning the bridge behind it.
The Forever Problem
Would Microsoft support IE7 rendering forever? My gut feeling is no, they wouldn't. Microsoft is smart enough not to burden itself with perpetual support. My crystal ball prediction is that IE8 will further push IE6 and IE7 off the planet and promote standards-compliant website creation. A couple of releases later, statistics will show that 98% of the websites are standards compliant and the need for backwards browser rendering is no longer needed.
i.e. One Web. Pun intended.
Carl, Great article, and I agree with substantially all of it.
Your hypothetical scenario is real. These large companies are the customers whose reaction to a new browser version is most feared by Microsoft.
However, I'm in the group supporting "Don't Mess With The Default." The resulting fallout in the hypothetical situation is: