Website Behavior Design Guidelines
Guidelines:
Provide Feedback
Provide Shortcuts
Minimize Memory Load
Forms
Verify User Input
Provide Undo
Plug-ins
Animations
Page Copying
Useful Messages
Confirmation Pages
Provide Tips
Provide feedback for all user requests and inputs:
- Clicked buttons and links should change their apprearance
unless the response will be essentially instantaneous.
- Responses that will take a significant time should be
signified by some kind of progress meter and estimate of time
until completion.
Rationale:
- It is disconcerting for a user to request a response from
the application and not know whether or not the request was
sent.
Provide experienced users with alternative shortcuts for
repetative tasks.
Rationale:
- Shortcuts avoid informational messages and lengthy
dialogs that experienced users find unnecessary.
- Although useful for beginners, such help features
decrease the productivity of experienced users who want to
maximize their productivity at the cost of a less intutitive
user interface.
Minimize the amount of information that the user must
memorize:
- Automatically populate content so that the users does not
have to enter information that the application already knows
or can obtain automatically.
- Never have the user enter the same information
twice.
Rationale:
- This increases user productivity.
- This minimizes data entry errors.
Optimize data input forms:
- Line up the contents on forms.
- Identify mandatory contents (e.g., with an asterix).
- Use tool tips to provide clarifying information.
Rationale:
- This makes forms easier to use, minimizes human error,
and makes them look more professional.
Verify the user's input:
- Performing type checking and consistency checking on the
client.
- Provide defaults for data entry fields.
- Where practical, have the user select from a list of
choices rather than manually inputing information.
- Use pick lists and pull-down or pop-up menues when there
are a large number of choices.
- Use radio buttons or check boxes when only a small number
of choices exists.
Rationale:
- This minimizes errors.
- This increases performance by avoiding Internet
communication due to input errors.
Provide users with ways to undo their actions:
- For every user action, provide an undo capability.
- For every long transaction of actions, provide a roll
back capability.
- Warn users and have them confirm their request if it
cannot be undone.
Rationale:
- Users make mistakes and wish to be able to undo
them.
Minimize the use of plug-ins:
- Do not assume that each user has every plug-in.
- Assume that most users will not stop what they are doing
to download a necessary plugin just to see some irrelevant
whizbang effect.
- If you must use plug-ins, then use JavaScript to
determine if the user's browser supports your plug-ins and
provide a version without plug-ins for those users whose
browsers do not support them.
Rationale:
- Not every browser supports every plug-in.
- Most users are not willing to download and install
plug-ins before being able to use a website.
Ensure the use of animations is appropriate:
- Avoid more than one animation per webpage.
- Only use animations that relate to the content of the
webpage.
- Do not endlessly loop animations and video.
Rationale:
- Less is often more.
- Multiple animations per page detract from the
content.
- Endless animations and videos can be very annoying.
For webpages that contain large amounts of textual or useful
public-domain content, provide an easy way for users to:
- Print the contents.
- Email the contents.
- Save the contents to a file.
Rationale:
- Large amounts of text are easier to read on paper than on
most monitors.
Provide useful messages:
- Ensure that alerts and error messages contain information
that is useful to the users, rather than cryptic technical
information for developers and maintenance personnel.
- For example, if a search query fails, provide helpful
hints so that the user's next search is more likely to return
the desired information.
Rationale:
- Cryptic technojargon frustrates and angers users.
Provide an obvious conclusion page for each user task.
Examples include providing a confirmation page upon completion
of:
- Product ordering,
- Software downloading, and
- A stock trade.
Rationale:
- This provides the user with a sense of closure that
confirms that the task is complete.
Provide users with tips that help them use the system:
- Instead of a large help facility that requires
significant user searching, consider providing context
sensitive tips or hints.
- Keep the tips short and to the point.
- Provide examples and counter-examples where
appropriate.
- Provide personalized and internationalized user tips
where appropriate.
Rationale:
- Users are more likely to use tips than a large help
facility.
- Tips increase user productivity and probability of
success.