initCommon(); $template->displayHeader(); ?>

Chapter 5. User Interface Guidelines

If you just start reading the reference manual for a GUI toolkit and typing in code, the result will be pretty sad. Imagine implementing a compiler without reading any papers or textbooks on the subject. UI design is no different. It's not a mysterious art, it's something you can learn about (and by implication, something you can be ignorant of).

Caring about good design isn't just for desktop applications. Our sysadmin- or developer-targeted software could often benefit hugely from more thought up front about who's going to use it, for what tasks, and how the software could make their day more pleasant and efficient. There's no reason command line applications have to be cryptic and annoying; compare "classic ftp" to lftp.

Caring about good design isn't just for people who write the "pixels on the screen" part of the software, either. The backend should be designed to support the frontend, rather than being designed in isolation.

Finally, caring about good design isn't just for programmers. The whole development process should take it into account.

5.1. Read the CliffNotes®

Start with User Interface Design for Programmers, by Joel Spolsky. This book is short, entertaining, and covers the main points. There's a sort of rough draft or abridged version online or you can buy it from your favorite bookstore. The printed book is worth it for the extra material, and just for ease of reading, but the online version is fine too.

displayFooter('$Date: 2005/12/06 19:37:03 $'); ?>