Human Computer Interaction

From Computer Science Wiki
Human Computer Interaction[1]

Human–computer interaction (HCI) researches the design and use of computer technology, focused on the interfaces between people (users) and computers. Researchers in the field of HCI both observe the ways in which humans interact with computers and design technologies that let humans interact with computers in novel ways. [2]

For now (August 2018), this page is a collection of my notes from my graduate class, which I will build upon and share with my students. The structure of this information is "note-taking, not ready for structured learning by students". Just to be 100% clear, these ideas ARE NOT MINE, but the notes are. 

The big ideas in HCI[edit]

Design principles[edit]

  • focus on users and tasks (not on tools and interfaces)
  • roles of the interface (mediates)
  • differnet views of users role
  • user experience at several different levels

We need to understand the users goals and the task they are trying to accomplish. Understanding the task is really important, more so than thinking about the interface. By focusing on task rather than interface we can come up with revolutionary interface.

There are important considerations when identifying a task:

  • Watch real users
  • Talk to users through a task (goals motives)
  • Talk small - talk about the individual interaction
  • Abstract up to an understanding of why they are doing something Continually ask "why" a user is doing something.
  • Always remember you are not your user - you aren't designing for you. Leave behind your experience


Goal of HCI[edit]

The goal of human computer interaction is to design something useful and usable

Different Roles humans can play in a HCI[edit]

Process[edit]

Take input in and spit output out - main concern fits into known human (is the interface physically usable) limits. From the psychology point of view this is a behaviorist view of humans. What designs create the right behaviors (testing observable behaviors)?

Predictor[edit]

We want to be able to predict what will happen in the world as a result of an action they take. The interface must fit with what humans know. It must fit with what they already know, and leverage what they already know (use qualitative data to understand). From the psychology point of view, this is like a cognitivism (perception, attention memory, etc). We care about what the human is thinking. Predicting is a mental process, the user is doing the predicting.

Partcipant[edit]

In some environments, we are interested in the context of what else is going around the user. What is competing for their cognitive attention? We evaluate participant role using "in situ" studies. From the psychology point of view, this is like functionalism (emphasize within context). Participant role looks at the interaction within the context or environment within the context of a larger more complex system. A quote "we can't disentangle behavior from environment". [3]


Feedback Cycles[edit]

Perhaps the MOST important idea in HCI. Feedback Cycles are how we learn anything:

  1. we do something
  2. we see the result
  3. we adjust what we do the next time accordingly

We could say a feedback cycle is analogous to intelligence (getting better over time).

When we think about feedback in terms of HCI, we are reminded users get a task done through an interface.

Gulf of execution[edit]

  • Can be defined as "how do I know what I can do?" or "How hard is it to do what I want to accomplish?"
  1. Identify Intentions
    1. users need to be able what they want to do
    2. users need to think of their goals in context of the existing system
  2. Identify Actions
    1. users must identify what actions to take to meet their goal
  3. Execute in Interface
    1. users must actually push buttons, choose menu elements, and make the task happen
    2. users must know how to use the system

5 tips for bridging the gulf of execution[edit]

  1. make functions discoverable (ideally the functions should be discoverable)
  2. let the user mess around
  3. be consistent with other tools
  4. know your user (novice users vs expert users)
  5. feedforward (tell the user what might happen)

Gulf of evaluation[edit]

The task must communicate through the interface to the user what it has done.

  1. interface output (message, buzz, vibrate, etc)
  2. interpretation (can the user understand what the interface is trying to say?
  3. evaluation (can the user say they have met their goals)

5 tips for gulf of evaluation[edit]

  1. give feedback constantly
  2. give feedback immediately
  3. match the feedback to the action
  4. vary your feedback
  5. leverage direct manipulation

References[edit]