The Lonely Daemon

Sometimes you just have to pop up and talk to somebody...

This dialog box pops up almost sheepishly on my Windows desktop once a week, without any sort of context explaining why it’s there or why I ought to know what it’s trying to tell me.

Well okay, it didn’t take long to deduce that it’s Java’s background update checker, whirring quietly away and finally informing me that all’s well and up-to-date. (I should also point out that, like thousands of other programmers out there, I’m using a pre-release snapshot build of Java 6 (Mustang), so hopefully the comments I make here won’t apply to Java by the time it’s released "for real").

Background update checkers exist in just about every program installed on your PC these days, from virus scanners to MP3 players to Windows itself. These hard-working little daemons quietly phone home to their vendor’s "big server in the clouds", report their current version number, and ask if there’s anything newer up there that they can silently bring down the user’s expensive new fat pipe.

It’s a lonely life for such a program. It does everything silently, never interacts with the user; if something’s gone wrong then it might just flash red for a moment in the system tray, and – at the very most – pop up a little speech balloon; but all done very politely, very efficiently, and only if something’s gone wrong and the user really, really needs to be interrupted with this piece of news.

So it’s understandable if a version-checking daemon should occasionally grow so lonely that it needs to break out of its box and just talk to someone. In the case of Java’s version checker, it uses the slimmest excuse imaginable to interrupt the user and start a conversation: "You already have the latest Java(TM) platform on this system." Well hello there, little buddy - and thank goodness!

It reminds me of the most bored and lonely cubicle dweller in some giant government office block; he would barely get to speak to anyone for weeks on end, if he didn’t swing by some complete stranger’s desk once a week or so, and comment affably on the weather.

The information’s not so much on a "need-to-know" basis, as a "just gotta talk to someone about something, or else I’ll go stir crazy in here on my own!" basis.

It’s great that Sun are making headway into the world of usability – automated update daemons, how very slick! Evidently they're trying to make Mustang more "mainstream-friendly". But in popping up this "so how about those rainclouds!" dialog box once a week, somebody somewhere in the Java team is demonstrating a gross misunderstanding of a golden rule of usability: don’t pester the user unless it’s absolutely, desktop-crashingly essential.

About the Author

Matt Stephens is a senior architect, programmer and project leader based in Central London. He co-wrote Agile Development with ICONIX Process, Extreme Programming Refactored, and Use Case Driven Object Modeling with UML - Theory and Practice.