For and Against Microsoft

For and Against Microsoft

Got something to say?

Share your comments on this topic with other web professionals

In: Articles

By Joe Hewitt

Published on May 29, 2000

Introduction
I’ve been following the anti-Microsoft threads [on the WaSP mailing list] for some time, and feel the need to summarize what I feel are the reasons Microsoft SHOULD and SHOULD NOT support 100% of key standards in upcoming versions of Internet Explorer. As a developer who creates advanced, DHTML-based tools and websites, my wish is to see full standards support from Microsoft, but I am highly sympathetic to their reasons for not doing so. Here are some points I have compiled to support their case, and then to shoot it down (pardon my lack of brevity here).

Points FOR Microsoft

  1. Corporate Intranets
    I’ve seen many statistics that indicate that a very large percentage of Americans browse the web more often from work than from home. While the home segment is growing, the corporate segment is still one that Microsoft must take very seriously.Therefore, it is no surprise that Microsoft pays more attention to the needs of corporate intranet developers who mandate Internet Explorer-usage on millions of desktops, than to the lowly Internet developer who has no power to make anyone use any particular browser.
  2. Backward Compatibility
    This is an enormous issue for software developers to tackle. Microsoft has an absolute commitment to making sure that websites developed specifically for Internet Explorer continue to work in all future versions of Internet Explorer.A couple small examples of where standards compliance would break old Internet Explorer 4/5-based apps:

    1. The CSS clip property–in CSS2, the values in a clip rect are specified as offsets from each side of the box. In Internet Explorer 4/5, clip rect values are always offsets from the top-left corner of the box. Supporting the correct interpretation of clip would mean that Internet Explorer 4/5 apps that use clipping would suddenly have lots of boxes that are rendered completely/partially invisible in Internet Explorer 6.
    2. Box Model–Internet Explorer 5’s treatment of box size, padding, border, and margin, fits in with the CSS3 term (for the box-sizing property) “border-box” meaning that the padding and border and painted inside of the content area. The CSS2 spec specifies that the box model should be “content-box”, meaning that the border and padding are painted outside the content area. Suddenly changing this would leave many web pages that look strangely positioned, with borders and padding overlapping other content.
    3. DOM Text Nodes–Currently, when Internet Explorer 5 processes an HTML document, it does not create text nodes for every single block of whitespace. Therefore, the first child of every element will ALWAYS be another element. In Mozilla, if you have whitespace at the beginning of an element, it will become a Text node. Changing this behavior would result in applications that expect .childNodes[0] (or .firstChild) to be an element, to break. It is likely that many apps aren’t looping through looking for the first node with .nodeType == 1.
  3. Real World Application Needs
    As I’m sure no one will argue, the current batch of W3C standards alone do not provide sufficient tools for real-world, complex applications. Microsoft will garner far more corporate Internet Explorer users if they can provide developers the tools to do complex things, standards or no standards.Features like HTML Components/Behaviors, Data Binding, Filters/Transitions, HTML Applications, Vector Markup Language, the HTML Editing Component, XML Data Islands, Persistence, etc. are tools that are absolutely necessary for many large-scale web software projects, and for interaction with other Microsoft products like Office and IIS.Sure, these things are not standard, but Microsoft can’t afford to wait for them to become standard.

    Another point I’d like to make is that Internet Explorer’s non-standard extensions are very often brilliant, and make me wonder why these things didn’t make it into the W3C specs. A few good examples are:

    1. Why are there no properties in the DOM like Internet Explorer’s offsetLeft, offsetWidth, etc.?
    2. Why does CSS2 have only “overflow”, while Internet Explorer has the very useful “overflowX” and “overflowY”?
  4. Breaking Internet Explorer == Breaking Windows
    Like it or not, Microsoft bundles Internet Explorer with Windows. An enormous chunk of Microsoft revenue comes from selling large Windows license bundles to corporations. If these corporations have invested money in building websites and web applications that are meant to work only in Internet Explorer (because Netscape 4 didn’t meet their needs), then they have a vested interest in making sure all of their employees can use these applications.Imagine what would happen if Microsoft suddenly changed direction and made Internet Explorer 6 100% standards compatible. All of the websites developed using non-standards might break in big or small ways. Now Microsoft bundles Internet Explorer 6 with Windows 2002. When various IT departments analyze the cost of upgrading to Win2002, they’re going to find out that many of their intranet apps aren’t going to work in Internet Explorer 6. The cost of upgrading these apps might be too great, and as a result, they may not upgrade to Win2002 at all, or do so at a much slower pace.Imagine the tremendous loss of revenue this would cause Microsoft.
  5. Users Don’t Care
    Certainly, if every web user had a browser that supported standards, and those standards were really powerful, the web would be far easier to use, easier to develop for, and far more beneficial to everyone.However, in reality, old browsers are like old Buicks. No matter how old they get, no matter how often they break, no matter how ugly they look, users don’t care. It will take forever for them to go away completely.Therefore, 99% of Windows users whose interests will be served by standards have no idea why they should use a standards-compliant browser. Microsoft, who claims to listen to the needs of their customers, will never hear a peep out of 99% of their customers. The only customers they will deal with are corporate IT departments, and as I stated above, these customers have uniquely different needs.
  6. Benefits of Missing Standards vs. Benefits of Proprietary Stuff
    Compare the specific benefits of the percentage of un-supported or mis-support standards in Internet Explorer, vs. the new proprietary stuff that customers ask for. Assuming an Internet Explorer-only environment, the new stuff is for more appealing. The only reason to support standards is to make customers’ applications more portable. Obviously, portability isn’t a concern of Microsoft’s, or a large majority of their customers right now.

Points AGAINST Microsoft

  1. Up-and-Coming Better Browsers
    In arguments, Microsoft has been milking the fact that Internet Explorer 5 is the most standards-compliant browser on the market. Those days are numbered, however, and 2001 will see Internet Explorer 5 sink to the bottom of the pack. Eventually, all web developers, even corporate ones, will catch on to this fact. Currently, when something that works in Internet Explorer breaks in Netscape, it’s because Netscape4 is non-supporting standards crap. Next year, when something that works in Internet Explorer breaks in Netscape 6, it will be because Internet Explorer is non-supporting standards crap. {what?}Eventually, Microsoft is going to have to reconcile this. Netscape isn’t going away, and I am confident that over the next 5-10 years, set-top boxes, handhelds, and even PCs will see more and more Netscape/Opera users. Microsoft will have to explain to their customers why porting Internet Explorer-compatible apps to these other browsers is a costly process.Are these customers going to want to hear: “Sorry, in 1998 you didn’t ask us for standards, and now it’s too late.” Certainly not. Microsoft will have to find a way to give customers what they want, and they certainly have the resources to do that. The way Mac Internet Explorer 5 uses DOCTYPES is a good starting point.
  2. Changing Market Demands
    More and more, the market for dynamic web applications is becoming very important. Traditionally, flat HTML pages have ruled, but this will surely change. Microsoft has been preparing for this shift for years, but have been able to afford doing non-standards compliance because the public Internet has been slow to embrace a more dynamic web.Within the next 3 years, more and more Internet web pages will be architected like software. As more programmers begin learning to use JavaScript, DOM, and CSS (instead of just HTML), they will slowly discover all of the hundreds of tiny Microsoft incompatibility issues. Slowly, Microsoft will be faced with a far-less naive development community, and more angry customers, and something will have to be done.

Conclusion
In conclusion, I had far more to write about why Microsoft shouldn’t support standards than why they should. This is because the case FOR standards are very simple and straightforward: ONE PLATFORM, ONE WEB. The case against standards is far more complex, as Microsoft has entangled their Internet Explorer implementation in a complex business/technical mess that will require lots of digging to get out of.

Nevertheless, I believe that market trends will eventually force Microsoft to support standards. Microsoft is NOT stupid; they listen to the market. Unfortunately, the WASP doesn’t represent the opinions of enough cash-carrying Microsoft customers yet. Unless Internet Explorer continues to hold 80% of the browser market forever, this situation will inevitably change.

Related Topics: Browsers, Web Standards

Joe Hewitt is a software engineer specializing in DHTML web applications. Despite his extremely strong desire for good web standards support, he tries to be more objective than religious about the topic. Joe lives in Gaithersburg, MD and works for Zenimax Technology Inc.