Rant: Using Error Codes in User Messages

In short: DON’T!

What in the world was Apple thinking when you try to upgrade/register/sync your iPhone/iPod and you get “Error: -19″ or “Error: -20″?? What good does this do any one? How am I supposed to fix the problem if I don’t know what the problem is? Isn’t Apple the king of user-friendliness?

When you write software, you should use good error messages. You should use good exceptions. You should use descriptive values.

Granted, some things the user cannot fix. Telling the user the database connection was lost on a web application does very little good for the user. You can however tell the user that an error that was not their fault occurred. At least then I know I can come back and try again later.

Luckily, after rebooting my iPhone I was able to install the recent software update. This may not have been the problem, but certainly Apple could have notified me that I should attempt rebooting.

In any case, be nice to your damn users!

  • I think I have a correction: "DON'T JUST".

    Error numbers have one *huge* advantage: users will write them down. If you're taking support calls, or even just writing free software with a mailing list, it is a LOT easier to know which problem a user ran into when he reports an "I got an error 33", instead of "I got a thing... it said it couldn't do it."

    Likewise for multi-step processes. Back in the days of dialup, it was a lot easier to know that users had trouble with "step 1: initializing the modem" or "step 2: dialing", instead of guessing what "it said there was a modem problem" meant.

    That said, you DO also want the error to be intelligible. Use small, unique numbers, and include the descriptive text as well.

    And, of course, many error messages are excuses for lack of development. "The 'company name' field must be filled in. If you have no company name, type 'none' and re-submit." Here's a better idea: since YOU'RE the computer, doer of tedious things, why don't YOU fill in 'none' if I leave the field blank?
blog comments powered by Disqus