Internet Explorer is already breaking the web

Would the web really break if Microsoft fixed IE? Molly Holzschlag made a post about Breaking the web the other day, pointing to Tristan Nitot’s article How Microsoft can support CSS2 without breaking the Web.

Chris Kaminski has posted a follow-up to this, noting that it’s highly unlikely for anything to break if Microsoft added support for some of the most wanted and useful CSS features. And then Eric Meyer posted Unbreaking the Web, sharing his thoughts on the matter.

I’ve been thinking along the same lines when reading statements from Microsoft engineers or marketers claiming that they just can’t update IE because it would require “too much testing”, and would break too many websites that rely on the current (incorrect) behaviour of IE.

I find that extremely hard to believe when it comes to adding support for position: fixed, :hover, display:table, :before, :after, :target, :focus, :first-child, adjacent sibling selectors, attribute selectors, min-width, max-width, HTML elements like abbr and q, etc, etc. Simple additions that would let web developers and designers build better sites faster for IE users as well as for users of Mozilla, Opera, Firefox, Safari, and other modern browsers.

I realise that fixing bugs or incorrect implementations may well break sites. Like Eric says, making IE support the CSS child selector could cause problems. Many modern sites use IE’s lack of support for the child selector to hide CSS rules from that browser. Careful planning is needed before fixing something like that.

But adding, not fixing, support for features like those I just mentioned causing problems… that’s a load of crap, and I’m not buying it. In fact, by doing nothing Microsoft is already breaking the web. Nearly all websites need hacks to make IE behave. Tables for layout, IE-specific markup and scripting, conditional comments, and CSS hacks shouldn’t be necessary, and would be used a lot less if Microsoft agreed to follow existing standards.

Microsoft has the resources (money, people). The people at Microsoft aren’t stupid. They must be well aware that their browser is a dinosaur. There must be some other reason than fear of breaking the web. I’m no business analyst – I’m only one of the web developers who spend way too much time trying to make IE behave reasonably well – so I can only speculate.

Are they really arrogant and self confident enough to believe that they just cannot be hurt, no matter how long they ignore the glaring deficiencies of their web browser? Is Microsoft counting, and depending, on Frontpage-wielding amateurs and clueless system administrators (acting like Microsoft is paying their salary) forcing people to keep using Internet Explorer? Is it OK for Microsoft that people using their browser are gradually getting a second-rate version of many sites, compared to those using modern browsers?. Have they grown tired of the web and just don’t care if people use IE or not?

Got any theories?

Posted on December 2, 2004 in Browsers, CSS, Web Standards

Comments

  1. Looks like none of us are business analysts, either, but I do like the title for this post!

    Okay, here’s an idea: Maybe IE is afraid of the backlash of the 95% of users out there who design their pages incorrectly for IE. If IE decides to fix (or even add) proper CSS support, a lot of people’s sites will change. To us standards proponents, that’s a good thing; but most people would probably see IE as making a stupid business decision for messing up everyone’s pages for the sake of us fundamentalist standards “fanatics”. I probably don’t know what I’m talking about, but it’s a thought.

  2. I hope that Microsoft will fix their rendering bugs before fixing their parsing bugs and adding support for the more advanced CSS selectors.

    Why? Because sites may use the advanced selectors (child, adjacent sibling, attribute) to specify rules that will break in IE due to its bugginess. If MS were to add support for those selectors without fixing the rendering bugs, IE would all of a sudden be subjected to lots of CSS it cannot handle.

    I agree that they could add support for many of the features you listed, especially the pseudo-classes and pseudo-elements. And as you say, expecting full support HTML4 can’t be asking too much, can it? It’s been around for a while…

  3. Just a quick thought…

    If MS updated IE, fixed its buggy support of standards, and followed W3C standards to the letter, wouldn’t IE then render exactly the same as modern browsers?

    Think about it: IE changes, and understands child-selectors. It understands the box-model. It also understands min-height and display:table. So its now working with rules set out for those browsers which support them. Which it does. So it displays things correctly.

    Where’s the problem?

  4. I really don’t understand it.

    If IE just fixed their rendering bugs only when a proper doctype was used, we could have the best of both worlds.

    Those folks that code to standards would have less headaches, and those that don’t wouldn’t notice the difference.

    Although, none of this helps MS to make money… it just helps web developers, and maybe (gasp!) the user. Now if you consider the times in the past MS has cared about anything other than that making money bit, you can get a good idea of when IE will be brought up to standards. Read: never.

  5. December 4, 2004 by Roger Johansson (Author comment)

    J.J.: not necessarily. It depends on what they would fix, and how. Like Tommy says, fixing parsing bugs and adding support for some advanced CSS selectors could mess things up unless the rendering bugs that we avoid by using CSS hacks are also fixed.

    Dysfunksional.Monkey: I don’t see the problem either. Obviously someone at MS does. Or maybe they need to hire people who understand CSS better.

    Dave P: Maybe fixing IE won’t make MS any money, but I don’t see how not fixing it will either.

  6. There must be some other reason than fear of breaking the web.

    Nope, none at all. They’re scared stupid of the hundreds of thousands of corporrate clients who’ve developed web apps to work specifically with IE5.5 and 6. What they don’t understand is that a lot of them would be more than happy to see bug-fixes in IE7 - as long as there was some way to continue to fire bug-fixes at IE5.5 and 6. Perhaps if they were to stop support for the * html thingamybob from IE7 onwards?

  7. There is no real reason for Microsoft to increase support for standards in IE. Believe it or not but the vast majority of web users don’t really care about standards (“recommendations” for the puritans)! Standards evangelsists must describe the money-making incentive for MS to make in effort in this field. And I guess there is none.

  8. For the hacks problem what about a kind of “Hacks Mode” like the “Quirks” mode so that IE could pick if a common hack/work-around had been used and then deal with it appropriately ? Or does that open a totally different can of worms ? (Just thinking out loud here).

  9. There are 4 reasons I can see for Microsoft not curing IE6 CSS bugs and implementing missing HTML and CSS:

    1. As has been pointed out, money. All they care about is Longhorn. Upgrading IE does not make them any more money.

    2. Apparently any change at all requires testing on 400 machines. This is because of all the different language versions of IE. (Think of text that flows in different ways to English.)

    3. IE is part of Windows. So if you’re in the file browser, you’re using IE. Same goes for the email client Outlook.

    4. Many programs also use the IE renderer, such as Eudora. Might these be broken if IE were changed?

    It’s a shame, and there’s no real excuse for not upgrading IE, because they used to upgrade it regularly. Remember when IE5.0 came out? Then IE5.5? Why stop now?

  10. December 6, 2004 by Roger Johansson (Author comment)

    Pete: I suppose that’s the way they see it. No money to be made. The question is if they will hold on to that if/when other browsers grab a “significant” share of the market.

    Paul: That’s an idea, but I think it sounds a bit messy ;)

    Chris: Exactly. They have upgraded IE before. Why not now?

    Oh well. The longer they wait, the more people will be using other browsers, and the greater the benefits of developing with web standards will be.

  11. I recently read Anne van Kesteran’s idea. What do you think of it?

    She says: Quick conclusion: Internet Explorer could choose to implement application/xhtml+xml correctly (as in really good, Mozilla like) and support, for real, standards only in application/xhtml+xml mode. This has two direct advantages:

    1. The current web won’t be broken, since Internet Explorer keeps rendering the same in text/html.
    2. Developers can works with better “tools” (CSS 2.1, CSS 3 Selectors, XHTML, namespaces perhaps?) for their sites.

    Sounds good to me.

  12. I fear I may sound stupid but.. well it’s never stopped me in the past.

    Why don’t MS upgrade IE? Well remember all that hoohaa with Sun?

    I’m thinking that, like most products, IE has a budget assigned to it. If you factor in the Sun hoohaa which was party to do with the IE team, then the escalating costs associated with Longhorn (as someone else said) and well how would YOU convince the money people to part with hard cash to upgrade what is essentially a dead piece of software?

    I would also wager that the large chunk of money they spend releasing security updates is a factor too.

    Basically it’s all down to money. If the sums don’t add up, they won’t touch IE.

    I don’t believe that any of the engineers like the current situation, I’ve seen mention of some of the IE team using Firefox and Opera, but the engineers don’t make the decisions. The money people do.

  13. If M$FT could break the Web by supporting CSS2, then they would do it. But they can’t. If IE broke the Web, then people would switch to Moz. End of story.

  14. My favorite example:

    Alpha transparency has been present in the PNG format for, what, 9 years now? Nine years!

    Guess which is the ONLY browser in the entire universe that doesn’t render PNG files with alpha transparency correctly? Yup. Internet Explorer for Windows. Even the dead Mac version does it right!

    To make a PNG file display properly, you have to call an external program (via CSS filter property) to correctly render the image.

    And if you want to make a PNG rollover work properly, you’re looking at roughly 150 lines of HTC code whereas in EVERY OTHER BROWSER IN THE KNOWN UNIVERSE, THIS CAN BE ACCOMPLISHED WITH A SINGLE LINE OF CODE:

    <img src=”button.png” alt=”A PNG file with alpha transparency.” />

  15. Marilyn Langfeld: I recently read Anne van Kesteran’s idea. What do you think of it? She says…

    It’s a he. Mind you, I know two male pop stars with the name Marilyn so you could be either male or female. :-)

  16. Could be!

  17. December 7, 2004 by Jeff E.

    The bottom line here is: Who cares?.

    As long as people can be educated to use an alternative faster, bug-free and secure modern browser, then eventually IE will die. One more reason for Corp America to switch.

  18. December 7, 2004 by Roger Johansson (Author comment)

    Marilyn: Anne’s idea is interesting, but I do see a problem with it. Using ‘application/xhtml+xml’ requires 100 percent well-formedness, or browsers that support it will throw an error instead of rendering the page. I think that would scare many people away, and in many cases it’s very hard to have that kind of absolute control.

    Not that I think MS would ever implement something like that in IE…

  19. Roger: I believe he (got it this time) meant that serving ‘application/xhtml+xml’ would be an addition, not a replacement for serving html as IE does now. This means that only those folks comfortable with well-formedness, etc. would use it, while the rest could use html as they have been or learn to work with it over time.

    At least that’s how I understand it.

  20. December 8, 2004 by Roger Johansson (Author comment)

    I think that’s what Anne means too. My point is that many people who would want to use the “better standards” mode would be reluctant to do so if it means that the slightest error would break the page. One could argue that this would lead to better coding practices, and it probably would.

    However, I also think that many of the developers we want to convince of the advantages to using web standards would not want to risk a site breaking because of a well-formedness error. I’m not saying it’s not a good idea, just that I think it wouldn’t be used a whole lot.

  21. Using ‘application/xhtml+xml’ requires 100 percent well-formedness, or browsers that support it will throw an error instead of rendering the page. I think that would scare many people away, and in many cases it’s very hard to have that kind of absolute control.

    On the face of it, this is a good thing. We should all be writing valid code. But…

    Q: Why is HTML not like any other programming language?

    A: Because it allows for errors. It was designed to carry on displaying a page, even if there were missing tags. I used to think this was an amazing thing. While other software would stop on an error, HTML didn’t. But now the W3C want us to move towards XML, where one single error is enough to stop it working. (Though there is debate as to even allowing malformed XML to be processed.)

    Q: So what’s the reason for HTML allowing errors? Why isn’t it stricter?

    A: To allow the internet to take off. I imagine that otherwise, web pages would be only made by professionals. HTML is useful in that anyone can make a page - you don’t even need the and tags and it will still be shown. So everyone from your gardener to the local butcher has been able to join in the online revolution.

    Unfortunately this leaves the current web in a right old mess. Every day I see invalid pages where the source code makes me want to scream in horror at the abuse of HTML. Perhaps we will simply never clear this mess up - after all, it works, doesn’t it? Browsers now come with extra rendering power to repair broken pages for us. Or oneday maybe the web will be full of XML-aware programs that mean the old junk is left behind, or simply has to be converted. Who knows.

  22. Sorry, forgot to mention the other problem - Content Management Systems (CMS). Blogs and news sites offer a situation where a valid page can be corrupted by a user adding an entry to it via a CMS. Or even just the author copying and pasting from another site. (We’ve all seen those odd characters on pages that should be symbols but come out as junk.)

    The solution to this is simply better parsing. Any CMS should be able to parse inputted data and keep it valid.

  23. Well, I’m not a developer, just a graphic/web designer beginning to learn about standards. I just brought up his point because it seems to offer what people say they are looking for, as an addition rather than a replacement that might break the web even further than it’s already broken (though functioning pretty well).

    If standards folks are reticent to code for serving xhtml+xml, then who will? Ever? What does that mean for W3C?

    Maybe the only thing that xhtml+xml would do is to give back to the scientific/academic community the internet space they lost to the web, since they are the ones most comfortable with xml, as far as I know. Is that what you’re thinking?

  24. Microsoft knows they have designers and developers behind an 8-ball. They know we hate them, they know that we put a ton of hours into fixes so that it will display correctly and they know we have to.

    Microsoft has an advantage; Name brand recognition, and a stranglehold on the majority of the audience.

    Setup a new computer for a family member that is not tech savvy. Eliminate the IE icon, and tell them to use the Firefox icon to browse the web, and count how many calls you get from that family member that they can’t find the big blue E.

    Microsoft spent billions of dollars in the late 90s ensuring the big blue e was synonomous with web surfing,… unfortantely they were successful.

  25. Surely a simple way to differenciate between a “compliant” and an “old mode” way would be for internet explorer to understand or use standards mode if it recieved a content type of text/xml and use its buggy mode if it got text/html

  26. January 3, 2005 by A Visitor

    This post is almost a month old, but since I didn’t see a comment that reflects my view, I will add my thoughts:

    IMHO, you guys are thinking too much like designers and developers and not enough like monopolists.

    Microsoft is not improving standards support in IE because they want to discourage the use of the browser as a platform for developing applications that are not operating system dependant. Improving support for CSS, PNG, and other standards such as Xforms, etc. would only make the browser a better application platform.

    It doesn’t matter if Microsoft owns the browser market. If developers switch over to creating standards based web applications Microsoft loses control of their customers. Standards based web applications can be easily run in competing browsers and, yes, even on competing operating systems.

    Microsoft has eliminated this threat by almost completely halting browser development. Microsoft’s incomplete and buggy standards implementation frustrates those who use current standards and prevents the widescale adoption of new standards. Now they want to convince everyone that they can’t improve standards support because it will break existing applications. The sad thing is that many people (including the ones on this board who should know better) believe them.

    Standard/Quirks mode is a perfect solution to this problem. People who bother to add DOCTYPE statements to their web pages understand the importance of standards and want standards support to improve. They are the ones who recognize buggy implementations and do not depend on their behavior. Everyone else who doesn’t give a hoot can continue to use quirks mode. What is so hard about that?

    To summarize my comment: Microsoft doesn’t care if IE breaks the web. That is exactly what they want! If defections to Firefox and other browsers continue, they might reconsider their strategy. But they will try everything else to keep IE users happy first: better security, tabbed browsing, and all the bells and whistles you could want. Improving standards support will be an unlikely last resort.

  27. January 4, 2005 by Roger Johansson (Author comment)

    A visitor (nice name ;-) ): You’re probably very right about why Microsoft doesn’t want to improve IE. And it’s sad to see such a huge company be so horribly terrified of competition. They know that if people are given a real choice, many, many would choose the best product, which in most cases is not made by Microsoft.

    So let’s just keep pushing the web forward and see what happens. Firefox is growing very rapidly already, and is making huge dents in Internet Explorer’s market share:

  28. February 4, 2005 by Martin Kliehm

    In my opinion Microsoft doesn’t update IE because they have won the browser war and want to keep that status. If they would issue a new Internet Explorer, people would have a choice to update. And some may opt for a better browser like Firefox. No update, no choice, and they hope to keep their 90+ percent of market share. (My sincere hope is that playing dead will eventually cost them more shares and reputation than joining the browser war again.)

  29. Does Gary talk about actual IE ?

    I would really appreciate that future versions of IE (Longhorn) have a good implentation of standards…

  30. I actually think Paul’s and Geffy’s the idea of a “hacks mode” is interesting, although to make it work it’d need to be the otherway around sadly, I think IE would render any page incorrectly (sounds bad I know) unless they had a meta tag specified (MS already enjoys using it’s own special meta tags etc..), of course most people would not bother with the standards mode, and would just ignore it, but old sites would continue to work, and the tiniest bit of compromise would allow the new IE and developers to get along.

    If people choose to use the default mode then they don’t get the benefits standards give, because people keep forgetting the reasons we’re fighting for standards is because they’re better and there are benefits, not because we’re the #1 standards fan club.

Comments are disabled for this post (read why), but if you have spotted an error or have additional info that you think should be in this post, feel free to contact me.