Monday, February 13, 2006

UI and Usability in the real world

I have read several usability books recently. I read Joel Spolsky's User Interface Design for Programmers , and I read Mark Gunderloy's Developer to Designer.

In both books, they talk about many things dealing with usability and UI design. The two books disagree in several places, as you would expect; two authors writing about the same subject never agree on every point.

However, they both agree on one particular point. And they both argue vehemently for this point.

Confirmation dialogs are a waste of time; both the user's time and the developer's time. Most people don't read the text in a confirmation dialog box more than once.

Think about it. How many times do you stop and read the box that says 'are you sure you want to delete this file'? Everyone reads that box the first few times they delete a file. Almost no one reads the message the 4,000th time they delete something.

I ran across another article today that talked about this very same issue. This article provides several alternatives to the 'are you sure' dialog box.

We had this discussion at work recently. I was of the belief that we should not have a confirmation dialog in a particular place, because I knew, from use, that no one would read that box more than twice, and it really broke the flow of the app. We actually had two confirmation boxes; one to ask if you really wanted to delete; then one to tell you, after you confirmed, that it really did delete.

The second broke a different UI/usability rule: The user expects that your app will work properly. You don't have to tell them it worked. If you don't tell the user there was a problem, then they are correct in assuming that the operation completed successfully.

The real kicker to both of these dialogs is that they are both on a page in our app that is not publicly visible. The only people who ever see this page are our employees. And generally, they hit this page many times in succession, not just once. So, they have two extra clicks added to every iteration, and usually have hundreds of iterations to do. How's that for wasted time?

I was overruled at work, and the first dialog is back in the app. I don't think the second has made it back in yet, but it's removal was listed as a bug. Care to guess what priority bug it was?

No comments: