Problem: How should the artifact indicate what kind of information should be supplied, and the extent of it?
Forces:
Visually, arrange the blanks and labels according to a spatial grid; align the edges of the stronger graphic elements, like boxes, where you can. Give them a neat look and a good visual rhythm, but don't let a strong geometry overwhelm the meaning of what is written or provided -- big arrays of edit fields (or whatever) look scary! If there are a lot of them, at least separate them into subgroups (Small Groups of Related Things); again, do this according to the meaning of the information, not just what looks good.
Provide reasonable default values wherever possible, to lessen the amount of work that the user has to do (Good Defaults). If the user provides information that makes some parts of the form irrelevant, disable them (Disabled Irrelevant Things). Likewise, if the user provides some clue which enables a software-based form to predict what information will be filled in elsewhere, then have the software do it for them. For example, if a user is providing their address and phone number, the town they provide might only have one area code in it -- so fill in their area code for them. But don't do it wrong; that's worse than not doing it at all, because the user then has to both notice the error and correct the form.
Be forgiving about the format of what the user provides, as much as is possible (Forgiving Text Entry). But if the required information simply must follow a certain format, then an empty, featureless text field is the worst possible thing to have to fill in. You never know if you're doing it right. Always offer a clue about what is expected by constraining the user's input in a reasonable way (see Structured Text Entry for one example), and don't resort to validating afterwards, giving the user a nasty message about how wrong their input was. Giving an example right there on the form is a better idea, but still not as good as a visual constraint.
(Sometimes, cultural factors make visual constraints unnecessary. A login screen, for instance, usually just has fields for "User name" and "Password" -- the possible input strings are constrained, of course, but 99.9% of its users will understand exactly what is expected, and constraints or extra information will be more trouble than it's worth. See Don Norman's The Design of Everyday Things for lengthy discussions of physical and cultural constraints.)
Resulting Context: You must pick controls for each of the pieces of information to be supplied. These may include:
If you can find a non-contrived way to use something other than a form,
do so. For instance, why ask someone to laboriously fill in a day, month,
and year when you can just have them pick a day from a calendar?
[Use three pictorial examples here: a date as a Forgiving Text Entry,
a date as a Structured Text Entry, and a date as a calendar widget.]
Copyright (c) 1999 by Jenifer Tidwell. All rights reserved.