Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
The problem of writing software that is both flexible and easy to use is a familiar one. Well, it’s familiar if you build graphical user interfaces (GUIs) for a living. The folks who build GUIs have evolved a number of design guidelines for creating easy-to-use interfaces:
Attempt to anticipate the user’s needs. A good interface tries to make very common tasks nearly effortless—a good interface does the most common case by default. Uncommon or more advanced tasks should still be doable with a bit more effort.
Don’t make the user repeat himself or herself. Who among us has not been tempted to put a foot through the CRT when that application asks, for the third time, “Are you sure you want to do this?”
Provide a starter template. Providing your user with a template to build on is another one of those good GUI ideas that we can port to our systems. Don’t make your user start with a blank sheet—if he is creating a résumé, give him a résumé template to get him started.