If your website contains text or number type-in fields, your web software must of course check what people type to make sure it is valid. But to be friendly and helpful, you have to tolerate reasonable variations in what people type. If you are too particular, or make people type data in unfamiliar formats, people won't like your site much. You'll have less traffic than you'd like and, if your site is commercial, your sales will suffer.
United.com, the website of United Airlines, is notoriously intolerant in what it accepts in type-in fields. It often commits the sin of not accepting data in familiar formats. In the illustration below, we see that Frequent Flier numbers are rejected if entered in the format that United itself uses on Frequent Flier cards and printed mileage statements. Another form at this site rejects credit card numbers that include spaces. Memo to United's Web developers: those spaces are in those numbers for a reason. They make it easier to scan and check the numbers. Let us type them!
I recently found an amazing example of form intolerance at Sony.com, the website of the well-known electronics company. Assume you've bought a Sony product and want to register it. You go to the Product Registration page (see illustration below) and type the product number exactly as it is shown on the packaging and in the owners' manual: "CCD-TRV58 NTSC". You fill out the rest of the form, click Submit. Up pops an error message "Please remove spaces from the model number."
At this point, you might wonder: "Why can't they remove the @%# spaces and go on?" Why, indeed? But they don't do that, so you sigh, remove the one space from the Model Number (see illustration below), and click Submit again. Another error message appears: "The model number you entered was invalid." [Note: This error message appears on the page itself instead of in a pop-up error dialog box. Why are the two error messages are displayed differently? And why is the message in the past tense, as if the number entered was invalid, but no longer is?] The message doesn't explain what is wrong with the model number now, but a menu is provided, allowing you to choose a model number. You might wonder why this menu wasn't provided to start with.
You click open the menu, and there is your model number (see illustration below), free not only of spaces, but also of hyphens, which neither error message mentioned. You select it and emit a sigh of relief as the form is finally accepted. But your impression of Sony has dropped several notches.
As comic relief from so many annoyingly intolerant forms, let's look at one that's so bad it's funny. Intel.com is the website of Intel Corporation, maker of computer microchips. Part of Intel.com is devoted to the Intel Developer Forum. The Intel Developer Forum sub-site has a Feedback page for sending feedback to the webmaster. They ask for the URL of the page about which you are providing feedback (see illustration below). But the URL field accepts a maximum of 35 characters, which isn't enough for the URLs for most of the pages at the site. It won't even fit the sample URL at the top of the page!
Why are all these websites so intolerant and uncooperative? Why are they so picky about what people type? Why can't they even accept data in a common formats -- even just one common format -- or in formats that the companies themselves use elsewhere?
One common excuse is that it is hard for programmers to write software that can interpret and accept a data typed in anything but a single very simple data format. Perhaps, but consider how many user-hours are wasted for each programmer-hour saved. More to the point, consider the traffic and revenue lost due to intolerant, annoying forms. Consider the impression you give your customers when your website rejects model numbers typed exactly as they are appear in your own packaging and literature. They get the impression that your company is lacking in organization and coordination: one side doesn't know (or care) what the other side is doing.
The best way to avoid this blooper is to let visitors to your site choose what they want rather than typing it. That means using menus, lists, radiobuttons, and custom data-specific controls. However, there are cases when it isn't feasible to do that. Fortunately, the guidelines for providing user-friendly, tolerant type-in fields are simple: