Lazy Programmers

Lazyprogrammers1_2Even though I am on my work sabbatical, I still find it hard for the user experience guy in me to ignore bad design. I’ve always had a problem with e-commerce sites that don’t allow spaces in credit card fields. It’s totally developer-centric and ignores the usability of entering a sixteen-digit number. While the developer thinks that preventing users from entering spaces will help reduce errors, they are actually increasing them. All credit cards have spaces in their numbers for a reason. They are much easier to recite, write down and enter because they are “chunked”. Allowing spaces in the credit card field also allows users to enter the number exactly as it appears on the card, making a visual inspection for errors much easier.

Lazyprogrammers2

Despite this, I’ve seen various methods used to prevent users from entering spaces. Some just warn, “no spaces” next to the field name. Others will not let the user type them in. While others will just flag the error on the page when the user tries to go to the next step in the checkout process. But today I found the ultimate in useless code: I entered my credit card number with spaces, as I always do, and as I tabbed out of the field, I got the error, “Please remove space(s) in the Card Number.”!

So the developer went to the trouble of checking the card number, at the moment the focus moves to the next field, and then decided to force me to do his or her work! The thing is, validating forms on the client-side isn’t a trivial matter, yet this developer decided it was worth the effort. Yet, with probably less code, they could have just as easily allowed spaces and just stripped them out before they sent the number off to the credit card processing system. Heck, I don’t consider myself a programmer, yet I could write an algorithm that would perform that operation!

As with most user experience issues like this, you can lay the burden on the user, which gets multiplied by the number of users who use the site. Or, you could take the time and develop it correctly, so that all users benefit. Hmmm…tough call! And, no, I did not follow through on the purchase and decided to purchase the item elsewhere.