Design a form to make data entry easier and more accurate
The Japanese concept of Poka Yoke - "Mistake Proofing" - is
common-place in manufacturing engineering. Assemblies are
designed so that it is physically impossible to put them
together in anything other than the right way. This idea seems
to have been slow to reach computing.
Looking at the physical design of PCs there are still machines
where mouse and keyboard have identical plugs and where sound
cards have three identical sockets set close together at the
back of the PC where you can't easily see them. The sockets
are colour-coded but there's not much difference between the
pale blue and green colours and it's so very easy to plug
the speakers into the microphone socket.
We cannot do anything about those physical problems but we
can improve the design of our software and improve the speed
and quality of data entry. With a little attention to detail
we can make it more difficult for users to make mistakes when
filling in forms. A little careful thought when you're designing
a form can make a big difference to the ease and accuracy of data
entry and can make the difference between a form that's a
struggle or a pleasure to use.
Here are a few things to think about:
Set default values where they'll be helpful. If most of your
customers are in Birmingham then make 'Birmingham' the default
town and '0121' the default dialing code.
If the field has to be three groups of fours digits separated
by dashes then give the user three text boxes separated by
dashes and reassemble the three components into the full
text before saving it.
Use dropdown lists if the user has a choice between just a few
different values in a field. Don't ask the user to type the
same few values in time and time again.
Make sure the user can tab around the fields on a form in the
right order. Select
menu when you are designing a form.
If users are copying data from paper forms then design the screen
form so that the fields are in the same relative positions. If the
paper form has LastName before FirstName
but your form has FirstName
before LastName then errors will be made.
On a similar line, use the terminology that is familiar to the user. Don't ask for
Christian Name and Surname if the paper form
lists them as First Name and Last Name.
Don't ask the user to do mental arithmetic. If postage is usually 10% of the order value then offer
that value as a default. And ask yourself if you should even be asking for a value which can be
calculated when required.
Choose the right data types and sizes. UK Postcodes are eight
characters long at most so restrict the user to eight characters
of data input. If you give them twenty characters then they might
be tempted to type something else here.
If you ask the user for a date then consider using a calendar control
instead of a plain text box.
If a calendar is not possible then display the day of the week to
help the user:
Calculate the date that the users are most likely to want. If deliveries
take ten days then default to a date ten days from today and add the
logic to avoid Saturdays, Sundays and holidays.
where the user cannot confuse '1', 'I' and 'l'.