- Overall Architecture
- Determining Page Structure
- Web Inputs
- Maintaining State
- Determining Interaction Sequences
- Data Analysis
- About This Article
Determining Interaction Sequences
Some web sites are so difficult to use that they have to offer something valuable for users to be prepared to tolerate the pain of driving their interfaces. If you want a web site to be used, it is worth considerable effort to ensure that the users can quickly navigate to the areas they are interested in and that they find it easy to interact with the site. This is especially important if the user has to fill out forms because forms in web-based interfaces are much less flexible in their interactions than their windowed counterparts, unless the web system also uses extensive client-side programming to manage interactions.
Try to arrange your logic so that when you validate a form's input you can present the form again, with messages about fields in error and the original form content still available. If you present an error message and ask the user to use her browser's "Back" button to correct the input, you are making it unnecessarily difficult to interact with your system. The only mandatory fields should be those that are truly indispensable to the operation of the system, and it is often a good idea to include a catch-all "other comments" text area to allow free-form user input.
The primary lack in the web development world of the end of last century was simple, uniform ways of undertaking common tasks. There were a million snippets of HTML, JavaScript, Perl, and VBScript, very few of which were actually designed to be used as components in general systems. Many web interfaces have never met an interface designer, and it shows both visually and ergonomically. It is very important to examine the sequences of pages that users must navigate through to accomplish higher-level tasks like "sign up for mailing list" or "submit question of the day." Can they go back at any stage? Do they get sensible warning messages, with forms repeated so that it is easy to change the unacceptable elements and resubmit? Experienced web designers have often grappled with these interface questions and may be able to speed you through to a practical interface design. I hate clunky interfaces, but that's the kind I often design.