User environment

The user environment comprises the traditional five senses, as determined by the computer. The computer programmer is responsible for how the user will interact with the computer. The following image displays how the user interaction cycle works:

Human-computer interaction
CC BY-SA 3.0 Shmuel Csaba Otto Traian

The preceding image shows how the user provides input to a computer through a particular hardware device. The computer hardware converts the input information to software commands that are processed by the operating system, and the appropriate application.

Once the data has been processed, the process returns to the user: the application (or a different one, if appropriate) generates a return signal that is processed by the OS. The return signal is converted into the correct output signal, such as video or audio, and that signal is sent to the appropriate hardware device, where the output signal is finally received and interpreted by the user. Then the user responds to that signal and provides a new input signal, and the whole process starts anew.

The user's environment has to be accounted for, to make an appropriate interface for the situation. Enough information has to be provided without overwhelming the user with information overload, as well as "noise": information that is irrelevant to the task at hand. The following are a couple of examples of how designing a user interface with no regard to the user's environment can affect the situation:

While the preceding two examples aren't directly related to a normal GUI, they do show that the environment in which the user will be expected to use an interface plays a large factor in how it should be designed. Normally, people will interact with GUIs in a stress-free environment but, for a programmer or designer, the worst-case scenario should be expected.

When it comes to the GUI for our fuel farm scenario, it is advised to make it simple to use and understand. The worst-case situation is that the user needs to deal with a fuel spill and, thus, stop flow quickly to prevent a possible explosion.