Defensive Design for the Web
By Matthew Linderman, published in New York by New Riders in 2004.
Avoid reset buttons.
Adjust settings on server to allow for common typos and misspellings for URLs (for example ww instead of www). Setup wildcard domains (*.yourdomain.com).
Eliminate extraneous navigation elements during a multi-step process such as a checkout or registration. Avoid distracting the user.
Study customer support inquiries
Analyze server logs
Look outside for help
Put someone in charge
Build a contingency design knowledgebase (track issues and solutions)
Prepare to fail (admit things will go wrong)
Indicate availability immediately
If unavailable, provide a backup plan.
Notify by email when in stock
Plan for imperfect searchers
Study previous search results to identify problems
If search returns an avalanche of results, offer means of narrowing results.
If no results return, offer an easy way to expand results
Explain how search works, give examples and tips.
Indicate required fields with an asterisk and/or include the word 'required' or 'optional' next to each field.
Indicated required field titles in bold.
Provide formatting examples for data
Provide pulldowns or lists to ensure accurate data.
Offer contextual help right on the form.
Custom 404 Pages
Include the company's name and logo.
Include an explanation of why visitor is seeing the page
A list of common mistakes that explain the problem
Links back to home page and/or relevant pages
A search engine to help find right information
An email link for visitors to report errors/problems
Use tracking numbers as a reference
Provide a clear and accurate subject line
Explain what to do next if issue is unresolved
Sign the email.
Clearly state the error at the top of the page and the problem area that needs to be corrected.
Indicate problem are with bold red text
Draw attention to the problem with an alert icon or graphical cue
Offer possible solutions to the problem.
Do not force visitors to retype data correctly, accept alternative formats.
Accept all valid data and only ask for problem info (do not send them back to the same form).
Be consistent in all error messages.
Lead with a clear heading and the most important information
Offer bullet points not blocks of text
Use bold red text and color variations to highlight crucial information
Edit copy so that it is brief and meaningful.