views:

620

answers:

4

I'm curious if anyone has given some thought to the wording in desktop application error messages. As a developer I always put on my programmer hat and display it in a dialect that looks like a robot is speaking to the user.

For example:

  • Failed to open file _
  • Unable to retrieve settings file
  • Error occurred updating the database
  • Cannot set __
  • Unknown error occured

None of these say friendly application. Does anyone know any resources or ways of phrasing errors in less robotic language - for common errors like IO problems, database issues, null reference and so on.

+1  A: 

Not a lot of info here, but some links that you should know:

http://blogs.msdn.com/brada/archive/2004/01/28/64255.aspx

http://msdn.microsoft.com/en-us/library/ms229056.aspx

In general, it is good to word things so that it is clear

  • what is the cause of the problem
  • what can be done to fix/remedy it

My opinion: I think the most common 'bad' thing in error is to forget the second bullet. The second most common error is to provide insufficient info for the first bullet (e.g. 'file not found' - which file?!?)

Brian
A: 

The messages you've posted as an example are more meant more for developers than end users.

One thing I find annoying about any kind of errors that are thrown at me as a user is when I don't have a clue why it happened. That's why such error messages should contain some information about the issue for non-programmers to understand. Like if opening a file failed, one could check whether file exists, if the permissions are OK or the path given is on a network.

There's also a great blog post by Jeff Atwood about funny error messages.

frgtn
+4  A: 

There's quite an extensive article on error messages in the Vista UX guide.

Stuart Dunkeld
I like those extra information messages below the main error, but I've got a feeling the .NET MessageBox class doesn't cater for them
Chris S
You're right, MessageBox (or indeed Windows versions less than Vista) don't support them. It's straightforward to PInvoke the Vista TaskDialog API from .NET though.
Stuart Dunkeld