Web Standards and Why Microsoft Still Doesn't Get It

Feb 3, 2008 Michael Wurzer

The FBS Blog is no stranger to discussions on standards (here, here, here, and here this year alone), so I thought I’d interject some discussion of standards of a different kind. Like RETS, web standards are designed to create a world where developers can create an application once and have confidence it will run on all platforms. Here’s a line borrowed from the About RETS page that could easily be applied to web standards as well:

This means lower costs, more products, more competition among vendors, and faster implementations of new systems, all of which directly benefit people who work with real estate information as a living.

If web standards are so good, then why have we seen such poor standardization among web browser companies?

Monopolies are Bad

Michael has posted previous that monopolies are not efficient at innovating MLS software. It turns out that this maxim applies to software in general. Microsoft’s web browser monopoly lulled them into a false sense of security. Instead of innovating new features and increasing their standards compliance, they built their own “standards” and rested on their laurels for over five years. Many web companies took advantage of these “features”, even though they were not standard, because IE was in the hands of so many of their users.

This all changed with the advent of Firefox. Once a browser began stripping away Internet Explorer’s market share, Microsoft needed to become more cognizant of web standard. Developers like myself rejoiced when IE 7 shipped a little over one year ago because it was supposed to be more standards compliant. Others predicted that IE 7 would break the web and to some degree they were right. Many sites were broken as developers scrambled to fix portions of their non-standard code. While cross-browser apps like flexmls Web were just fine (we’d been testing and fixing for months prior to the release), the screaming from the other side was loud and clear.

Which Brings Us to the Current Proposal

Last week, an article made its way around the web outlining what Microsoft is planning to do differently with IE 8 to remedy this problem. Their plan is to implement a new way for developers to flag which version of IE they’re developing for. This way, Microsoft can update IE and sites that haven’t been updated would continue to function as if nothing happened. Sounds quite reasonable, until you realize the absolute horror show this will create.

Two Wrongs Don’t Make a Right

First of all, adding all this extra weight to a web browser is a flawed strategy. In IE’s case, they’ll essentially need to have 2 web browsers wrapped into one. This leads to confusion, slower downloads, almost certainly slower page rendering, and increased chances for errors. When it comes to software, Occam’s razor most definitely applies.

Second, web browsers should not be in the business of rewarding bad behavior. Developers writing bad code should be greeted with broken sites. No matter how many times you tell developers to stop using some crazy workaround, they will continue to use it until you take it away. Developers, like most people, are creatures of habit and many times can be resistant to change. Microsoft shipped IE 7 in October of 2006 and shipped their first IE 7 beta in August of 2005! That’s over one year for developers to see the changes and prepare themselves (they even shipped an Internet Explorer Readiness Toolkit in July of 2006). How much more of a head start could Microsoft have given?

Third, other browser companies won’t support this because there’s no reason to do so. Firefox, Safari, and Opera all support many broad standards. As these browsers are updated, they don’t have the crazy code nightmares from which IE suffers. This has led some to dub Microsoft’s new browser flag as the X-IE-VERSION-FREEZE.

Lastly, the only thing this proposal accomplishes is delaying the inevitable pain. What will Microsoft do when IE 9 comes out, still keep versions 7 and 8 wrapped in? How about IE 10? Either IE will get so bloated and become a nightmare to download and maintain or they’ll have to drop support for past browsers. It seems to me that sooner or later those crazy IE hacks are going to go away. Why not just pay the piper now?

One Standard Please

In conclusion, we need to embrace standards, even if it hurts for some of us in the developer community. I’m proud of our cross-browser support here at FBS, as we’ve supported Firefox since its humble beginnings. As a dedicated Mac user, standards are especially important to me. Developers should be on notice, support common browser standards or face the consequences.