Human-Computer Interaction

Monday, February 02, 2004
By keiji
Designing software contains not only technical things but also human nature. Considering HCI increases quality of software by decreasing obstacle between human and computer. It directs our thought to users. I have realized that it is a problem of "Human", that is, how people see the World and behave on what basis.
1. Objective
Complex software user intercaces have been becoming a serious problem recently, as many people who are not computer specialists begin to use software. There are several reasons for these problems, such as little recognition in the software industry of the need for interface design, lack of principles of interface, and lack of interdisciplinary study of human-computer interface.

Because I have devoted myself to developing information systems for many years, I have strong concerns about the Graphical User Interface (GUI) design for applications on the Windows system. To improve software quality, I wanted to know recent studies of design principles, an endorsement of those axioms based on not only empirical, but also logical and psychological points of view. Here I would like to discuss some guidelines to be considered when designing a software interface.

2. My Opinion About GUI
Is it true that a GUI is always easy to use? I don't think so. It is true for some kind of applications such as painting software, but business applications, such as data entry systems, need a more easy-to-enter interface. The Web systems based on an Internet browser are not sufficient in the aspect of user interface because of the immaturity of a browser's functionalities. An internet browser should contain functions to advance usability. I think that the GUI and the Character User Interface (CUI) should be merged.

I was strongly inspired by these books:

  • Cooper, Alan. About Face: The Essentials of User Interface Design. (Foster City, CA: IDG Books Worldwide, 1995)
  • Norman, Donald A. The Design of Everyday Things. (New York: Doubleday, 1990)
I strongly recommend that all software engineers read these books.


3. Principles for Designing User Interface
Based on study of the above books, I have concluded there are six categories we should consider when designing an interface.

3.1 User's Goal
We always have to keep in mind that the goal of the user's task is primary. The reason the application software exists is to achieve a user's aim by providing functionalities. That is, it is obvious there is no reason for an application to exist if it fails to provide proper functions to a user. Important points:

  • A software design must be based not on features but on the user's tasks. To achieve this purpose, I think we should describe the task-function relationship. All functions have to belong to at least one task.
  • We should provide several methods to complete a task. I agree with the point that within a flow of functions, an operation should produce one result.
  • I agree with Raskin's view, "A well-designed and humane interface doesn't have to be split into beginner and expert subsystems." (Raskin, 2000, p.70) Providing several methods to do a task will help a user transit from beginner to expert.
  • I think we also have to have a measure to quantify the distance between a user's goal and a presented goal provided by a program.

3.2. Software's role
It is obvious that a program's role is to assist in the user's task toward achieving a goal. A program should be a guide or a tutor for users. Therefore, a program has to have the ability to help users. For example, a program should provide proper tools, demonstrate a user the proper way to navigate a program, and remember everything for users.

3.3. Evaluation of an interfaceAn interface must be tested and evaluated. There are some measures of this:

  • Time to perform
  • A structure and steps to perform
  • A proper report
  • A distance between goal and implementation

3.4. Affordance and Navigation
There are two roles for a rich visual appearance in user interface. They are:

  1. To indicate to users that there are functions in the program.
  2. To give a guide to performing the task and the flow of functions.

A functions' only reason to exist is to be used by users. According to the role of software, it should have proper visual feedback to assist the users' tasks. Therefore, a function should have an explicit visual clue to be noticed by users. There are several types of these implications.

  1. Affordance (Norman, 1999)
    "The required information was in the world: the appearance of the device could provide the critical clues required for its proper operation."(Norman, 1999) The Affordance is a natural property that the object has in the physical world. In this sense, there is no real Affordance in software.
  2. Constraint (Norman, 1999)
    There are three constraints. Physical constraint limits the user's behavior physically. Logical constraint limits the user's behavior by indicating a user clue which makes user logically aware of the limitation. Cultural constraint is formed in the culture. It provides many conventions to the user.
  3. Convention (Norman, 1999)
    This is cultural constraint. "There is nothing inherent in the devices or design that requires the system to act in this way." (Norman, 1999) That is, every interface is artificial. If it becomes easier and easier, it becomes natural and intuitive. "The term natural equates to very easy to learn." (Raskin, 2000, p.150)

In addition, I think we should consider "assistance." We create a program as a new tool. That is, users have to learn how to use the program every time. Furthermore a computer can do tasks completely precisely, but a human being can't. Therefore, a program should assist users.

3.5. User's Locus of Attention and cognitive flow
3.5.1. The Locus of Attention
We have to be careful of the user's "Locus of Attention"(Raskin, 2000) when designing the interface flow. The Locus of Attention is defined as "... a feature or an object in the physical world or an idea about which you are intently and actively thinking." (Raskin, 2000, p.17) According to the neurophysiology, what a human being percieve, even though the signal was conveyed to brain, doesn't mean it is noticed. (Raskin, 2000, p.17) That is, "Perceptions don't automatically become memories." (Raskin, 2000, p.18) Therefore an interface should keep the user's Locus of Attention when interacting with users. A message, a flow of operation, should be within the user's Locus of Attention. It is important to recognize that a user has only one locus of attention at a time. (Raskin, 2000, p.24)

3.5.2. Habit
"With repetition, or practice, your competence becomes habitual, and you can do the task without having to think about it." (Raskin, 2000, p.19) "The more predictable, automatic, and unconscious a task becomes, the less it will degrade or compete with other tasks."(Baars 1988, p.33 cited by Raskin, 2000, p.21) I think the operations should be simple enough that they can potentially become automatic for the users. There are four things that are essential for a task to become automatic for users:

  1. Users should be able to control the operation
  2. A program must not interrupt a user's operation
  3. The steps must be predictable
  4. The task should be a skill that can be acquired through practice.

3.5.3. Mode
A user's operation is defined as a gesture, which is defined as "a sequence of human actions completed automatically once set in motion." (Raskin, 2000, p.37) A definition of Mode is "A human-machine interface is modal with respect to a given gesture when (1) the current state of the interface is not the user's locus of attention and (2) the interface will execute one among several different possible responses to the gesture, depending on the system's current state." (Raskin, 2000, p.42) We should eliminate a "Mode" for the following reasons:

  • It requires users to keep current Mode. But human being can't do things simultaneously; a user will lose current Mode. This causes operation error.
  • Even if a program makes a proper feedback of mode, when users are concentrating on their task, they will make a mis-operation.
  • The more the numbers of mode increase, the more users have to remember the meaning of gesture in each mode. This will increase user's effort to use a program.

From the conventional point of view, there is mode in the certain applications such as painting programs. The tool-selection-mode is an established convention in the software industry; therefore we can use it on the condition that a program offers a proper visual feedback.

3.6. Visual Communication
I agree with an economical approach to analyzing human factors in a user interface. (Vicente, 1990) I think a visual layout is a kind of environment, and therefore the description of it as a working domain is important; because the behavior of a user is highly constrained by the environment.

4. Further Study
I plan to study the following subjects:

  • The way to describe an interface as combination of atoms, which are defined as basic unit of interface. This is based on the principle from the statement that "any objects that look the same are the same." (Raskin, 2000, p.102)
  • The method to quantify the quality of a user interface.
  • The mechanism that how GUI and a language can help each other. This is based on the statement that "We need tools that are driven by language and abstraction, not by touch." (Bricken, 2000) I believe that every application program should have a language (i.e. scripting) to communicate with users. A language and a graphical user interface should be reciprocal.

5. Reference
I recommend these books for designing software.

  • Cooper, Alan. About Face: The Essentials of User Interface Design. (Foster City, CA: IDG Books Worldwide, 1995)
    ==> About Face 3: The Essentials of Interaction Design (Paperback) ISBN:0470084111
  • Mullet, Kevin. Sano, Darrell. Designing Visual Interfaces: Communication Oriented Techniques. (Mountain View, CA: SunSoft Press, 1995) ISBN:0133033899
  • Norman, Donald A. The Design of Everyday Things. (New York: Doubleday, 1990) ISBN:0465067107
  • Raskin, Jef. The Humane Interface. (Stoughton, MA: ACM Press, 2000) ISBN:0201379376
  • Vicente, Kim J. "A Few Implications of an Ecological Approach to Human Factors" Human Factors Society Bulletin 33:11, pp.1-4 (Nov. 1990)





Last Updated: Sep. 24, 2004