Brian Bailey Preface to the Revised Edition

UI 101

For much of web development, the greatest challenge is not the code, but the user interface. What does the user see? How do they use the feature? Where do they click?

Is it simple? Is it intuitive?

The sad truth for developers is that no matter how good the code and database design is on the backend, if the user is left confused or unsure, that work is worthless.

Most of the solutions are known, but they are nevertheless a continuous challenge for all of us. Here are a few basics:

1. Use consistent colors and images throughout the site to indicate move forward, move backward, submit or error.

2. Write expressive error messages that explain what happened, why, and what to do about it.

3. Build pages that assume the worst. What if the credit card processing agent is down? What if the confirmation message can't be emailed?

4. Show the user where they are, where they came from, and how to get back.

5. If the user fills out a form and a problem occurs, be sure they can simply fix the mistake or omission and move on without re-entering the information.

6. Don't save the UI until the end of a project. Make sure the design is put in front of end-users and the developers as early in the process as possible.

As we work on all of our sites throughout this year, this is our primary focus. We produce terrific graphics and are building elegant backend solutions, but in the end, it's all about the user experience.

Here's a fun test I've discovered to evaluate the quality of your design. Would your developers rather use the database to complete a user task than the web site? If it's quicker and easier for a developer to hit the tables and write some SQL, then you will soon be face-to-face with frustrated users.