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.
[Leave It Behind > Brian Bailey]