I have worked online for years, and I've become inured to the tedium of completing forms whenever I register for an account or buy something online. So it's a good reality check to run a user study, and hear sighs and the unhappy words, "Do you want me to fill this out?" when participants realize they're in a workflow.
Workflows are multistep processes where a user must enter information and make decisions to complete a task. Always remember the subconscious "quid pro quo" of Web forms. Users never want to fill out your forms! They only want what's behind them, and they will tolerate your forms as long as the anticipated reward seems worth the effort. So it's very much in your interest to minimize their efforts with thoughtful, usable workflow design.
The following guidelines are more general heuristics than hard-and-fast rules. When it comes to Web workflows, there's as many kinds of good designs as there are types of information to gather.
- The fewer fields, the better. Here's a contentious one. Businesses will always want to gather more information about customers, and users always will want fewer fields to fill out. Keep in mind the ultimate objective is to get users to the finish line successfully. Ecommerce sites in particular will find extra questions to be costly.
- The fewer pages, the better. This is more of a marketing guideline than a principle of usability. Generally speaking, each additional page is another opportunity for users to drop out of the process. Sites like eBay and Microsoft are removing pages from their workflows with AJAX forms that dynamically change questions to reflect prior inputs.
- Use a progress indicator. Your users have no idea how many steps there are to go unless you communicate it to them. Users who feel lost are likely to abandon your workflow.
- Forms are for your users, not your servers. Don't force users to conform to your fields. Ensure forms don't choke on currency symbols, punctuation, and other normal language inputs. More examples: allow user to select dates from a calendar widget. Support keyboard shortcuts (tabbing, Enter to submit). Consider accessibility.
- Label buttons to clearly indicate the next step. "Submit" is usually an unhelpful label. Use Purchase, Sign Up, Download, and the like. Be consistent too -- don't use Continue on one page and Next on the subsequent page.
More guidelines to come.