Learning usability from the masters: Deleting files
After reading Robert Hoekman's "Designing the Obvious", I've become very interested in the topic of usability. One of the best ways to learn usability is to examine examples of poor usability. And what better resource for that than Microsoft products?
Here's a common Windows error:
The error message says what the problem is (can't delete file/folder), what's causing it (it's in use), and how to fix it (close stuff and retry). It has the three core things an error message needs, but it's a very generic, completely useless error. "Which program should I close?" is the top question.
How to improve your error messages...
Don't include the word "or".
- "Error deleting file or folder", does Windows not know which you're trying to delete, a file or folder? Doesn't instill much confidence in the application. Write out an error message for each possibility. That'll take more time of course, but users will be more comfortable when they're told exactly what's wrong and how it happened, not just getting a generic "check engine" light.
- "It is being used by another person or program", how are these different? If another user is using the file, they'd likely be using it in a program, yes? It's your application's job to figure out what's wrong, not guess at it.
- Ideally, the user would NEVER see an error message, but we know in the real world, that's not always possible. If the system is smart enough to know an error happened, it should be made smart enough to know how the problem happened and fix it on its own if possible.
Don't make the user fix the problem all on their own.
- In the case with this error, I had listened to the mp3 in Windows Media Player, closed the player, and tried deleting the file. Nothing on my system was obviously using the file. The file was is on my desktop, so no one else should be using it. What do I close before retrying? (The answer is usually "Windows") There's obviously some rampant process or thread marauding around with my mp3 (in Windows?! Never!). The "how to fix it" text is worthless here and would cause most people to call their smart nephew.
- This error message SHOULD contain a list of processes or programs or users that are using the file. Even if there are no options for blocking access to the file so it can be deleted, it would give me somewhere to start if I could see what's using it.
In the past I have found (and lost) links to programs that will show you exactly what processes are locking a file but that's a core job of the OS; file management. Always be sure that the core functionality of your application is working flawlessly before adding on the bells and whistles.


Except that you're the only user of that computer . . .