Slime Update

Warez is Good

Apparently there’s some device out there, called the “Starcube,” which hacks Nintendo games or something. This has caused the number of visitors to my site per day to quadruple over the last couple of weeks, as my starcube DHTML page is nearly first on many search engine’s lists for “starcube.” Whatever works, I guess.

In unrelated news, I’m getting my wisdom teeth out on monday. Arg.

Posted at 11 PM on June 21, 2003

New Things

I worked around the previously mentioned bug, along with at least three others since my last post. But that’s not what this is about.

My sister is getting married tomorrow. That’s a little weird. I’m one of the groomsmen. In other words, I have to stand through the ceremony.

It’s weird though, just because it’s sort of like we’re stepping up a generation, in a way. Technically, that doesn’t really happen until they have kids, of course... but the point is, this is the first wedding among any of my siblings or cousins, and it’s also my sister’s, and you know, it’s just crazy.

As you can see, I don’t really have anything specific to say about this, but I figured it deserved an entry.

In unrelated news, a significant bug in the Google Search Terms Highlighting script has been fixed. The bug caused it to not know the search terms correctly all of the time. If you’re using the script, redownload it.

Posted at midnight on June 6, 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