Ethan Marcotte now blogs at Unstoppable Robot Ninja.


Weblog entry:

IE5/Mac mattered

If you’re visiting this site in Internet Explorer 5 for the Macintosh, you’ll likely notice something’s different around here. Or rather, you notice that there are a few jillion things missing: namely, I’ve taken the liberty of hiding sidesh0w’s CSS from that once-venerated browser. But thanks to the magic of Ye Olde Progressive Enhancement, my site is, and always will be, accessible to IE5/Mac. So while this page might look like it’s partying in 1995, it’s still perfectly legible, functional, and loves you for who you are.

This isn’t a decision I made lightly, but it’s something I’ve been considering for some time—it wasn’t until dinner with Dan and Doug last week that I made up my mind, and decided to pull the plug on that browser.


Ever since pushing the Whitewash skin live on sidesh0w (for whatever that’s worth), I’ve been debugging it in IE5/Mac. What worked wonderfully in my dev environment caused that browser to choke when dealing with live content. It started with Some Context; I’m using absolute positioning to pull that chunk of content out of its containing block and up nearer the header. For some reason, IE5/Mac wouldn’t display the box after the positioning was applied. But not consistently: it would selectively draw the box on some pages, and not on others. So I cajoled, I floated, I begged, I z-indexed, I wept—all to no avail. I hacked with extreme prejudice, but the box refused to display consistently. Finally, with the help of a little surgical hack management, I gave up: I disabled the positioning in IE5/Mac, and let the content sit in its parent container, below the fold. Shock, gasp, horror—I know.

Of course, this wasn’t the only bug I was faced with: it was simply the most egregious. But in all honesty, the individual bugs aren’t particularly important; even if I had Cederholmian, pixel-perfect display in all my target browsers, I’d still have come to this decision. At some point, we need to toe a line in the sand, and weigh the cost of supporting a particular browser with the benefit afforded our users. In IE5/Mac’s case, it’s a no-brainer—less than 1% of my readership (all three of them) uses that browser, and I was diverting time from improving my site (or rather, both craptacular versions of it) in ways that would benefit the rest of my audience.

(Hi, dad.)


But support issues aside, there’s a bigger question I’ve been mulling over since reading Dunstan’s CSS solutions for Mozilla Europe. Specifically, I thought Dunstan’s use of :before and :after pseudo-selectors to apply rounded corners to “boxless” boxes was damned elegant. As you know, Internet Explorer, the Browser That Cares™, will simply ignore these clever little pseudo-selectors; because of this, most folks view them as verboten. Without support from IE, they’re simply some of the best ideas we can’t—and shouldn’t—use. Yet.

But when does “yet” become “now”, exactly? The beautiful thing about Dunstan’s method is that it degrades beautifully in IE—the only thing missing are the rounded corners, which are a subtlety that most users can live without. So at what point do we move beyond today’s browser limitations, and how? Granted, Dunstan’s approach isn’t one I could sell to most of my clients today:

Me:
Well, that drop shadow won’t actually show up in Internet Explorer—you know, the browser used by 85% of your users.
Client:
[after a brief, fear-filled pause] So…when would you like to tell my CEO that, exactly?

But it’s safe to say that the landscape is changing…albeit slowly. At some point more and more people are going to be browsin’ happy, and we’ll have more latitude in the amount of CSS we can play with. What I’m struggling with is how we can start planning for that point now. At some point, we need to move forward—I guess my move with IE5/Mac is just a ham-fisted attempt to start doing so.

(Actually, I’m probably just too damn lazy to de-snafucate my CSS. My life is a lie.)

Comments

Hooray, technical difficulties.

There’s a WordPress issue that’s currently preventing old comments from displaying correctly. Sorry for the inconvenience, but hopefully we’ll be back online soon.