Bowing out of the Browser Wars

I think it was Sartre who once wrote something along the lines of, “walking away in disgust is not the same thing as surrender.” Or maybe it was Camus. I’m pretty sure it was one of those Existentialists. Or maybe Absurdists. Probably just a little crazy, too.

In any case, insanity is defined as the practice of repeating the same action over and over again, expecting different results. That’s kind of my relation with Internet Explorer.


I always hate the mess it makes out of my layouts. About once a year or so, I’ll get access to a computer with Windows, and I’ll pull up this site to see how it looks.

Explorer always makes it look like it’s been on a three-day schnapps bender. I know they update the thing all the time, and one would think they’ve gotten around to getting it compatible with CSS standards.

You’d think that.

I write in and for Firefox, for the most part. I’ll run the design through Galeon (which is lightweight Mozilla), Opera, Konqueror and (through a friend) Safari. If it renders acceptably through one, it’ll usually look fine through the others. The only exception is Konqueror, in which the rendering engine makes buttons look a bit funny, but I can live with that.

My biggest concern is making sure that a) the code is standards-compliant, and b) that there aren’t any browser-specific quirks that need to be ironed out. All of the themes on this site meet both those qualifications.

So, why don’t they work in IE? Because Microsoft is too busy adding pointless, CPU-cycle-eating, proprietary misfeatures to fix the fact that their browser can’t render CSS correctly. We’re on version 7, and they still haven’t gotten it? (It sure does do bandwidth-sucking things like Flash well, though)

Some stuff, like the broken box-model, is largely fixed, but there are still some really weird behaviors, and you know what? I’m sick of dealing with them.

Explorer’s defects are well known. Many developers either resort to elaborate hacks to get around the problem, or they dumb down their designs to avoid it altogether. I find both alternatives to be unacceptable. They shouldn’t be necessary at all. Not when we’re dealing with the largest software company on Earth.

So, I stick with writing pretty interfaces. That’s what I like, and that’s what I do. Then I get emails from people researching guns or MiniDisc stuff. They find this site on Google, they see that the layout’s not parsing correctly, and they send me stuttering, half-literate emails to tell me, “Ur site l00ks teh gay,” or some such nonsense.

It’s all really quite trying. I may take up binge eating or something similarly counterproductive.

So, here’s where I throw in the towel. I’m blocking Explorer out. I’m using a lightly modified PHP script hosted by Devin Carraway. It reads the HTTP_USER_AGENT key, and if it’s IE, the script directs it to another page.

In my case, I’ve just got a missive explaining my reasons and encouraging users to switch to a decent browser. I chose to be nice, and the page contains a link sending IE users who insist on it to a plain layout.

Here’s the actual code. It goes in the index template for the site.

<?php
if (eregi("MSIE",getenv("HTTP_USER_AGENT")) ||
eregi("Internet Explorer",getenv("HTTP_USER_AGENT"))) {
Header("Location: https://lonelymachines.org/ie_reject.html");
exit;
}
?>

The nice thing is, there’s no “true” index page to type in, so Explorer users can’t bypass the ie.html page. They need to suffer at least a little for their obstinancy.

It may seem catty, but at least it’ll put a stop to the, “OMG WTF is wrng w/yr page” emails.