Human Computer Interaction

From Computer Science Wiki
Jump to: navigation, search
Human Computer Interaction[1]

Human–computer interaction (HCI) researches the designProduce a plan, simulation or model. 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 designProduce a plan, simulation or model. 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

DesignProduce a plan, simulation or model. principles

  1. Discoverability
    1. When the user doesn't know what to do, they should be easily able to figure out what to do without reading a manual.
  2. Feedback
    1. Norman writes: feedback must be immediate. Feedback must be informative. Poor feedback is worse than no feedback at all.
  3. Constraints
    1. Constraints prevent something from happening. Physical (3 pronged plug), cultural (traditions), semantic, logical are Norman's constraints.
  4. Mapping
    1. Follow real-world conventions making information appear in a natural and logical order.
  5. Consistency
    1. Consistency is virtuous. If a new way of doing things is only slightly better than the old, it is better to be consistent.
  6. Affordance
    1. The designProduce a plan, simulation or model. of a thing hints at (or affords) how it is supposed to be used. An object with an affordance tells the user how it supposed to be used.
  7. Structure
    1. we should organize UI to match the actual task.
    2. The overall architecture. DesignProduce a plan, simulation or model. should organize the user interface purposefully, in meaningful and useful ways.
  8. Simplicity
    1. UseApply knowledge or rules to put theory into practice. of the designProduce a plan, simulation or model. is easy to understand, regardless of different experiences, levels of knowledge, different languages.
  9. Tolerance
    1. Reduce the cost of mistakes. Users should not be able to get themselves into trouble. Classic examples are UNDO and REDO.
  10. Equity
    1. All users should have the same experience
  11. Flexibility
    1. DesignProduce a plan, simulation or model. should accommodate a wide range of individual preferences and abilities
  12. Perception (perceptibility)
    1. The system should always keep the users informed.
  13. Ease and Comfort
    1. DesignProduce a plan, simulation or model. can be used efficiently and comfortably and with a minimum of fatigue. Comfort size and space is provided for approach, reach, manipulation and use
  14. Documentation
    1. One goal of usable designProduce a plan, simulation or model. is to avoid documentation all together.

General ideas about DesignProduce a plan, simulation or model.

  • focus on users and tasks (not on tools and interfaces)
  • roles of the interface (mediates)
  • different 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

The goal of human computer interaction is to designProduce a plan, simulation or model. something useful and usable

Different Roles humans can play in a HCI

Process

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

We want to be able to predictGive an expected result of an upcoming action or event. 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

In some environments, we are interested in the contextThe circumstances that form the setting for an event, statement, or idea, and in terms of which it can be fully understood and assessed. of what else is going around the user. What is competing for their cognitive attention? We evaluateAssess the implications and limitations; make judgments about the ideas, works, solutions or methods in relation to selected criteria. participant role using "in situ" studies. From the psychology point of view, this is like functionalism (emphasize within contextThe circumstances that form the setting for an event, statement, or idea, and in terms of which it can be fully understood and assessed.). Participant role looks at the interaction within the contextThe circumstances that form the setting for an event, statement, or idea, and in terms of which it can be fully understood and assessed. or environment within the contextThe circumstances that form the setting for an event, statement, or idea, and in terms of which it can be fully understood and assessed. of a larger more complex system. A quote "we can't disentangle behavior from environment". [3]

Mental Models

  • A mental model is a person's understanding of the way something in the real world works.
  • When something doesn't work the way we think it should work, it frustrates us.
  • When you are designing an interface, think like an educator; your goal is to teach the user how the system works through the designProduce a plan, simulation or model. of your interface.
  • You have to teach you users AS they are using the interface.
  • We want to match out uI to mental models.
  • Here are 5 tips:
  1. Predictability
  2. Synthesizability
  3. Familiarity
  4. Generalizability
  5. Consistency (similar tasks should be consistent)

Slips and Mistakes

Any user error is a failure of the interface to guide the user.

  • Slips occur when the user has the right mental model, but does the wrong thing anyway.
    • Action-based slips are places where the user does the wrong thing
    • Memory Lapse slip forgets something they need to do (they knew what to do but forgot to do it)
  • Mistakes occur when the user has the wrong mental model and does the wrong thing as a result.
    • Rule-based mistake when user makes the wrong decision
    • Knowledge-based mistakes occurs when the user incorrectly assesses the stateGive a specific name, value or other brief answer without explanation or calculation.
    • Memory-lapse mistake forget to fully executing a plan

Feedback Cycles

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

  • 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. IdentifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. Intentions
    1. users need to be able what they want to do
    2. users need to think of their goals in contextThe circumstances that form the setting for an event, statement, or idea, and in terms of which it can be fully understood and assessed. of the existing system
  2. IdentifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. Actions
    1. users must identifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. 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

  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

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

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

Direct manipulation

Direct manipulation is a principal the user should feel they are directly interacting with their task.

  1. Direct manipulation was born from desktop metaphor (moving files and folders)
  2. Files and folders are meant to mimic files and folders in real life
    1. prior to GUI's we had the command line, which is horrible.

There are some principals of direct manipulation:

  1. Distance: the distance between the users goals and the system itself.
    1. semantic distance refers to the distance between a users goals and the expression in the ion the system (how do you know what to do)
    2. articulatory distance (how hard is it to do what you know how to do)

Invisible interfaces

The interface actually disappears, the user doesn't think about their task.


Research methods

The goal of designing a new interface is to meet the needs of the user better than the existing designProduce a plan, simulation or model.. We almost always designProduce a plan, simulation or model. to improve existing designs.

User-centered designProduce a plan, simulation or model.

User centered designProduce a plan, simulation or model. considers the needs of the user throughout the entire designProduce a plan, simulation or model. process. Sadly, designProduce a plan, simulation or model. is often done to serve functional specification of what the tool must accomplish. Remember: you are not your user. You don't know your user needs. You need to involve your users in every step of the process.

  1. You have to interact with users
  2. You have to understand their needs
  3. You have to involve them in the evaluation.

Principles of User Centered DesignProduce a plan, simulation or model.

  1. The designProduce a plan, simulation or model. is based upon an explicit understanding of users, tasks, and environments
  2. Users are designed throughout designProduce a plan, simulation or model. and development
  3. The designProduce a plan, simulation or model. is driven and refined by user-centered evaluation
  4. The process is iterative
  5. The designProduce a plan, simulation or model. addresses the whole user experience
  6. The designProduce a plan, simulation or model. includes multidisciplinary skills and perspectives

Stakeholders

A user is a person who uses the interface we have created. The main user (who directly uses our interface) is called a primary stakeholder. Secondary stakeholders might interact with output in some way. Tertiary stakeholders are impacted by the existence of the tool.

In user-centered designProduce a plan, simulation or model., we need to consider all stakeholders.

The DesignProduce a plan, simulation or model. Life Cycle

  1. Needfinding
    1. In needfinding we get a comprehensive idea of the task the user needs to perform
    2. common techniques here:
      1. Interviews
      2. Surveys
      3. Naturalistic observation
  2. DesignProduce a plan, simulation or model. alternatives
    1. It's important to designProduce a plan, simulation or model. multiple views to avoid getting stuck into one idea to soon
    2. common techniques here:
      1. Brainstorming
      2. Personas
      3. Storyboards
  3. Protyping
    1. common techniques here:
      1. Paper prototypes
      2. Wireframing
      3. Wizard of Oz
  4. Evaluation
    1. common techniques here:
      1. Qualitative
      2. Empirical
      3. Predictive



References