Thursday, July 30, 2009

Check The Log

Here's an xkcd cartoon that I think most of us can relate to:

Image credit: xkcd

I think that status displays, including error messages, are the most neglected area of software research and development. The other day I was trying to stream an MSNBC broadcast from what turned out to be a bad URL using VLC, a very popular and useful bit of open source multimedia software. The dialog box that popped up said that it couldn't find the connection, and to check the log to find out what the problem was.

Here's the problem - What log? There is no menu entry that says "view log" or any such. The system log is normally only accessible by the super user in POSIX systems such as the one I'm using, and there was nothing there, anyway. Yet there the message was - check the log to find out what's wrong. Look at all that empty space. Why not just tell me?

Given enough experience with a program, most software writers will be able to diagnose the more common problems that might arise. They can at least write error-handling software that will tell a smart user what the problem is and how to try to correct it.

Unfortunately, such things are often the lowest priority in a project. Adding features is what people pay for - making software easier to use when things aren't working is almost never profitable. When is the last time an article about software on CNET or PC Magazine Online praised the error handling features of a bit of software? While open source software projects usually aren't concerned with profiting from software sales, the priorities of the people who fund the work are usually the same.

In fact, progress boxes are, in my experience, one of the more difficult things to get right. Imagine that you have to estimate when a job will be finished. You know how much has to be done, but you have no idea how many workers will be working on it, how skilled those workers might be, or how many interruptions there will be for lunch breaks, tea time, etc. That's what the writer of a progress box has to contend with. Sometimes, estimating to the correct order of magnitude is a worthy effort.

So, as little as I think of Windows as an operating system, most of its competitors and contemporaries have nothing to brag about in this department. It's a very rare thing when they don't suck at this, too.

No comments: