How I Learned to Stop Worrying and Love I.E.

Internet ExplorerUsers viewing with Internet Explorer will now see a notice just above the navigation that says, effectively, that that browser won’t “display this site quite as it was intended.” This is obnoxious, I know, but when I made a game plan to produce this redesign, I deliberately chose not to take too seriously the way it would look in Microsoft’s still-dominant Web browser.

This is partly because it’s loads easier to design for modern browsers like Firefox, Safari, Opera and OmniWeb, and with so little time with which to make the redesign a reality, I decided to save myself an additional 20% heartache and pretty much ignore IE.

Below: Your browser blows. I mean, er, there are some slight deficiencies in Internet Explorer that prevent it from displaying this site just right. Just a bit.

Relax, Don’t Do It

For Internet Explorer 5.0 — which, really, should be considered a relic of history — this is kind of a deal-breaker, as even the navigation won’t show up. This is a nontrivial a problem, I admit. I hope one day to repair that, but I kind of doubt if that day will come soon. For the vast majority of IE users, you should still be able to view all the pages with a reasonable amount of fidelity, but there are some finer details of the layout that are amiss. For instance, IE renders a superfluous and completely inappropriate indentation in the first paragraph of most bodies of text. It drives me absolutely crazy when I think about it, but I decided I’m just not going to think about it.

Internet Explorer

In the past, I would have spent a lot of time trying to finesse these details back into proper rendering, tweaking the XHTML and CSS repeatedly while gnashing my teeth. But that’s just not something I’m interested in doing any longer, especially having been doing this site for so long and for free. Now approaching my mid-thirties, there’t just no reason to inflict that kind of frustrating, time-consuming expectation for thorougness on myself any longer. It’s just not fun to deal with Internet Explorer, and I want to keep this fun.



  1. You’re right, 30+ year olds shouldn’t be messing around with CSS for IE. Actually, nobody should. Our time is too important for such trifles.

    Viva le progress!

  2. Listen… people are always going to stay where it is most comfortable. It is not comfortable for people to change, and if we keep designing for 10 year old browsers, they wont have to. We need to push people along. The moment they cant read anything on the internet anymore, they will say “humm… I guess I have to switch to firefox.” So lets push them. A frind of mine says designing for IE is like teaching an english class and saying, “well, sorry, none of us can learn to read yet… we have to wait for the retarded kid to catch up…”

    Good job. You took a bold step.

  3. “Dady, why don’t you read me a bedtime story every night like other fathers do?”
    “Well son, in a country far far away, there an evil but very rich man who … ”

    I just can’t explain this to my litle kid, so that’s way i did just the same thing like you did on your site.
    After all, my kid is more fun then Billy’s messy browser.

  4. Just a simple FYI –
    I’m using Firebird 0.6.1, and I still see your little warning telling me that I’m using IE….which, in fact, I’m not.

    I’m also seeing the following at the bottom of the page…
    Use of uninitialized value in string eq at lib/MT/ line 547.
    Use of uninitialized value in concatenation (.) or string at lib/MT/ line 559.
    Use of uninitialized value in string eq at lib/MT/ line 576.
    Use of uninitialized value in string eq at lib/MT/ line 576.
    Use of uninitialized value in string eq at lib/MT/ line 576.
    Use of uninitialized value in string eq at lib/MT/ line 576.
    Use of uninitialized value in string eq at lib/MT/ line 576.
    Use of uninitialized value in join or string at (eval 15) line 2.
    Use of uninitialized value in concatenation (.) or string at lib/MT/Template/ line 2012.


  5. Of interest may be that I was treated to this message while using Opera, which I have set to identify itself as IE. If I identify as Opera, I get messages elsewhere saying “Hi! It looks like you’re using Opera, so we won’t even show you this page, which probably works fine in Opera, but we can’t be bothered to test it. Come see us when you’ve downloaded IE.”

    A girl can’t win.

  6. Tee: you’ll get the message in Opera, but you can still see all of the content, right? The site should display properly nevertheless. These browser sniffers are an inexact science at best.

    TCJeter: I’ve seen that error; I apologize for it. I hope to have all the little bugs worked out over the next week or two. Sorry too about Firebird 0.6.1, though I can’t say that that instance of browser misidentification is going to be at the top of my list to fix.

    If someone can point me to a better browser sniffer, I would be very much grateful and I’ll be happy to swap it out.

  7. That’s all fine. It took me months to train my puppy, Kibbles, to properly sniff and identify each browser as they were presented to her. Such a cute pup – just when you think you’ve got them all down, they go and release a new browser. Back to training camp…


  8. My first visit…
    [1] feeling viewer relief viewing your gorgeous B&W design,
    [2] dissing IE? –hey, I’m awake now! wadda great thing…. it just seems so…obvious…so inevitable.

    oooops! “Preview” gets this:
    Build error in template ‘Comment Preview Template’: Error in tag: Can’t find included file ‘includes/pulldown_dates.html’ with URL

  9. You can stop the message appearing on Opera by changing your code to check the user agent for “Opera” – it appears in there even when Opera is masquerading as IE. You might also consider using IE conditional comments instead of scripting; that will also allow you to put up some basic navigation for IE5 users, along with a message – see this article for details. HTH.

  10. Um… dudes. I compared the site in IE and FireCock… they look exactly the same to me. SO much for “blowing out IE”. I notice no first paragraph indent or other issues. Looks fine.

  11. I guess that’s just a testament to my superhuman CSS coding. Heh, just kidding. Anyway, at least you downloaded and installed Firefox, so it’s a win.

  12. How about instead of a script just use a child selector or similar css rule not understood by IE
    body > #ie { display:none;}

    just as a f’rinstance

  13. The page renders perfectly well in IE. Snide messages telling me my browser blows means this site won’t ever be bookmarked by me. And I certainly won’t be downloading Firefox. Thanks anyway.

  14. Snide messages?? Taking things a wee bit personally, aren’t we?

    To describe IE’s rendering of any web site by making use of the word “perfectly” is laughable and places your ignorance of modern web design on glaring display. You must also enjoy having your browser (which blows) exploited by malicious code and I just can’t understand that at all. Unless you have a financial stake in Micro$oft or an ex working at The Mozilla Organization or whatever ridiculous reason.

    On this site: truly beautiful design and impressive css. Cheers to you for alerting the Jimbos of the world to the drawbacks of their proprietary, standards-inept browser.

  15. I love it when people view browsers in the “Calvin pissing on the Ford logo” manner. “Dude you insulted my browser! I’m outta here!”

  16. 3 cheers for standing up for web standards and clean design. If more people thought this way, MS would be forced off their behinds and into the standards compliant world.

  17. Using conditional comments is really easy and you dont need to do any of that silly user agent sniffing, just slap the content between comment tags and your done.

  18. Khoi, I don’t have any issue with you targetting older or less standards-compliant browsers for special treatment, but I can’t help feeling that you’ve gone about it the wrong way.

    Rather than performing a JS browser sniff, why not just have a CSS filter do the work for you, like so:


    #ie-msg {display: none;}
    * html #ie-msg {display: block;}

    That way, there’s no problem with Opera and co. seeing the message. You could also have the message on every page, should you choose, instead of just the home page.

  19. Everyone loves to bash IE, and Microsoft for that matter. You hear “monopoly”, you see “M$”, they cry “dump IE” and so forth…

    All I hear is whiners. What the heck is the difference! NO ONE CARES about standards. We, the average Joe user (and trust me, we ARE the majority) dont care about web-standards and whether or not this site displays “correctly” in one browser or another. We use IE and we arent going to stop.

    Personally, I will not use Firefox until they correct that horrible page shifting to the right and left on almost every page I go to. Otherwise its not bad – but still, why bother??! If all these other sites I’ve slipped through get their way and standardize the coding behind all this stuff, then why will we need multiple browsers? We wont. And we’ll go back to ONE browser – ala the MONOPOLY that everyone’s whining about. But, it will be OK because it just may not be Microsoft this time. And it all goes back, full circle to… jealousy.

    Its damn annoying!!!

  20. While I won’t address “Mike”s flawed logic above (that standards = 1 browser), I will address the question of whether or not to use CSS selector filtering to hide the warning content from IE only.

    I’m using the JS browser detection script from Subtraction (with permission, of course) and find it suits my needs perfectly. It may be imperfect, but on a personal site – those things are of little concern. I would never, ever use it on a client site or other professional venture.

    The problem with that is that your content exists in the markup no matter what and would show up in search engine indexes of the home page. And, this being a blog, that warning would be one of the only static bits of content indexed on the home page. I wouldn’t want that. Unless I’m wrong, most search engines don’t bother parsing CSS. If I’m wrong, please correct me!

  21. For Mike, two posts up (and for any others who wish to hear my opinion),

    Perhaps “end users” don’t care, but companies who hire us most certainly should. If we didn’t have to waste time designing for multiple browsers and follow one standard, then our costs would be reduced saving said companies money in the long run. Perhaps you think this doesn’t affect you, but most companies pass the cost of web design on to the paying customers (read: you).

    Now if you want to argue about what standard we should use, then please do, but standards are necessary. Personally I like following the W3 standards and hate having to fix things just for IE.

    Bravo on your bold step forward Khoi!

Thank you! Your remarks have been sent to Khoi.