Doublethinking version targeting
Published 27 February 2008
Hi! You've stumbled upon a blog post by a guy named Ryan. I'm not that guy anymore, but I've left his posts around because cool URIs don't change and to remind me how much I've learned and grown over time.
Ryan was a well-meaning but naïve and priviledged person. His views don't necessarily represent the views of anyone.
Microsoft's version targeting proposal for IE8 is all the rage on the Internets. I've been reading the arguments for and against, and have settled on holding two contradictory beliefs in my mind and accepting them both. Version targeting is a terrible proposal, one that threatens the advancement of Web design as we know it, and props up a monolithic company that hasn't been too good to Web developers in the past. We need it.
Visionaries of HTML, CSS and JavaScript have been promoting this change—which they knew about before the rest of the world—with an odd sort of fanfare. Says Zeldman:
What’s really new is that by opting out of Microsoft’s version targeting ... you get to skip testing in future versions of IE. If your site works in IE7 today, it will work in IE47, or so Microsoft has promised.
It's the Microsoft has promised line that raises my hackles. Microsoft is somehow going to port every rendering mode since IE 5.5 into future versions of IE. How long will the cost of backporting IE7's bugs and quirks to the latest Windows version will be seen as benefiting Microsoft's shareholders? Methinks it won't be 40 versions. My guess is two. Tops.
By taking the onus of maintaining sites off of Web developers and onto a fairly untrustworthy party—especially one with a business case for stagnating standards-based development and a means to force it into broad acceptance—we are making a deal with the devil. Version targeting is bad for the Internet.
Who are the unenlightened?
Worse, however, than betting on Microsoft to save us is that Zeldman blames the situation on some theoretical group of unwashed masses that are making bad Web sites:
Zillions of people who don’t know any better do tailor sites to the quirks of IE6. That’s why an improved IE7 “broke” old sites. And it’s why, in crafting a new switch, Microsoft must build its default to protect unenlightened developers.
PPK walks lock-step with Zeldman, using the same rationale as colonial Europe when pillaging Africa.
Noblesse oblige. Since we know more and can do more and better things with web sites, more is expected of us. If our ways are so much better, we should shoulder more responsibilities than those whose ways are wrong. Our shoulders are fit to bear these burdens; [standards-unaware web developers] aren't.
Both of these articles assume that these unenlightened people are going to magically become enlightened, and not abuse this new property as they do the rest of HTML currently. What seems realistic to me is that these people will start new projects. They'll want to use new IE features. They'll use—because they're not "enlightened"—IE=edge
. And Microsoft will have to dream up some other scheme to prevent the Web from breaking, and this hubub will start all over.
We need to stop being elitist. The "problem sites" aren't just being created by these "unenlightened" developers; they were created by developers—enlightened or not—and have been left fallow. Our industry is flush with hit-and-run agencies and freelancers that throw up a site and then dump it on understaffed, underpaid and under-experienced teams to manage. It's easy to see that three agency guys might focus on sites created by novice Web developers or existing since the 20th century as the main problems, but I have a hard time believing every Happy Cog site would survive IE8 without some kinds of tweaks. Sites which are not actively maintained, but still have value to Internet users—these are the sites Microsoft is afraid of breaking. A fix is never simple if there is no one to do it.
My guess is that the IE7 update is not the one that fueled the version targeting decision: it was the rancor over Vista. A vast number of applications and device drivers would not function with Windows Vista's new API's, and as a result the operating system has had a fairly frosty reception. IE7's release was a party in comparison. Apparently there exists a hearty core of people that desired to use applications and hardware years after they've stopped being maintained. The scripting and CSS updates alluded to with IE8 may bring similar Web sites down, and that's ill will Microsoft can't afford to engender.
In other words, updating IE without setting up version targeting to a current browser will break an unknowable number of Web sites which may still contain valuable content but have no means to upgrade and stay current. We need it.
Opting to opt out
Somehow, I've got to reconcile this conflict. I'm glad that Microsoft created a way to improve the state of their browser without throwing away the old Internet. That said, I don't have a very high opinion of that company and am loathe to contribute a spare byte of mindshare to their products by inserting IE crutches in my code. I'm going to let it break. Refusing to use IE's meta tag will lock their browser to a predictable set of features and bugs—or as predictable as such things will ever be, and for the foreseeable future, IE7's Web standards support is passable enough for most work, and we're going to have to support IE7 (the browser, not just the rendering mode) anyway.
I've long believed that Web Developers have been, as a group, too milquetoast about dealing with IE's problems. We tediously work around a cranky browser and then, hypocritically, use buttons that read "this site requires flash," and "download the PDF viewer." For me no longer. Any site in beta, any site I develop for fun, and any site without a demonstrable need for IE8 features is going to stay in IE7 mode. At least, that is, until HTML5 is usable.
Notes
- Mr. Meyer does [cite][fromswitchestotargets] some Web research, but both studies do not prove anything about the current state of Web development. [Google's statistics][was] surveys the entire Internet with no regard to _when_ a page was developed, while [Marko Karppinen's study][steady as she goes] assumes that validity has anything to do with standards-based design, [which it clearly does not][invalid]. ↩
- If the IE team truly wanted to preserve the Internet, they'd make version targeting default to IE6 rendering, and not IE7, as IE6 has been actively targeted by Web developers for almost ten years, IE7 a fraction of that. Admitting this, however, makes me die a little on the inside. ↩