On Sunday, a development version of Konqueror passed the Acid2 test. In the comments, someone posted a screenshot of iCab also passing the Acid2 test.

I did a double-take. iCab? Das Internet-Taxi für den Mac? The browser with the nice “Make iCab smile” campaign to encourage non-broken HTML on websites but CSS capabilities that have rivaled Netscape 4 as little better than a bad joke? That has been in perpetual beta for years with no sign of shipping a final release?

So I did the only thing I could do. I downloaded the new beta and tried it. Not only did it nearly pass Acid2 (there was a narrow white line across the middle of the face) but it actually handled all the layouts on my own site… something which it had always failed at spectacularly before.

The WaSP Buzz posted a congratulatory note to both this morning. Strangely, iCab is the first browser available to the general public that passes Acid2. The up-to-date Safari is still sitting inside Apple’s development labs, and while you can download the source for the updated Konqueror, you’ll have to wait for KDE 3.4.2—or possibly 3.5—to be able to use it yourself without running a bleeding-edge desktop. Update: Apple has just launched CVS access to WebCore, putting Safari in the same situation as Konqueror: you can download and compile the latest source code if you want, but if you just want to grab an installer, you’re gonna have to wait.

Follow-up in 2024: I’m surprised to discover that iCab still exists, and is still developed — though in 2020 the author rewrote it so it uses macOS’ built-in web renderer (like Safari) and not its own engine anymore.

Sometimes you want to know exactly what software people (or bots) are using to view your website. Sometimes all you want to know is which rendering engine’s quirks you need to cater to. To that end, I have here the ultra-simple browser detection algorithm. Just check the User-Agent string for each of the following words, in order:

  1. Opera — they spoof IE by default, so check here first. If they ever change this to something else, you’ll be glad you started here.
  2. KHTML — this will catch Safari, Omniweb and Konqueror. They mention Gecko, so if you need to treat them differently, check for KHTML first.
  3. Gecko — this will catch Mozilla, Firefox, Camino, Netscape 6+, etc.
  4. MSIE — this should Internet Explorer and anything else that uses its engine.
  5. bot, spider, crawler, or compatible — filter out robots and anything unknown.
  6. Mozillajust about everyone uses Mozilla in their UA string these days, but the rules above should filter most of them out and leave only old-school Netscape.

Of course, Mozilla, Opera and Safari have put much more effort than IE into following the standards, so most of the time you can write your code using the spec and just build in work-arounds. The way I look at it, there are three main categories:

  1. Standards-compliant(ish) browsers: Gecko, Opera, KHTML
  2. MSIE
  3. Everything else

I write for group 1, work-around for group 2 (and sometimes other browsers in group 1), and figure that group 3 (with the exception of Netscape 4, which has a tendency to do things like make links unclickable or hide entire chunks of the page if it doesn’t like your CSS) should at least be able to figure out how the text and graphics break down. It may not look perfect in randombrowser, but it should at least be comprehensible.

I’ll always remember a line from a play I was in during college. It was an original musical, and the composer couldn’t come up with a good line by the time he had to hand out the scripts, so he filled it in with “Come around and schmoo” just to keep the rhyme in place. Oddly, I can’t remember the line he finally replaced it with.

And of course, Firefox’s cookie preferences were labeled “Cookies are delicious delicacies” for so long during the beta period that by the time they wrote a real description for 1.0, someone wrote an extension to put it back in!

Well, sometimes dummy text makes it through “rehearsals,” so to speak. Jim Heid found live sites with various kinds of filler text. Not just the ubiquitous “Untitled document” (millions of pages), but samples of “lorem ipsum” filler and even ~250 hits for “this is placeholder text” (whoops, I’m gonna skew those results a bit.)

(via Scobleizer, who recommends using “xxxxx” exclusively for placeholders.)

It’s always something. Apparently WordPress.org has been dabbling in black-hat SEO, hosting thousands of keyword-based articles on their high–page-ranked site and placing hidden links to them on their home page. Way to go, guys. This makes the paranoia over remote images almost look reasonable. What’s next, putting ads in the next default template?

The free/open source software world is based primarily on trust. Based on comments I’ve read over the last couple of days, WordPress has lost a lot of it. They’ve even been (mostly) dropped from Google. A sensible precaution while things are sorted out, but it unfortunately means the first top-level listing on a Google search for “wordpress” is wordpress.com, which looks like a cybersquatter. Not exactly an improvement.

In a support thread Matt answered last week, he referred to it as an “experiment.” He’s on vacation right now, but someone has taken it upon themselves to remove the bogus articles from the site.

My thoughts: Continue reading