Design Principles

Top  Previous  Next

If you make your program look and act like other Windows programs, your users will learn it more quickly, and feel more confident using it to accomplish the tasks you designed it to do. The Graphical User Interface (GUI) environment demands that you address your users on their terms. The program design must reflect that the user is in control, both visually and in the underlying structure of program flow.

Apple, in its Human Interface Guidelines, IBM, in its Common User Access: Advanced Interface Design Guide, and Microsoft, in The Windows Interface: an Application Design Guide have all published detailed design principles for software designers working in popular GUI environments. Creating a standard for program design offers these advantages:

u Given consistency between applications, users learn new applications more quickly and easily, minimizing the need for training.

u Consistency between applications increases the level of confidence in the user, resulting in increased productivity.

There are two especially important Windows design principles for the Clarion programmer to keep in mind when designing the user interface. The first is user control—providing a real-world based metaphor for the program’s organization, and maintaining a consistent look and feel for all parts of the program, builds the user’s confidence. The second is to remember that Windows programming is event driven—the user decides the next action. The programmer’s responsibility is to provide a visual list of options the user can act upon.

User Control



Your users may not have years of experience using a wide variety of programs. Providing a metaphor from the real world will help provide a ‘setting’ or group of expectations to apply to your program. A word processing program, for example, uses a ‘paper’ metaphor—the document is like a piece of paper to write on, erase characters from, etc. Many database programs use Rolodex card metaphors. By establishing a relation to the real world, you increase the comfort level of your users, and actively engage them in the work of the program.


Visual Consistency

Visual consistency is very important. As much as possible, an application should use a single way to implement actions. A user learning a new procedure in your program builds upon prior experience with other procedures in the same program. Creating a standard look for your dialog boxes, and making screens for similar tasks look like one another, also reduces the time it takes you to design the different screens your program requires.



Directness makes a user feel they are in charge. Moving a document from one folder to another, or moving one icon to another, such as the Recycle Bin icon, can seem to a user to be a real action. Clarion provides drag-and-drop server support, which lets you create, for example, an icon with a picture of a person on it, representing an employee record. A user might drag the icon to another representing money, to open a dialog box displaying the employees’s payroll records.



Simplicity is usually the best design. Cluttering the screen with too many windows, buttons, icons, lists and other objects can confuse the user. Dialog boxes especially, usually must fit in a small space, so their messages must be simple. The same is true for colors. Limit the use of colors to areas where they are needed to provide emphasis, such as red text for an important message.



Let the user know what’s going on—provide feedback. When the user chooses a command or begins an operation, visual feedback should confirm it is being carried out. The confirmation may be graphical, such as a cursor change, or simply a progress bar or message on the status bar. If there will be a delay while the program finishes another operation, inform the user, and advise, if possible, how long it will take.


Plain Language

Your application should use plain language. When designing an application for a corporate environment, technical terms are often essential. Watch out for the times when plain English is better. Of special importance to the programmer, who may be new to Windows programming—beware of "Window-isms." It’s very easy to create two buttons marked "OK" and "Cancel." Yet "Yes" and "No" are far better button labels when the question is: "Do you wish to delete this Customer?"


Next: Event Driven Programming