circa75 Home | About circa75 | Articles | Links | Contact Us

Posted by gustav at 08:01PM, Monday, December 04th, 2000

Another Reason Not to Support Monopolies

I had this weird display issue, peculiar to IE running on Windows, with a web site I was working on. I had lots of fun tracking it down.

I'm a web developer. I know at least a little about html, browsers, style sheets, and all that good stuff. But I was absolutely mystified a couple days ago when my boss pointed out that the site I was working on had big ugly grey table borders when she looked at it with IE. I work on a linux machine, so I don't often get the opportunity to check my work on IE. However, after viewing a page using Netscape 4, Mozilla, and OmniWeb on Mac OS X, I usually assume it will be okay on any modern browser. So, I dutifully looked at the site on IE on Mac OS X, where it rendered perfectly.

This is one instance of Microsoft making extremely stupid decisions. Whereas most browsers (Mozilla, for instance) use the same basic rendering engine on every platform - UNIX, Mac, Windows, Be, whatever - Microsoft chose to use a completely different engine for the Mac and PC versions of its browser. Which is a tremendous shortcoming for any web developer, who doesn't want to have three different machines on her desk to preview every change she makes to a page on the three major platforms. I can check a page under Mozilla on linux, and assume, aside from specific font issues, that it will render the same way on a PC and on Mac. No such luck with IE. In fact, I can't even use IE on linux, because Microsoft, presumably for monopoly-maintenance reasons, doesn't port that browser to this fastest-growing of platforms.

So I have this page, where the tables have huge ugly borders on IE, but only IE for Windows. There's nothing in the html that would cause this - borders, padding, and cell spacing are all set to nothing. There are no uncommented table or cell items in the style sheet. Nothing should be causing this.

Not wanting to have to run between my machine and one of the rare Windows boxes in the office every time I make a change to try and debug this problem, I decide to install VMWare on my linux box, and run Windows on that. VMWare is a virtual machine program, so that I can run another operating system alongside linux. It's a neat trick, but, it turns out, a bitch to set up. In hindsight I should have just set up VirtualPC on the Mac instead. There, Windows would have to run in x86 emulation, but it's a faster machine with more memory, and a much easier setup. Anyway, approximately one day later, VMWare is working, and I can start to debug the problem.

I start by commenting out the line that includes the style sheet. Presto, the problem is gone. I put the style sheet back in, and start stripping out stuff. I'm not entirely amazed to find out that as soon as I remove the commented-out lines for a table-cell style that I'd been playing with earlier in the week, the problem goes away. I try putting them back in, just to be sure. Yes, indeed, it seems that IE doesn't recognize comments in style sheets.

I've always hated every Microsoft product I've laid my eyes on, and this is just another example why. IE has different rendering engines for each platform. Microsoft doesn't release it on the platform that a lot of web developers currently use. And, even in its latest version, IE has bugs that make the exasperating CSS-compliance issues with Mozilla seem completely trivial in comparison.

Thank heavens for Mozilla, OmniWeb, linux, and the Mac.

circa75 Home | About circa75 | Articles | Links | Contact Us

All content copyright © 2001-2009 the owners of