What is a GUI?

A GUI is a user interface that provides graphical two-way communication between the user and the application. It consists of menus, windows, widgets, input devices (keyboard, mouse - point-and-click), output devices (audio - the "beeps" and other sounds the computer makes, video), and in general, all the information channels. The GUI uses these channels to communicate with the user. It should be noted that the GUI also includes documentation.

GUI Design

Task-Centered Design, also known as User-Centered Design, is a GUI design approach that focuses on the tasks the users perform in order to accomplish their work. Note that the users may not be currently performing these tasks using computer software applications (if you were writing an application to replace an older system).

The steps in the Task-Centered design are:

  1. Analyze

    Learn:

    The goal of this analysis is to produce task descriptions. These descriptions are to be used not only in the design of the GUI, but in the evaluation of the GUI as well.

  2. Design

  3. Evaluate

    Is the software usable? Does the software do what the users wanted it to do?

    Once you have a task description, evaluate it.

  4. Iterate

    Once the 3 steps above have been done, REPEAT them at least twice.

GUI Guidelines

You often hear that a GUI must be user friendly and that people will not use your software if they find it difficult to use. But what does user friendly mean? How do we achieve user friendliness?

A GUI should:

Conclusion

Your GUI should help the user (all users) to build a correct conceptual model of your system (what it does and how it does it). Remember to create your GUI to keep users frustration level to a minimum while giving users a sense that your program is fun and easy to use.