Suppose users have a choice of two software applications.
- Application #1: Beautiful user interface, well documented, robust. It does 99% of what they need in order to get their work done, but they don’t know how to do the remaining 1%.
- Application #2: Ugly, poorly documented, crashes routinely, but it does 100% of what they need.
Users will choose #2. If they have no other options, they may even be excited about it. This took me a while to understand. I was dumbfounded the first time I had the following conversation, but I’ve had it several times since.
User: This is a really great piece of software!
Me: But doesn’t it crash easily?
User: Yeah, but it does just what I need!
The key is the missing 1% in the first application. Developers may not realize that 1% is missing. Or they may over-estimate how willing/able the user is to fill in the last 1%.
Update: When I wrote this, I particularly had in mind the case where the buggy but complete program came first. Users may not choose it from scratch, but they will certainly stick with it if they’re already using it.