User Experience
More Form usability
Freshness Warning
This blog post is over 21 years old. It's possible that the information you read below isn't current and the links no longer work.
18 Jul 2003
Paul Scrivens has some additional ideas about making Web forms easier to use.
He suggests using a single name field instead of separating first name from last name unless you really need the names separated. The problem with this is that you never know what future uses you might have for that data. If you don’t make sure it’s in a format you can use, it’s useless. I’ve been on countless projects where I had to go back and reconstruct data that people didn’t collect because they thought they’d never use it. Common sense should prevail, however. Blog comments would probably be overkill to have separate fields. Use what makes sense in your situation.
I also suggested to Paul that you should only provide a single phone number field and said that you can clean up whatever the user enters with some simple code. I should elaborate. I’m not taking a programmer’s view for entering phone numbers, I’m taking a user-centered view. As Paul noted with the first name last name issue, it’s harder and more time consuming to fill out two or three fields than it is to fill out one. People see a phone number field and they start typing. A hunt and-peck typist will often have entered their entire phone number before they look up at the screen and realize that all the system accepted was their area code. They then have to make the conscious effort to click in the next field and fill it out. They then switch back to their mouse, click the final field, and fill it out. It’s amazing how many users don’t tab through fields.
One solution I’ve often seen to this is to automatically progress to the next field when the required number of characters are filled out. This frustrates users. They made a mistake on the last digit, but hitting backspace doesn’t work because they’re now in the other field. Or they usually tab through fields so they enter the area code and hit tab, skipping the second phone number field.
Of course, it all depends on the situation. If the application is an internal data-entry form that is used hundreds of times each day by the same person, you need to optimize for speed and to reduce keystrokes. In that case, you can (and should) sacrifice usability for speed. All that is required to overcome the lack of usability is a little training. Call center operators can easily learn that when they enter an area code, the cursor automatically moves to the next field and will actually appreciate the step. In this case “easier” actually means “faster.”
But if the application is something that someone is only likely to use on rare occasions, optimize for usability at the expense of speed. A checkout form on an ecommerce site is a good example. Make it easy to use. Anticipate the choices they are going to make and account for them. Ask for their phone number and let them enter it however they want. You can clean it up with the code. The thing is, unless someone’s a programmer or familiar with database concepts, they won’t wonder at all what format their number should be in. It doesn’t occur to them that there’s any reason a phone number would need to be in a certain format.