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.

3 Responses to “Web Standards and Why Microsoft Still Doesn’t Get It”

  1. Robbie says:

    To be fair to Microsoft, they aren’t making this decision to make life easier for developers. They are making the decision to make it easier for their customers.

    Let’s say your ABC company, and you have a mission critical web application that runs on IE6 and has only been tested to run on IE 6. Furthermore, the vendor of this application is no longer available to fix it or upgrade it, if the platform changes or your company doesn’t have the budget to get the new standard compliant version, etc.

    Microsoft wants to avoid the customer pain, that upgrading the browser will cause. End users, don’t run applications against standards, they run them against implementations. Unfortunately, not all implementations are created equal and
    due to the bad experience MS has when they released IE 7 last year
    . I think Microsoft is more gun shy, than it should be. Then again, I don’t have to explain to their customers, why their web app that used to work fine on IE 6, broke on IE 7. I’m sure your aware of the burden of backwards compatibility.

    Granted, as a developer, I think Microsoft should have 2 modes. They should default to standards mode, and educate it’s customers on a user selectable legacy mode and educate it’s users on the benefits of standards (Make it like running Windows 95 apps on Windows XP or Mac OS 9 apps on Mac OS X). The developer community would be happy, and the end user community would still be able to run their legacy web applications (although it would be more inconvenient in the near term, it would be the better long term fix). I agree with your point, but I don’t think it’s as cut & dry as you make it appear.

    It’s easy for web developers to make this argument because we have the ability change the code and realize that standards will save us effort in the long run. Web application customers, unfortunately, don’t always share our perspective because they tend to fear change more than embracing it.

  2. I disagree that Microsoft is thinking of their customers with this move. I truly believe this is a developer driven issue. It’s developers who tend to vocalize their pain and direct their anger Microsoft’s way when a new version of IE clobbers their code.

    I think customers most certainly suffer, but if Microsoft was really trying to ease customer pain, they would decouple Internet Explorer from Windows and allow users to upgrade at their own pace. This would solve the problem, as users could keep IE 6 and their sites would behave exactly the same. Instead, IE 7 shipped and many computer users went to bed one night and woke up to a new web browser without so much as a warning. While I’m grateful for the auto-update mechanism, I’m a developer looking for a more standards-compliant IE and not an average user attempting to login to their banking site. This is most certainly not “easier for their customers”.

    Also, IE (like all the other browsers) has two modes for rendering, “standards” mode and “quirks” mode. The goal of this originally was to combat this very same problem. The reason it failed to work was that most developers used standards mode by default and almost all the HTML generators produced code in standards mode. Developer’s should use these two existing modes (this is a standard), or pay a price for not understanding the code they’re producing.