In this chapter, we will give you some advice on GUI design. Keep in mind that we offer only guidelines, which may or may not apply to your specific application.
The initial points are general. Later, we present a list of hints and guidelines for specific widgets.
If you need a more thorough description of things that can go wrong in GUI design, look at http://www.iarchitect.com/mshame.htm. Examples of well-done UIs can be found at http://www.iarchitect.com/mfame.htm.
If you are looking for something in print, try About Face: The Essentials of User Interface Design by Alan Cooper (Hungry Minds, Inc.); The Elements of User Interface Design by Theo Mandel (John Wiley & Sons); or The Windows Interface Guidelines for Software Design: An Application Design Guide by Microsoft (which is useful even for other platforms). Also:
Always try the application yourself. If you are a contract programmer writing vertical-market software, you may not have a real use for your application, but you should at least have tried to work with it for more than ten minutes. Otherwise, you will never find out where your interface is awkward to use. Note that I am not talking about testing to find real bugs—I take it for granted that you will do so.
Try making your application worthwhile for the casual user and the power user alike. Provide keyboard accelerators and other means of quick navigation that can be used by power users, but provide enough help and guidance ...