I recently read an article on A List Apart about building sensible forms. The topics covered here are not new or earth-shattering, but a good reminder for those who build forms often. Keep the user in mind when you are building your form. Don’t over-complicate the matter. Here are a few things I always consider when building a form:

  • Narrow down what data is actually needed versus what is wanted. Extra data can always be collected at a later time if needed, but it’s not worth losing the user’s attention at sign-up time
  • Never force specific formats on the user. This is especially true if you are dealing with people outside the U.S.. Programmers need to take the time to filter and format the information appropriately. Regular expressions have become my new best friend.
  • Keep it organized. Keep all of your information organized so that it’s not confusing with beginning/end of a form section or form as a whole. Fieldsets, legends and labels will enhance this.
  • Friendly Error Messages. If they can’t understand the cryptic messages, they may not take the time to continue. When creating error messages, think from a user’s perspective and try to cover all possible bases and point them in the right direction.
  • Don’t trash their info. If an error has occurred, be sure to keep their information for them so they don’t have to fill it all out again. This also pertains to checkboxes and radio buttons — take the time to fill everything in. Don’t try and trick them, but make the process a simple one.
  • Validate. From a programmer’s perspective — be sure to validate all information possible. Especially for long term storage in a database or flat file somewhere. It will make everything much easier and much more secure when you need to retrieve data, or when you simply want to compare your data. This may take a little bit more time on the programming end, but will help everyone in the long run. This means planning out your forms in advance, and making sure you get just the data that you are looking for — in the format you are looking for. You can always re-format on output as well, so this is not an issue.

These are just a few practices that I have held for the past few years. What are some of your techniques and thoughts?

2 Comments Add your comment

  1. Aaron Boeving January 17th, 2006

    I echo your first point. Make the form as short as possible. People don't like filling out long forms. If there is optional information then hide it and have it appear with javascript if the user clicks on it and decides to fill it out.

  2. Nate Klaiber January 18th, 2006

    My parents are two people that have helped me adopt the above philosohpy. I watch them as they browse websites and try to complete forms. I watch my father as he interacts with different websites and complains at how stupid they were built. My parents are everyday users (surely not the mass percentage), but they are a target audience.

    Too many forms are built without care to the process and workflow - which makes them hard to use (sometimes unbearable).

    Keeping it simple, with all options in clear English and just a click away makes the process a little more smooth.

Leave a comment

Basic HTML is allowed (a href, strong, em, blockquote).