IE8 and why the IE team still can’t code its way out of a wet paper bag

Look, I’m sorry. I’m sure Microsoft’s Internet Explorer team is full of smart, passionate, and talented people. But their latest effort, the Internet Explorer 8 beta, strongly suggests that they have some issues they need to work out—like maybe not having nearly enough competent programmers to write a modern browser, or living in an alternate reality where web standards are somehow completely different.

Let’s back up a few months. We’re in December, four days to Christmas, and the IE team triumphantly announces that early builds of Internet Explorer 8 successfully pass the Acid 2 test—a stringent test of browser standards compliance that even current Firefox releases have trouble with. Many web developers (including myself) subsequently cheer as Microsoft reveals that standards compliance will be a major new feature in the upcoming browser. Finally! After the complete abomination that is IE6 and the partial abomination that is IE7, Microsoft is taking a hint from Firefox, Opera, and Safari and working to make web developers’ jobs easier instead of harder. Hallelujah!

In light of the IE team’s promises, it was with great excitement that I installed the IE8 beta last night. Finally, an Internet Explorer browser that would flawlessly render everything on the Web without requiring ugly workarounds and lines upon lines of browser-specific code. It was with equally great disappointment that, after rebooting and loading up TR’s front page, I noticed that IE8’s "standards mode" rendering engine butchered TR, misinterpreting simple elements and apparently refusing to let me click anything on the navigation bar at the top of every page. Could it be that IE8’s standards compliance was so great that it had highlighted problems with my code that other browsers didn’t? After a quick look around other sites, I was quickly reassured: no, the "standards compliant" engine in the IE8 beta is just an abject failure.

You see, the IE8 beta has problems rendering a lot of pages. And I mean a lot. Rendering problems occur anywhere from Microsoft’s own Internet Explorer subsite to the World Wide Web Consortium’s validation page. Yes, IE8 fails to properly render code made by the W3C, the very body that defines web standards, on the very page web designers use to validate their code. Don’t believe me? Check out the image gallery below for a quick peek at IE8’s freak show of rendering inadequacies. The only thing the browser did seem to render properly was the Acid 2 test—I suppose Microsoft did at least deliver on one of its initial promises there.

Here’s a protip, Microsoft: if your browser’s new, purportedly standards-compliant rendering engine fails to properly render a large number of major sites, including the damn W3C validator page, you’re doing something wrong. Now, I’m sure these rendering problems could just be the result of bugs inherent in a beta release. Maybe the final 8.0 release will render everything just fine. Maybe I’m just getting worked up over nothing. That would make sense, wouldn’t it?

Then again, according to one of the latest reports we’ve seen about IE8, the full production release will come out before the middle of the year. That means Microsoft has about three months to iron out all those bugs and transition its browser from "more broken than early, alpha-quality Firefox 3 nightly releases" to "not broken and fully standards compliant." Yeah, that’s gonna happen. Here’s what I expect: some bugs will be fixed, compatibility will be improved somewhat, but IE8 will still introduce behavior inconsistent with every other browser on the planet and I’ll have to change TR’s code to make it compatible. Either that or I’ll have to add a header to make it fall back to IE7 compatibility mode when it renders TR.

Have another protip, Microsoft, you deserve it: a web browser’s job is to do its very best to render code in a way consistent with what the web designer expected, not to force said designer to rewrite his code to work with your browser. A small Norwegian company with what must be a staggeringly small fraction of your resources has been able to do this for years.  Why can’t you?

Comments closed
    • kmansj
    • 12 years ago

    I tried the smiley face validation page using Firefox 2.0.0.13, and it looks horrible, all scrambled up. What gives? The pic you have of the IE8 rendering matches the Reference rendering on the page, so what’s wrong with Firefox?

    • bogbox
    • 12 years ago

    IE 8 is not support by Yahoo mail .

    • Shark974
    • 12 years ago

    This post would make a better point if Opera didn’t suck.

    But I think I do know why FF can make a better browser than MS, because it’s all they do. It’s what they concentrate on, it’s their whole job.

    • emi25
    • 12 years ago

    Firefox vs Webkit, the 20 mar 2008 beta versions:
    §[<http://i26.tinypic.com/34q44gm.jpg<]§

    • emi25
    • 12 years ago

    Firefox 3 beta 5 pre : 69
    WebKit-SVN-r30881 : 90

    §[<http://i162.photobucket.com/albums/t262/ancaemanuel/acid3.jpg<]§

    • lethal
    • 12 years ago

    Cyril, try the Acid3 test just for kicks :P.

    §[<http://acid3.acidtests.org/<]§

      • Cyril
      • 12 years ago

      Getting:

      12/100 in IE6
      14/100 (I think?) in IE7
      17/100 in IE8
      39/100 in Safari 3.0.4
      46/100 in Opera 9.25
      52/100 in Firefox 2.0.0.12
      57/100 in Opera 9.5 Alpha
      59/100 in Firefox 3 Beta 3

        • BenBasson
        • 12 years ago

        Firefox 3.0 b4 nightlies currently pass 69, so I expect that will be the result for b4.

        Good lord, I see what you mean by “I think” for IE7.

          • Hdfisise
          • 12 years ago

          IE7 screws that over….

        • adisor19
        • 12 years ago

        IE 5.2 on the mac gets a big fat 0 LOL

        Adi

    • UberGerbil
    • 12 years ago

    You know, it’s worth mentioning that are a /[http://alistapart.com/articles/beyonddoctype<]§

    • Forge
    • 12 years ago

    It’s simple. MS wants the uninformed/partially-informed masses to draw the conclusion that ‘standards compliant’ = ‘broken’, and that doing things the IE6/IE7 way is better. Then IE9 goes back to the old MS-centric rendering style, albeit at ‘popular demand’.

      • Krogoth
      • 12 years ago

      Heh, I still hold the fact the whole mess is just a legacy of infamous browser wars.

      The upper staff at MS still think that “Netscape” is out there and web browsers are still relevant enough to fight over. These guys make the shots not the programmers who do most of the grunt work. Don’t blame the programmers for the problems.

      The reality is that web browsers have become commodity products since late 1999s (at the height of .com bubble). Contesting over who standard should be accepted is counter-productive for both parties.

        • IntelMole
        • 12 years ago

        Have web browsers ever directly made anyone any money?

        Bundling of Google search with Firefox is about the best I can come up with, and that’s not really a deal based solely on the strength of the firefox platform – any browser company can make that deal…

          • Krogoth
          • 12 years ago

          Back in the early days of the web. Web browsers used to have a modest price tag.

          They became free from MS’s forced bundling of IE with Windows 95.

          Opera is the only remaining shareware web browser that exists today.

            • BenBasson
            • 12 years ago

            Opera is now free.

    • holophrastic
    • 12 years ago

    One day, someone will be ablo to explain to me why you want your code to be written once for all browsers. Professionally, I hate that idea. I’d much prefer the advantages of having every browser sport a very different feature-set, and accept the disadvantages of having to program everything a dozen times.

    Programming everything a dozen times is easy — for an experienced programmer. It’s really annoying, and can often be frustrating and time-consuming, but it’s incredibly easy.

    As a web programmer, I’d rather get paid more for the easy stuff, and make it difficult for new programmers to enter the industry. I’m not interested in having my industry follow the paths of so many other industries — into the lands of third-world *[

      • Irascible
      • 12 years ago

      So… A botched IE8 is good because it profits you?

      I’m not attempting to assign a moral value to your opinion. I’m just expressing it more succinctly. ;^)

        • holophrastic
        • 12 years ago

        that’s exactly it. and in a democratic society, and a capitalist one at that, my vote goes to the one that makes my business more successful.

      • titan
      • 12 years ago

      If your page is properly written, there is no need for “printer friendly”. Maybe you’re not as good as you think. Lol! I keed I keed! Except for the printer friendly part.

        • holophrastic
        • 12 years ago

        umm, not true. “printer friendly” doesn’t mean that the visitor’s lexmark can print the page, it means that the visitor can use the printed page.

        so, the printer friendly versions of my sites, for example, don’t have navigation — because that doesn’t work in print. I switch fonts and colours to enhance the printed page. I make web pages look like whitepapers. text alignment changes. I use 300dpi imagery instead of 72/96dpi. I reflow the page so the important parts are, well, prominent.

        The web page was made for search engines and to get visitors to read what I wanted them to see. The printed page assumes that they want to see what they want to see. Logos are smaller, promotional and marketing text is gone. Ads are gone. Language translation is gone. User login/logout is gone. Dynamic features in general are gone. Non-content links are removed. The entire page is re-flowed to fit the remaining content appropriately. Hey some clients want the colours removed to save printer ink.

        Maybe you should consider your visitors, and not just their printers.

          • titan
          • 12 years ago

          That’s what I was saying. If your page is written properly, you don’t actually need to have a printer friendly version link, unless you want to do a print pre-preview.

      • ssidbroadcast
      • 12 years ago

      Eh, I see your point I guess… but it’s extremely self-serving and exclusivist.

        • holophrastic
        • 12 years ago

        it’s capitalist, it’s democratic. You can cast your vote any way you choose. I’ll vote for that which makes my life better. In this case, I get paid for doing something that others can’t do. I prefer it that way. If it were easier, then my efforts would have to go into sales and competing with the many additional companies who would be able to do the same.

        It’s business, of course it’s self-serving. Well, it serves me, my family, my friends, my employees, my clients, my contractors, my suppliers, et cetera. So yeah, I’m prioritizing the lives of the people within my circles.

      • just brew it!
      • 12 years ago

      Creating extra work and maintenance headaches is never a good thing (unless you’re getting paid by the hour).

      Having to know the arcane quirks of each browser’s rendering engine is like the old days when all computers were programmed in assembly language. We outgrew that years ago — high-level languages freed most developers from having to worry about the details of the underlying machine architecture. Likewise, web coders should not need to worry about which browser they are coding for.

        • holophrastic
        • 12 years ago

        I’m not saying that the consumer, the industry as a whole, and even my own clients wouldn’t be better off. They all likely would be better off if standards were, well, standard. But that’s not what I want.

        I currently perform a task that my clients cannot perform. If it becomes easy, then my work flows into sales and competing, instead of producing.

        A lot of people try to push for better consumer situations. But you seem to forget something very important. You live in a first-world nation. Yes you’re a consumer, but you’re also an employee (or employer, or owner, or whatever).

        The best thing for consumers is very cheap and disposable. That means a supplier that pay less to employees. Our culture thrives best when the cost of living grows and so do average salaries. You’re asking for what many industries already have — outsourcing to China, India, and prisons. Where labour is cheap, technology is cheap, and products are cheap. But then you lose your job.

        If you earn less than average income, then you want products to be cheaper even at the expense of your salary because products will get cheaper faster than your salary will go down. However, there is a very flawed boundary case there. If you earn more than average income, then you want everything to be more expensive and salaries to go up. Because your salary will rise faster than the product costs.

        I currently work in a high-skill, low-labour, relatively easy, respectable profession. I hire intelligent people and pay them appropriately. I offer quality service, quality support, and quality products to my dedicated clients. I don’t want to start outsourcing everything to remote workers, start selling cheap carp, to anyone who’ll buy it, and compete with thousands of others doing the same thing in my own city.

          • Joshvar
          • 12 years ago

          “I currently work in a high-skill, low-labour, relatively easy, respectable profession. I hire intelligent people and pay them appropriately.”

          If you consider writing code to address a browser’s shortcomings as “high-skill” then I understand why you’re afraid of standards compliance. The “intelligent” people you’re hiring will get bored without the incentive to overcome fresh challenges, and while figuring out how to get around standards non-compliance can be somewhat challenging, it’s hardly fresh or enlightening.

      • liquidsquid
      • 12 years ago

      This doesn’t hold water in the embedded world, especially when you are contracting for someone else. Go over budget, the customer never comes back, they also tell other possible customers what you did. Also when working on smaller devices with small memory footprints, multiple browser support becomes something more akin to a huge liability as suddenly you discover that in order to support the new release of some buggy P.O.S. browser you need to spend another $100K on hardware development to upgrade the system so you can address more memory and, well, you get the idea.

      If strictly developing web pages and sites, it does hold water, and I agree. If it were easy, anyone could do it, and if anyone could do it, it would go to the cheapest bidder. (Some 15yo in China).

      -LS

      • conlusio
      • 12 years ago

      What’s your business name so I can never ever EVER hire you?

      It sounds like you’re like those gentlemen at a previous job of mine who opposed the replacement of the old IBM blue boxes. Reason? If they were replaced their job security would be removed (they’re the only ones who knew how to program in the CUSTOM language they designed to run the billing process).

      Good code is maintainable by anyone. Period. That’s why we pay good money up-front to have it done right. Then we pay cheap labor to maintain it.

      THAT’s capitalism

    • Krogoth
    • 12 years ago

    The problems with IE7 and IE8 are just a lingering legacy from the “Browser War”.

    MS intentionally did not follow the industry-accepted web standards in made their own in order to crush Netscape.

    I suspect that upper management who are charge of operations in still the mindset that Netscape is around. (Well, Firefox is an open-source descendant of Netscape) The programmers of IE have to follow their way or find themselves a job elsewhere.

    • Nitrodist
    • 12 years ago

    Why can’t IE Just Work™?

    • titan
    • 12 years ago

    At first, I was like, “I don’t see any difference.” Then I actually tried using the navigation bar. Not cool.

    Anybody else think they pulled a Nvidia/ATI cheat? Remember all the hoopla from several years ago where Nvidia and ATI “optimized” the performance depending on the game that was running, and a simple rename of the executable disabled the optimization? I’m willing to bet the IE8 developers did the same thing in order to pass the Acid2 test. In my mind, if IE8 can pass the Acid2 test, legitimately, then it shouldn’t have a problem with any page on the Internet.

      • quock
      • 12 years ago

      I was under the impression that the acid2 was written to test the way browser handles /[

        • titan
        • 12 years ago

        You’re right. It is “faulty” code. No one in their right minds would actually design a page the way Acid2 Test is designed. Even though the code is “faulty”, it is 100% compliant. Therefore, as long as a browser properly supports standards compliance, it should handle Acid2. That’s what makes me think the IE8 developers did something underhanded to pass the test.

    • Madman
    • 12 years ago

    If they can’t write a good browser, then they should just stop ruining web development.

    • bwoodring
    • 12 years ago

    Isn’t this a pretty snap judgement of a beta 1 product?

    • SuperSpy
    • 12 years ago

    And I had such high hopes when they announced it would use it’s “good” rendering engine by default. Guess I got worked up over nothing, Microsoft never learns.

    • steelcity_ballin
    • 12 years ago

    I feel your pain Cyril. My dreamworld exists where I can use CSS and XHTML once, and have it render the same everywhere.

      • Master Kenobi
      • 12 years ago

      Wasn’t that the Java approach and that still isn’t a complete reality? Java has been at it quite some time too.

Pin It on Pinterest

Share This