Monday, February 11, 2008

The Hidden World of Title Text

I recently made a cool and unexpected discovery. For a while now I've been a big fan of XKCD, a webcomic of romance, sarcasm, math, and language. However, I just did not get last week's comic. It felt a little like reading a confusing Far Side, where I feel baffled, and also a bit frustrated with myself because I usually do "get" these comics.

When poking around online for an explanation, I discovered a forum post dedicated to this particular comic. This cleared up the joke for me, though I think this is one of the rare XKCDs where more complete art would have helped in the last panel. However, what caught my eye was a line below the image labeled "Alt text:". Could it be?!

Yes! I jumped back to the main XKCD side and hovered my mouse over the comic. Eureka! Up popped a lovely little tooltip with a little joke related to the comic! Intrigued, I started flipping through the archives. Sure enough, every single image in there had its own little additional hidden punchline. Sometimes this was even funnier than the main comic, which was great to begin with.

This is a really cool technique. I actually saw it about a year ago at Dinosaur Comics, but it's rare enough that I am not at all in the habit of hovering my mouse in the hopes of getting more text. Back in the days when I maintained my personal website, I did a similar thing, although I did it via the "alt" attribute (which is intended for screenreaders and the like) instead of the "title" attribute (which is intended to give contextual information, like these do). DC and XKCD are kindred spirit webcomics, so it feels great to share a common movement with them.

While I enjoyed my rejuvenated tour through the archives, I was disappointed to find that on some images, the whole tooltip wouldn't display. Instead, the end would be clipped off and only an ellipsis would show. I found that you could see the whole text only by choosing "View Source" and digging through the HTML, or right-clicking on the image, selecting "Properties", then expanding the size of the window so you could read the entire text. What a pain!

Firefox is really good about allowing users to adjust browser settings, so I thought that there might be an about:config option for this. No dice... browser.chrome.toolbar_tips controls whether the tips display, but there was no setting I could find that would expand the space available for the tooltip.

This seemed curious to me - surely I wasn't the only person who thought this was bad behavior? I started Googling, and before long my search brought me to the official bug report. As I read through it, my heart sank. I am a fervent believer in the virtues of the open source movement: greater transparency, better testing, higher-quality software, more responsive to user's input. What I was seeing on display was a travesty of how the process was supposed to work. For starters, the original bug (which focused on an older, but related, display problem) was filed back in 2000 - yes, Mozilla/Firefox has had this problem for almost eight years. Does not inspire much confidence, and is something I'll need to remember the next time I'm tempted to bash Microsoft for spending years to develop an inferior product. Even worse than that, though, was the vile, hurtful things that Firefox developers were writing in the comments. Some users were being rude as well, unfortunately, but their actions do not reflect badly on Firefox, while those of the programmers do.

I love open source. I enjoy using its products, but I also enjoy going through the source (tangent: for a fun time, grep the Linux kernel source for swear words - you'll be surprised by what's in there) to figure out how it works. I've also written and submitted patches before - it's a curiously exhilarating feeling to see a piece of code you've written take wings, join the contributions of dozens of other people, and be used by many as a free product. That said, after reading through these comments, I feel strongly disinclined to do anything for Firefox. If this is the way their developers conduct themselves, I have no desire to join their ranks.

I think the saddest thing was a post by Ryan North, the beloved (by me at least) author of Dinosaur Comics. Yes: he cared enough about his readers and this browser to seek out the problem, and in a friendly and pleasant way explain why he thought this problem is worth fixing. The result? A developer insulted his intelligence and swore at him.

So this is a sad tale for me. I feel a little like a free speech advocate at a KKK rally, or a war supporter touring central Baghdad. I still believe in the cause, but am dismayed by the actions carried out in my name.

This tale does have a glimmer of happiness at the end, though. After eight years of alternating silence and vitriol, the Firefox developers have accepted a patch that was contributed years ago and that fixes this seemingly simple problem. Of course there's a catch - the fix has only been made in Firefox 3, which won't be released for quite a long time. That means all of us users will need to suffer in silence, or live on the edge by running unstable, bleeding-edge versions of Firefox.

But wait! Where the official project fails, the community comes through. Thanks to a wonderful individual by the name of Xavier Robin, there is now a Firefox plugin to display long titles. Adding it is but the work of an instant (plus a browser restart) and when it is complete - poof! XKCD, Dinosaur Comics, and other citizens around the web will proudly speak to you, free from the confines of the official buggy Firefox program. So I guess there still is reason to have faith in open source. There are good developers out there in addition to talented developers, and their quality shines through.

No comments:

Post a Comment