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.
  • Text boxes holding three components of a serial number 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 Tab Order from the View 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.
  • Visual FoxPro date entry form 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.
  • Choose a font where the user cannot confuse '1', 'I' and 'l'.