Slime Update Archive - May 2003

Internet Explorer 6: The New Netscape Navigator 4.8

There was a time when Internet Explorer was the best browser out there. Not too long ago, in fact; IE’s support for HTML, JavaScript, and DHTML was ten times as good as Netscape Navigator’s. Writing code and scripting for IE was simple. Everything worked intuitively, with a few exceptions, while Navigator managed to botch the display of even the simplest code. Complicated DHTML was just out of the question in Navigator, unless you were knew all its ins and outs and were willing to settle for serious imperfections. Back then, Internet Explorer was excellent, and us coders couldn’t wait for Navigator users to upgrade and stop holding us back.

Today, the percentage of users still using Navigator is extremely small. Most of them have switched, either to IE, Mozilla, Netscape 6/7, or Opera. I am thankful for this. Netscape Navigator will turn six years old this summer.

Ironically, the culprit is now becoming Internet Explorer. The reason Internet Explorer has lost its superiority is that it’s not keeping up. Back in the days of the Browser Wars, it had the best support for JavaScript and HTML, and was easiest to code for. Now, however, there are standards followed by every popular browser vendor, and IE is lagging behind. Internet Explorer’s support for standards is a joke.

With the release of Internet Explorer 6.0 a little under two years ago, Microsoft advertised “full support for CSS 1.” Oh, by the way, CSS 1 came out six years ago, around the same time as Netscape Navigator. CSS 2 has been out since 1998. And did I mention that CSS 3 is nearing completion? Please, give me a break.

The number of bugs in Internet Explorer is amazing. You don’t really notice them until you get into the real complicated details of a design, but then, believe me, you notice them. The Document Object Model works in Internet Explorer - oh, that is, if you make sure to always use the HTML DOM when posible, and avoid handy properties such as getAttribute at nearly all cost.

Over and over, I find Internet Explorer rending things incorrectly. It’s very subtle - a floated element just won’t get into the right position, or an absolutely positioned box isn’t in the right place. After some time fiddling with the CSS, I check it out in other browsers. No problem in Opera 7 or Mozilla (Netscape 7). Ah, yes, it’s just another little thing that IE 6 doesn’t get quite right. And don’t count on that bug getting fixed any time soon. I’m still dealing with errors from IE 5.

For instance, just now, I realized that IE doesn’t support multiple classes correctly. The CSS selector P.class1.class2, in IE, is equivalent to P.class2. That’s an old IE 5 bug. Looks like I’ll be coming up with yet another workaround tonight. No problem, I’m used doing that. When you code for IE, you do it all the time.

Admittedly, most of IE’s problems pop up when I’m working with JavaScript. Thankfully, scripting problems are usually not that hard to get around due to the nature of scripting. However, many of IE’s issues involve setting CSS properties through scripts. When set with plain CSS, things usually display as they should. When set with JavaScript scripts, everything goes wrong. Things aren’t redrawn at the right time. Box sizes are incorrect. Margins are lost. Padding disappears. I could give more examples.

One strange bug I’ve seen from time to time is the incorrect treatment of elements that are set to display:block. In very specific circumstances, which, so far, I can only duplicate by accident, extra whitespace appears, or margins disappear. Giving the element a single pixel bottom border makes the problem go away. Explain that to me. Full CSS 1 support? Good one, Microsoft.

In the past four days of web design, I have come across at least five design-ruining bugs in IE 6. I’ve noticed one or two minor ones in Mozilla, and a single bug in my non-upgraded version of Opera 7.

I don’t claim that IE 6 is as bad today as Netscape Navigator was a few years ago. Honestly, I’d take the current situation over the old one any day, and with IE 6 I at least have a decent chance of finding workarounds. But if IE 7 doesn’t pick up the pace, we’ll get to that point before too long.

Sorry about the lack of updates. Summer started, and I just spent all of my time making Warcraft maps. For the last week or so I’ve been working, and I’ll continue to do that for the rest of the summer. At least IE 6 is keeping me busy.

Posted at 4 PM on May 30, 2003

More on XHTML 2.0

From Tantek (via Zeldman): XHTML 2.0 considered hopeful. I’m glad to see that the W3C has taken people’s opinions into account. I have yet to take a look at the new draft myself (since I’m packing to go home in five hours), but according to Tantek some nice additions have been made. I use a self-created XML format which resembles XHTML 2.0 to update this site, and I’m excited about the features and changes it’s bringing.

You can read my comments on XHTML 2.0 from January 14.

Posted at 1 PM on May 9, 2003

POV-Ray Stuff

I haven’t updated in a while because of finals and laziness. I’ll be going back home soon.

I spent most of today doing POV-Ray stuff. I looked at Gilles Tran’s page, which contains his POV-Ray gallery (including the most impressive images made by anyone with POV-Ray, in my opinion), and then worked on my return for the POV-Ray Pong match I’m participating in. Then I looked at the source code for some of Chris Colefax’s POV-Ray Include Files. Maybe I’ll work on another image sometime soon. I have to pack, though.

I must go to bed now.

Posted at 3 AM on May 8, 2003

Search Term Highlighting Include File

After a little frustration regarding my previous post, I decided not to pursue that for now and began work on a different script: search term highlighting.

Go to Google. Type in, say, “Slime Update” and go into the first link. Behold! Your search terms are highlighted! And don’t miss the link in the “Style Sheets” section of the menu that lets you turn off the highlighting!

The script works by checking the referer, and if the user came from google, it traverses the document tree, using the DOM to create <span> elements with the class name search-term. The actual highlighting is done by CSS.

Feel free to grab the script for your own use (just don’t link to it directly).

April ended an hour or so ago. It’s May now. Happy May.

Posted at 1 AM on May 1, 2003