Welcome!

.NET Authors: Elizabeth White, Jayaram Krishnaswamy, Keith Mayer, RealWire News Distribution, Kevin Benedict

Related Topics: Web 2.0

Web 2.0: Article

Stupid Users and Usability of UI

Who do you blame for the user's mistakes?

When you design  UI, it has to be intuitive. If a user does something wrong,  the first reaction of rookie developers is, “Stupid Users!”.

While some users may not be exceptionally bright, if they make mistakes using your  software, most likely it’s your fault.  I ran into a couple of such issues within the last three days.

1. While placing an order in one online store, I’ve entered my credit card number and pressed the button Submit.  After a round-trip to the server (this was a thin client Web application), I got an error page stating that the credit card number is invalid. Actually, the error message was very friendly and warm. It suggested, “Consider removing spaces from the credit card field”. I was so grateful! Indeed, I’ve entered my CC number as groups of four digits separated by spaces.  Removed the spaces, another round trip to the server, and it took it!

Now I’m talking  to you, the moron programmer who implemented this form.  Have you heard that coders are allowed to perform string operations? Some advanced programmers even know how to programatically remove spaces from a string of characters. Guess what, it take less time than to program an error message stating that this stupid user should remove the spaces.

2. I spent two days in Atlanta attending Devnexus conference for Java developers. On the way back, I was checking in at the Delta’s kiosk. To identify myself, I’ve inserted my credit card into a special slot.  The checking process was fast. I arrived earlier, and Delta’s software suggested that there is another flight to Newark, NJ an hour earlier and for mere $50 I can get a seat on that plane.  Being a cheap bastard, I politely rejected this option. I can spend this hour having a dinner in  a restaurant with my laptop and Boingo Internet, which I’m subscribed to.

So I picked up my boarding pass and started to look for a cozy place that has martini and an electric outlet in the wall.  All of a sudden, this thought came to my tired mind, “Taking an earlier flight costs an extra fifty bucks, but on the other hand it’ll save me money on dinner at the airport. Eureka!”

While walking back to the Delta’s kiosk, I opened my wallet - the credit card was neither there nor in any of my pockets. I left it in that stupid slot in the Delta’s kiosk. 

The kiosk was still there, but the card was gone. I asked the Delta’s workers behind check in counter – no one returned my CC. A quick call to my colleague (thank you, Anatole) and that CC was canceled.

Of course, you may say that I’m an idiot, but let me respectfully disagree. Yes, I was really tired after delivering two presentations in one day and the last thing that was on my mind was removing CC. But now I’m talking to you, the moron Delta programmer. Why did you print my boarding pass without forcing me to remove the credit card first?   You didn’t thinks about it? Then don’t complain when your employer will file for bankruptcy  once again, and this time it’s going to be Chapter 7.

While standing in line in the unemployment office, think of that stupid customer that decided not to use Delta any longer just because you didn’t care to write one extra if-statement suggesting that each user has to remove his/her stupid credit card from that stupid slot in that Delta kiosk.

More Stories By Yakov Fain

Yakov Fain is a co-founder of two software companies: Farata Systems and SuranceBay. He authored several technical books and lots of articles on software development. Yakov is Java Champion (https://java-champions.java.net). He leads leads Princeton Java Users Group. Two of Yakov's books will go in print this year: "Enterprise Web Development" (O'Reilly) and "Java For Kids" (No Starch Press).