December 2004

« November 2004 | Main Index | Archives | January 2005 »


Rule number one. A ringtone knows no irony.

Being born on the trailing edge of Generation X, it's hard for me to accept that anything can be without irony, but the ringtone is the inevitable exception. It's funny to you and your mates, of course. It's the Superman theme, right? Because Steve, mild-mannered accountant transforms int... Well, see how far into that explanation you get on the train, with thirty people staring at you including the girl who, ten seconds ago, seemed quite receptive to being chatted up.

Your ringtone isn't just for you, you see. It's part of your persona. It's what you wear. Except even the loudest shirts don't broadcast their owner's taste quite as far.

Rule number two. That dance number? The one that's been rattling round your head ever since last night at the club? Give it up. You're sober now, and your four-tone polyphonic beeping can't quite capture the same mood as that 50,000 Watt sound system.

In the modern age of polyphonic ringtones, everyone who hears your mobile ring and recognises a non-standard tune is going to be thinking "He paid for that."

My preference is to pick something that sounds like it's a phone ringing, not a Casiotone throwback.

The default tones are safest, the ones that come packaged with the phone, except that every phone has precisely one (1) default tone that doesn't sound like arse. The Sony Ericsson T610, for example, has one halfway-decent tone that sounds like an old-fashioned mechanical phone. Unfortunately, since everyone in Sydney has the same bloody phone, it's inevitable that eventually you'll have to share space with someone who made the same choice, and jump every time his phone rings.

Rule number three. There is a special circle of Hell reserved for people who, on buying a new phone, cycle through every single available tone on the bus or train on the way home.

On Threading

  • 12:03 AM

One of the features in the Confluence 1.3 release that I still look back on and say "Hey, that's neat", is the representation of threads in the email archives. (For those not following at home, Confluence can now suck in and archive email, which is pretty useful if you're running a mailing-list and a wiki on related topics).

The idea for displaying threads this way isn't one I can really take much personal credit for. In a comment elsewhere on this blog, the author of Zoë (apparently the best mail app I've never quite got around to using) generously pointed me to this article by Jon Udell, which inter alia points out a massive flaw in most web-based mail archives.

In most mailing-list archives that I (and Udell, it seems) encounter, threads generally look like this:

One subject, repeated at different depths of indentation, with different dates and author names. In short, no real information at all.

Worse still, the view you get of the thread at the bottom of each mail tends to resemble this:

A list of references and follow-ups, once again only by author and identical subject-line.

These views impart (at best) the shape of a thread, its duration, and who contributed. They give no indication of the gist of the conversation, or which messages are worth reading.

Where Udell was wrong, was saying that this was a problem inherent in email itself, and practically unsolveable. There's a pretty simple workaround, and it worked far better than I even hoped when I was implementing it. It turns out that if you grab the first substantial chunk of non-quoted text in an email, then nine times out of ten you'll get a good idea what that mail is about:

Each mail in the thread is accompanied by an automatically generated paragraph-long excerpt, which places each mail in context amongst its peers.

(The page that screenshot was taken from can be found here...)

On a related note, here's an annoying User Interface misfeature from Livejournal. When you get sufficient comments on a page to overload the threaded comment view into summary mode, here's what it looks like:

Nested subject lines, all ‘(no subject)’, beside bolded, icon-decorated links of the commenter's username

Whenever I want to take the most obvious action for a comment (viewing it), I inevitably click on the most prominent link... which in this case is the username of the person who made the comment. This link takes me to that user's livejournal homepage. Try as I might, I've never got used to this, and I keep ending up exactly where I don't want to go.

For the sake of completeness, here's how we handle threaded comment overflow in Confluence. Since comment threads are revealed in chunks, and there should already be sufficient information leading up to the overflow to let the reader decide if they want to see the next chunk, all the overflow does is give the reader some idea of how much they're missing:

A random thread overflow message from

On Trademarks

  • 5:03 PM
James Robertson, Rein In the Lawyers:

This points to a fundamental problem in the field though - legal departments are off chasing trademark, copyright (etc) problems down without regards to business issues. In the process, they are giving black eyes to their firms. Sounds to me like it's time for the marketing departments to start exercising oversight...

The myth, of course, is that the lawyers have to protect their trademarks against any use by third-parties, because otherwise they lose the mark. You hear this brought up by commentators as a defense against every bogus trademark claim. You can't blame them because they have to do it. The law forces them to be a load of wankers. It's a very convenient myth, and I suspect it's quite a lucrative one that the lawyers don't really put much effort into dispelling.

The simple fact is, the law concerning how trademarks can be protected is pretty narrow. More often than not, the trademark disputes that make it far enough into the public arena to attract the “they had to do it” defence are precisely the ones that shouldn't have been defended.

(I am, of course, not a lawyer. I'm certainly not an American lawyer. This essay is based entirely on research I performed online.)

There are two (related) things you need to protect a trademark against. The first is infringement. The reason we have trademarks in the first place is so that consumers can identify products. If consumers develop a certain trust for Frobnitz™ brand baked beans, then allowing just anyone to slap that label on a tin of beans is bad for consumers.

The second is dilution. Some marks are misused so that they end up referring to something generic instead of a particular product. When I grew up (in England), we didn't vacuum the carpets, we hoovered them, regardless of the brand of vacuum cleaner we were in fact using. Closer to the net, "photoshop" and "google" seem to have entered the language as generic verbs for digitally altering photographs and searching respectively.

Take note that even after hoover became a generic term, Hoover™ were still the only company allowed to sell Hoover™ brand hoovers. Dilution doesn't kill a trademark entirely, it only limits the circumstances in which you can control its use.

It's easy to fall into the trap of thinking that any use of a trademark must fall into one of these two camps, but the courts think differently. Take, for example, the Beanie Babies case. Ty Inc., the makers of (trademarked) Beanie Babies sued a publishing company that was producing a “Beanie Babies Collectors Guide” Clearly, here's a company using a trademark that they do not have permission to use. However, they're using it to describe precisely the product that the trademark was protecting.

There are Fair Use rights with respect to trademarks. One of these rights protects complementary products. If you make something that complements a trademarked product, such as a collectors' guide for Beanie Babies, then there is really no way to promote your product without using the trademark. This is the law that allows sites like Javalobby and JavaBlogs to exist: both sites are complementary to (about) Java. They use the mark correctly – to describe Sun's trademarked platform – without competing with it, and both sites make sure they explicitly state they are not endorsed by the trademark holder.

A trademark also doesn't protect you against embarrassment by association. The Victoria's Secret case is quite enlightening here. An adult video store in New Jersey decided to call itself “Victor's Secret”, a name they changed to “Victor's Little Secret” after a Cease and Desist from the famous lingerie brand. (This is very similar to the MikeRoweSoft, brouhaha from earlier this year, except Mike Rowe settled for an X-Box and never went to court)

In the Victoria's Secret case, the U.S. Supreme Court decided that despite the fact that Victor's Little Secret deliberately invoked the Victoria's Secret trademark, and caused people to make a mental association between the two products, no reasonable person would assume that there was a real relationship between the two companies. This meant Victor wasn't diluting or tarnishing the original mark, he was just making a joke that everyone but Victoria's Secret got.

Even if you can demonstrate dilution, it's not entirely clear whether it's worth defending against. The value of a brand is questionable to say the least, with consumers seeming to be increasingly fickle in their brand loyalty. But language moves slower, and has much greater lock-in than consumer preference. Competition in the search marketplace is hotting up, but only Google is a verb that permeates out of nerd culture into pop culture. Surely they should welcome being in the dictionary, instead of fighting it?

Spent most of today putting together a slideware presentation for a client tomorrow: I have to stand in front of approximately four hundred (non-software) engineers, and tell them what Confluence can do for them, and how.

The fact it took most of the day to come up with an hour's worth of presentation is testament to just how much of a time-sink trying to produce a halfway decent slide-show is.

I'm not sure how informative it is on its own. I tend to write slides to augment my delivery, rather than to repeat what I'll be saying anyway, and all the really important stuff is dealt with in the demo in the middle. On the other hand, there's some nice eye-candy going on, and having spent all day on it I want to show it off. Props to KeynotePro for their Duet theme.

Like all novices, I've used far too many transitions, but I had to keep myself amused somehow.

7Mb Quicktime Presentation (You need to click on it to advance each slide)

Anonymous voice-over guy, from the trailer to Spielberg's War of the Worlds (mp3)

No-one would have believed in the early years of the twenty-first century, that our world was being watched by intelligences greater than our own. That as men busied themselves about their various concerns, they observed and studied.

With infinite complacency men went to and fro about the globe, confident of their empire over this world.

Yet, across the gulf of space, intellects vast and cool and unsympathetic regarded our planet with envious eyes. And slowly, and surely drew their plans against us.

Richard Burton, opening Jeff Wayne's War of the Worlds musical (mp3)

No-one would have believed, in the last years of the nineteenth century, that human affairs were being watched from the timeless worlds of space. No-one could have dreamed that we were being scrutinized, as someone with a microscope studies creatures that swarm and multiply in a drop of water. Few men even considered the possibility of life on other planets. And yet, across the gulf of space, minds immeasurably superior to ours regarded this earth with envious eyes; and slowly, and surely, they drew their plans against us.

Opening paragraph of the book by H. G. Wells.

No one would have believed in the last years of the nineteenth century that this world was being watched keenly and closely by intelligences greater than man's and yet as mortal as his own; that as men busied themselves about their various concerns they were scrutinised and studied, perhaps almost as narrowly as a man with a microscope might scrutinise the transient creatures that swarm and multiply in a drop of water. With infinite complacency men went to and fro over this globe about their little affairs, serene in their assurance of their empire over matter. It is possible that the infusoria under the microscope do the same. No one gave a thought to the older worlds of space as sources of human danger, or thought of them only to dismiss the idea of life upon them as impossible or improbable. It is curious to recall some of the mental habits of those departed days. At most terrestrial men fancied there might be other men upon Mars, perhaps inferior to themselves and ready to welcome a missionary enterprise. Yet across the gulf of space, minds that are to our minds as ours are to those of the beasts that perish, intellects vast and cool and unsympathetic, regarded this earth with envious eyes, and slowly and surely drew their plans against us. And early in the twentieth century came the great disillusionment.

It's interesting to see how different people attack the same passage, especially when given that the source material is so unsuited to being read aloud.

And no, I don't have a point.

The New Web UI

  • 11:12 PM

Joel Spolsky, on Google's new Google Suggest UI:

The internal cool thing is that it's one of the first prominent uses I've seen of the XmlHttpRequest technique of going back to the web server for more data while the user interacts with a page... he latency of web UIs, in which everything you do is a slow round-trip that requires completely refetching and rebuilding the web page, is one of the reason web UIs feel so clunky compared to native GUIs. Google is very publicly raising the bar on the quality of interfaces that people will expect from web pages.

The first prominent use of XmlHttpRequest that I encountered (in my admittedly limited range of web browsing) was in the once exclusive but now culturally irrelevant Google social side project, Orkut. After this experiment, though, the technique really fell into place with GMail.

If you are a web developer, even if you don't need any more mail space, get a GMail account now. In one blow, Google's engineers massively raised the bar on what we should accept from a webapp. Here's a highly regarded, mainstream application that is responsive, with a dynamic UI and even comprehensive keyboard navigation, but that still feels like a web application.

(Prior to GMail, most dynamic sites either looked like Flash apps (because they were), or were massive attempts to imitate in Javascript a GUI that just didn't belong inside a web browser.)

We're entering an interesting age for web applications. Netscape 4 is finally dead for all intents and purposes, and support for advanced DHTML techniques across adopted browsers is finally widespread enough to justify using them in mainstream applications.

Looking at the web applications Google is producing, I can comfortably say (and I'm almost never comfortable making technological predictions), that if you develop web applications and you aren't looking today for ways to include dynamic interface techniques like those made practical by XmlHttpRequest, you're going to end up losing to someone who is.

(Note: Since I'm linking to Joel, who puts that little advert for Fog Creek at the bottom of his posts, I feel I should add that the company I work for, Atlassian Software, makes a terrific product called JIRA for software project management and bug tracking. It's web based, affordable, and runs on your own server, and it's now available for Windows, Unix, Mac OS X, AS/400, really pretty much anything that can run Java. Check it out now — there's a free online trial!)

Happy birthday to me,
Happy birthday to me,
One year 'til I'm 30,
Fuck fuck fuck fuck fuck fuck.