You are here

Web sites -- stop being clever about some structured data


A lot of the time, on web forms, you will see some sort of structured field, like an IP address, or credit card number, or account number, broken up into a series of field boxes. You see this is in program GUIs as well.

On the surface it makes sense. Never throw away structure information. If you're parsing a human name, it may be impossible to parse it as well from a plain string compared to a set of boxes for first, last and middle names.

But this does not make sense if the string can always be reliably parsed, as is the case for IP addresses and account numbers and WEP keys and the rest. Using multiple boxes just means users can't cut and paste. And it's also hard to type unless you are ready to hit TAB at a point your mind wants to type something else. Some sites use javascript to auto-forward you to the next box when you've entered enough in one box, but it's never perfect and usually doesn't do backspace well.

Think about it. The multi box idea, expressed to extremes would have every form enter an e-mail address with a username box and a domain name box, with an @ printed between them. This would stop you from entering e-mail addresses without at signs. But fortunately nobody does it. We can always parse an E-mail and we don't want to subject people to the pains of typing it in a strange way.

Now I have to admit I've been tempted sometimes on international phone numbers, because parsing them is hard. The number of digits in the various components, be they area codes or exchanges, varies from region to region and I am not sure anybody has written a perfect parser. But nor do people want to enter phone numbers with tabs. And they want to cut and paste. Remember this when designing your next web form.


This drives me crazy. Windows' IP entry field has got to be the worst, it has so many behaviors that are inconsistant.

Forms that auto-jump to the next field after 3 digits in IP field are terrible too. I never look at the form when entering an ip address, I have to focus on the window with the IP in it (or the paper I wrote it down on). So if I enter: 1010024 the 24 goes into the 4th field because the auto-jump after 100, but I hit tab and didn't pay attention.

Oh and I have seen forms with the e-mail broken up into two fields (can't remember where though).

well, that didn't work. Accidently used html brackets in my example. SHould read:

10, tab, 100, tab, 24

Actually, the Windows IP entry field isn't too bad if you're careful in how you use it. It jumps to the next field either if you've entered 3 digits or if you enter a '.' character. So if you just type the IP address as you normally would, typing '.' between fields, you don't even have to use the <tab> key.

i agree, with your first name and everything you had to say about structure (data, otherwise...)

c no
a n

Something that really annoys me is web forms that ask for a credit card number and don't allow spaces.

The number on my card has spaces in it. They make it easier to read, and much easier to enter correctly. Computers are really good at deleting spaces from strings of digits. So why do I have to squeezethedigitstogetherfortheconvenienceofthecomputer?

Same for phone numbers. Often I cut and paste phone numbers and credit card numbers, and they might have an extra space on them, and the assholes will take the time to give me an error message about the space, when they could much more easily have deleted it. And worse, for "security" they recreate the page without the credit card number so you have to enter it again because of their pointless message. Ditto for dashes.

Add new comment

Subscribe to Comments for "Web sites -- stop being clever about some structured data"