Saturday, July 5, 2008

How To: Fail at Usability

My job often surrounds writing usable and accessible systems. For the purpose of this post, I'm going to cover usability, and precisely how current web (and other) systems FAIL. My apologies for the rant-y writin-g.

FAIL #1: Make the User Conform - Credit Card Entry


The user won't conform and there's often no reason to make them. Case in point, if you're asking for a credit card number, what is so difficult about removing spaces, dashes or dots? Mastercard/Visa split their numbers into groupings of four out of convenience. Your web application makes them lump the entire number into a field without that grouping. This causes endlessly wasted bandwidth and frustration due to typo's. It's easier to re-read a number when it appears in the field the same way it appears in print.
Stop it: A simple regular expression can remove non-digit characters.
And while you're at it, if the user wants to type MM/YY instead of MMYY, or MMYYYY, or MM/YYYY, let them. This is also very easily fixed by careful parsing.

FAIL #2: Make the User Conform - Phone Number Entry


In the US, there are several phone standards. nnn-nnn-nnnn, 1-nnn-nnn-nnnn (nnn) nnn-nnnn. Again, this comes down to parsing. If you want the phone number in a certain format, format it on the backend. How much code is wasted trapping non-conforming phone numbers that would be better spent just reformatting what was given to you?

FAIL #3: Do Not Reply to This Message or You Will Be Ignored


Quite possibly the simplest thing to do is to hit the reply button to an e-mail. If you are sending an e-mail from an automated system, why do you insist on sending it from an address that is unmonitored?
Think about this in another communications medium. Imagine someone called your home and said "My name is Jenny and I'm calling to tell you that your order has arrived at our store. If you have any questions, please call me at 555-1234, because I'm calling you from a phone that does not have a speaker so I won't hear you screaming at me."

FAIL #4: Store Pickup, but Don't Forget To Bring These 9 Things


Firstly, I am not a fan of the "buy it online and pick it up in the store". If I want to pick it up, I'll go to the store and buy it, but there are a small number of situations where I have used this service:
1) It's cheaper online and I'd rather not hassle with the price adjustment in-store,
2) It's Wal*Mart, who does it "right". They allow you to buy many items online that the store normally doesn't carry, and do a "ship to store" (for free). This is great for large/heavy items in cases where an individual store may not carry that item and ordering it online will result in awful shipping costs.
3) You have a big store and I don't want to fish through seventeen aisles to find the item I'm looking to buy.
In all cases, though, why must I bring printed copies of the e-mail that was sent, my photo ID, the credit card I used to purchase the item and the clothing I was wearing at the time of purchase?
I work with databases, so I understand the power. If I bring in my photo ID ... and nothing else ... you should be able to look up my order and send me on my way with product in hand.
Sure, it's great to have that e-mail with a barcode on it that can be "scanned", but have a backup plan if I show up without the proper documentation.

FAIL #5: You're item will be ready to pick up sometime next year.


When your web site says something is in stock and available for order online and in-store pick-up, it should be ready right away.
Lets dig deeper. Obviously, the customer who is invoking this method of purchase is in a hurry and doesn't want to wait for shipping. A certain big-box home improvement store seems to think that if I place the order after 3:00 PM, I'll be happy with picking that order up the next day. Or if that item just happens to not actually *be* in stock, I'll be OK with waiting a couple of weeks while the store orders it and has it shipped in.

FAIL #6: Just use the coupon code HYTIDSOKFNSKDSA at check out to receive 10% off


Coupon codes are generally pointless. They don't stop smart people who don't subscribe to your mailing list from using them (see RetailMeNot, DealCatcher, Dealspl.us, and many other sites), and they're horribly inconvenient.
Use clickable links that embed the code. It's simple and doesn't involve having to retype some silly word combination that the marketing guys thought was cute.

FAIL #7: SKIP THIS INTRO


Think about why you needed that button on your homepage. If I went there, I probably "skipped your web site".

FAIL #8: Hi! I'm the Web Site! Are your ears bleeding yet?


Your product is very cool, but your web site should never, ever, just start singing. I like music. But if I didn't hit play and my browser unexpectedly starts making very loud noise emit from speakers I rarely use, I'm going to click the "x" before I've had a chance to see what you had to say about your very cool product.

FAIL #9: America Only: City, State and ZIP Code please


City and State can be derived from the ZIP code, and if you look the city and state up using various services, you'll get more accurate mailing labels. Don't make me type more than I have to. I recently sent a letter and completely omitted the city and state to see how the post office would handle such a mind boggling scenario. Surprise, the letter arrived at its destination. That five digit code is very versatile.
If you do resort to asking for all three, make sure you're using all three to your advantage. If your user puts in 90210 for the ZIP code, and Kansas City, Nebraska for the city and state, perhaps you should throw a friendly message up since that package is going to end up in a different universe if you ship it using that information.

No comments: