Forms as a Gateway to Website Goals
As stated previously, people usually do not enjoy filling out forms. Forms act as a conduit for the main attraction of the site. The quicker the user can complete the forms and get to something they would rather be doing, the better. The more obstacles we put in front of the user, the more likely we are to cause confusion and ultimately failure of correct form completion. Since much of what we do on the internet is to help drive sales, increase user participation/registration and/or gain valuable information about the user – form design may be one of the most important facets of our work to the actual goal of the project. I assume that the vast majority of us enjoy layout design much more, however, the paradox is that the execution of form design may have one of the largest single impacts on the success of a site.
Spend the Time on Clear Writing
There are a myriad of examples of specific HTML tags that can aid in the usability of forms. However, we all know that semantics alone will not ensure a highly usable form. It truly is amazing how much easier a process can become for a user when quality time was spent on well-executed copywriting. Simple things such as precise instructions, helpful labels, and clear error messages do quite a bit to aid in the user experience. If space is a concern, consider putting instructions into help tooltips for compact, yet easily obtainable, information. We have to remember that just because we understand how the form works, that does not mean that the user does.

CNN’s registration form does a good job of spelling out what each field is and what sort of information is needed in the right-hand column. Sure, this sort of form is fairly common, but small aids like this can help a novice get through the form with much less frustration.
Less is More (As Usual)
One of the easiest ways to aid user experience with forms is to keep the necessary form fields to a minimum. This is also one of the hardest things to convince clients of. We are all aware of how much organizations lust for personal information nowadays as a means to collect vital marketing demographics. The problem with that train of thought, however, is that there is very little control to ensure the accuracy of that data. In addition, the more daunting the form appears, the less likely the user will even consider filling it out. Designers across the world (including myself) have few good things to say about the design of MySpace. The irony however is how clear and simple the signup method is on the site.

Visually, this form is not going to win any awards. Yet, from a usability standpoint, this form does not become an obstacle for the user’s ability to be in the MySpace community in no time. I have no doubt this is a significant reason why there are so many registered MySpace users. The commitment of time to fill out this form is fairly minimal, therefore people are willing to go through the process. There are 13 fields to fill out, three of which have a default value that will pertain to the vast majority of registering users – making a total of 10 fields for many users. Additionally, the form takes up a space of 430 by 500 pixels, meaning little to no scrolling. Compare this to Friendster, a competitor of MySpace, where there are 15 form fields, none of which have default values. In addition, the form takes up roughly 550 by 700 pixels. The difference in experience from one registration model to the other may have played a major role in the dominance of one website and the obscurity of another.
Kill Two Birds With One Stone, Not Three Stones
Another example of strong form design is the Amazon login/signup form. This design idea may be one of my all-time favorite UI design ideas I have seen on the internet. It does not appear to be anything special at first glance until you really start analyzing what it does, the number of clicks it takes to accomplish an action, and the space it takes to perform it.

All from a minuscule 400 by 300 pixel space, users can both log in or begin the registration process for the site. In addition, it only takes 3 clicks to either log in in or begin registering. If you are logging in, you click the email field, then go to the password field (since the ‘yes’ radio button is selected by default) and then click the submit to finish. If you are registering, you type in your email, click the ‘no’ radio button and click submit. Lastly, subtle wording such as ‘Sign in using our secure server’ helps re-assure all those grannies that someone isn’t going to steal their information by filling out the form. Lastly, refraining from asking for a username makes the registration one step faster. The simplicity and power that this login/signup form has is amazing and something I use as a model of successful form design.
Worth the Time
I can speak for myself when I say that I do not spend enough time on the design of web forms. It is so easy for eyes to glaze over when speaking about the importance of web form design. In addition, clients are many times more interested in the “wow-factor” facets of their website. Nonetheless, sexy or not, strong form design and usability many times represents the most direct route towards a website achieving its end goals. We may not all like it, but a little improvement in form design can go a long way in the overall success of a website.
14 Comments
What a great subject to post on. Forms are absolutely essential to any sort of Web-app and when they’re hard to use, the site is hard to use. Difficult or misleading forms will definitely reduce the attractiveness of any site and some time and thought should be put into their development. Great article, P.J.
Also, always remember to design for errors on submission! The more visual and clear the error messages are, the better. I’ve seen far too many forms that don’t have clear error reporting (very few do, actually) – sometimes to the extreme of not knowing what I filled out wrong at all, and having to resort to guessing which field it might be!
One annoying thing about the amazon login form is that, if you are already a registered user, tabbing from the username field to the password field goes via the radio buttons.
Another is that the radio buttons don’t use labels…
How bout styling this here comment form. The default font is a monspaced font – you could even choose a nicer font style here and even add a 1px black border to this here text box like you have for the other form elements.
Oooh and you could even add cursor: pointer to this here submit button.
If you took care of these minor things I might start thinking you knew what you were talking bout.
Thanks for the comments guys.
Jon from Monday By Noon – Thanks so much. I recently had done some significant form design on a current project and it really facilitated this article coming to fruition.
Ryan – so true. I think that could be an article in and of itself.
Andrew – Yeah, good point. Tabbed navigation is an issue. I still feel most users navigate through forms with the mouse, I am assuming that is who they are catering to. Nonetheless, you’re right, they should take power users into consideration.
Anonymous Jon – There are a myriad of design problems with this website that I would love to detail in another post. However, I suggest we concentrate on the content of the article as a means to critique my thoughts I raised in the article.
I’ve NEVER thought of forms in the analytical way that you have. Excellent job! I really agree with your theory regarding the correlation between Myspace’s billion users and their ultra simple, 30 second or less form.
This is really an amazing entry PJ. I learned something new today.
Yeah, it’s an interesting idea at least. I personally think trying to get more marketing and demographics information through the registration is a bad idea as it can keep people from filling out the form entirely. Rather, I like to see information-on-demand – where users fill out vital information when they need to perform a task.
For community sites, I think allowing them to fill out age, location, interests, etc. for a public profile will lend itself to much more accurate information. We all have done the infamous rapid form fillout where every field is given ‘adsf’ or ’999999′. If the user actually is filling out a form for his/her own immediate needs/interests, the chance of getting real data is much more likely.
Pingback from On form design
This gave me a quick ideas on how i could help my group complete the interface to our project. Thanks for the tips, will pass them on now…..
this was pretty freaking helpful and gave me some awesome ideas. i really appreciate you blogging about this for us non-designers.
What a sad thing that form design and relational database interactions receive the least attention generally for webs. How many times have I winced at clicking on a new partition for part of a phone number when any separations of boxes should include an auto rollover from one part to the other? Why aren’t ip logs routinely referenced to visitor lookup tables to eliminate multiple entries? Etc., etc.
Comment love is sort of a good idea, but I think you go about it the wrong way (for general application). It would be nice–especially for large traffic sites–to have a widget next to a comment in the shape of a pie chart. When the user clicks on it, they call up a function that allows them to set donation for the comment up to a blogger-specified max price. Then they could set partitions in the pie chart to decide who and what %age the money would go to: charity, blogger and/or commenter (in the latter case, where there were store functions it could be a discount against merchandise, eg). I think this would probably work best with moderated invite-only posts where there was high traffic. But rotating the segments of a pie chart and autocorrecting the partitioned %ages of the sum total would make a nice toy for bloggees to play with (is that a new word?). Any hoo, good article.
God dag! Kan jag ladda ner en bild fran din blogg. Av sak med hanvisning till din webbplats!
i need a design like first one.grey one..May i learn the code of that?i mean we have such rights ? otherwise code sharing is not acceptible ?