Thursday, December 08, 2005

Bad E-Commerce Interfaces

God rest ye merry merchants, may ye make the Yuletide pay. Shop enough on Amazon.com and you realize just how difficult some e-commerce sites make it for you to give them money. I give a lot more latitude to smaller companies. But when the major vendors screw these things up I wonder why someone hasn't been fired. Here are some big ones I've been running into this holiday season: 1. Shipping is $100. I'm not kidding. Now I know why they can charge $30 less than anyone else for a hard drive. An inevitable side-effect of the price-comparison websites. 2. Please correct this field. Often times it's obvious what's bust up. Other times I'm not exactly sure how they want my phone number broken up over multiple fields. Which brings us into... 3. Needing fields If you guys can't parse "617-864-4120" on your own, are you really going to process my credit card information correctly? Which brings us to... 4. Not accepting free form credit card numbers I know there's a Computer Science fetish about validating input. We all learn the importance of it in school. I also understand why this fetish would apply extra strongly to the credit card field; botches of credit card numbers make the national press. You want to be sure that it's right. But entering a 16 digit credit card is very prone to user error. If I type in "371449635398431" I have to check back-and-forth many times. In fact, that credit card number only has 15 digits. That's because it's an American Express card. (Don't try that specific number; it's a dummy account AmEx has for testing purposes.) Let me use spaces. Let me use dashes. All you care about is the digits themselves. I can sum it up with this axiom: The fields that are most important to get right should be the most accepting of any user input. 5. Having a "Clear All Fields" button If a geneticist ever examines the history of web forms, they'll wonder how the pernicious "Clear" button ever survived. Like nipples on men, they only exist as vestigial organs, cluttering up HTML's DNA for the times they are actually needed. The "Clear" button essentially says "irretrievably destroy all my work." It doesn't work like "Undo" which 1) can often be undone itself, and 2) only undoes one thing. Computer manufacturers have gradually subdued the "Reset" buttons on the fronts of their machines, some just recessing them, others getting rid of them entirely. This was a good move, since hitting "Reset" was something you rarely wanted to do and doing accidentally would have a tragic outcome. This probably deserves a post all of its own. 6. Long pages all at once It sucks to navigate through 12 screens to buy something. It also sucks to have to deal with one big webpage. usairways.com has this problem. Once you've chosen the ticket you wish to purchase, you need to work over a page containing the flight information, an "I agree with the terms", a "select seats" button, your personal information, your billing information, and a button that says "purchase." I buy tickets there fairly regularly, because it's cheaper than using Orbitz and they give me frequent flyer bonus miles for doing so. More than once I've just thrown in the towel and bought the ticket from Orbitz, though. You want to press "select seats" before you select "purchase." Better hope you didn't get anything wrong because... 7. Not maintaining state If you bounce the user back to the webpage they were just on to correct something, it is critical that you leave all the information that isn't broken alone. This sounds obvious, but usairways.com clears the "I agree" button each time you go back through the page. When I'm trying to fix what's broken, I don't want to double-check the entire page to see what has been changed on me. That one webpage seems to have been designed by vandals. 8. Not letting me check things over After I enter all my information and everything is finally complete, I want one last page that says "okay, here is your order. Press BUY to buy." So many things can go wrong when entering information, particularly if I had to wrestle with multiple of the above problems. 9. Saying "Purchase" multiple times. Here's another usairways.com problem. After you select the ticket you want to buy, it pops you to a webpage where you enter your username and password, and has a radio button saying "Purchase ticket" next to the button "Continue." "Purchase" might be the most nerve-wracking button someone can encounter. I'm always worried that when I hit it, a page will pop up saying "Thanks! We're sending your item with $200 shipping!" or "we're mailing out the 3 hard drives now" when all I asked for was one. Keeping on saying "Continue" until I'm at my confirmation screen. 10. Saying "Don't Hit Submit More Than Once" This is a trivial computer science problem. It's extremely easy to generate a random number, hide it in the form, and make sure that only one form with that number gets accepted. This is a sure sign of an e-commerce site put together by fools. Thankfully it seems to be fading. Ten is a nice round number. I think I'll stop there.

0 Comments:

Post a Comment

<< Home