6.9. User Friendliness
A lot of software is available that's powerful and useful, but that fails in its ease of use. Before implementing a feature, think about how a user will react to it: Does it make sense? Is it easy to use? Can anyone figure it out without the use of a manual?
Before you release your program, give it to a friend who has not seen it before. If the friend asks you a question, you may have done something wrong.
Writing documentation is important, but remember that having users who do not need it at all is just as good (but it should still be provided).
In fact, before you start designing your user interface, take a look at the "Interface Hall of Shame" at http://www.iarchitect.com/mshame.htm to get a hint at what you may not realize is horrible. We all may be guilty of such a horror and not even be aware of it!
You may ask potential readers to not judge a book by its cover; asking the same of potential users will consistently give the same results: None. It is impossible for users to not judge a program's power by its "looks." The moral is to keep a keen eye on making your program look good. Now, I'm not asking you to go too far. It's as simple as your placement of widgets. Do not spruce it up with color and icons; spruce it up with convenient placement of tools. Line up your widgets neatly and keep it organized.
The following is a little tidbit that comes from the KDE Development lists (from an author I cannot remember): People tend to form a center valley with a mound of papers to the sides. To another person, this will look like complete chaos, but to the owner of this mess, it makes perfect sense. The reason is that the mound is generally organized with recently used papers nearest the valley and the old papers to the edges (where they may fall off the table into the circular file). In fact, it has been proven that people work most efficiently this way! On this note, remember to keep the most often used stuff nearest the user display—and the rare tools and data in the outliers. You may think that by increasing the size of the mound, you would increase the efficiency, but that just causes the mound's owner to be forced to rustle around in them more. Keep the front of the user interface simple, limited to the most often used tools. The menus and configuration dialog boxes should have the more rare tools.
Figure 6.2 is an example of an excellent user interface: Lotus WordPro '98. It has a little floating control center that is neatly organized, inobtrusive, and very iconic. It's just a context menu or a toolbar button away!