Human Computer Interaction: Difference between revisions
Mr. MacKenty (talk | contribs) |
Mr. MacKenty (talk | contribs) |
||
Line 13: | Line 13: | ||
## When the user doesn't know what to do, they should be easily able to figure out what to do without reading a manual. | ## When the user doesn't know what to do, they should be easily able to figure out what to do without reading a manual. | ||
# Feedback | # Feedback | ||
## | ## | ||
# Constraints | # Constraints | ||
# Mapping | # Mapping | ||
# Consistency | # Consistency | ||
# Affordance | # Affordance | ||
## The design 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. | |||
# Structure | # Structure | ||
# Simplicity | # Simplicity | ||
## Use of the design is easy to understand, regardless of different experiences, levels of knowledge, different languages. | |||
# Tolerance | # Tolerance | ||
# Equity | # Equity | ||
Line 27: | Line 29: | ||
# Comfort | # Comfort | ||
# Documentation | # Documentation | ||
=== General ideas about Design === | === General ideas about Design === |
Revision as of 21:00, 26 September 2018
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]
- Discoverability
- When the user doesn't know what to do, they should be easily able to figure out what to do without reading a manual.
- Feedback
- Constraints
- Mapping
- Consistency
- Affordance
- The design 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.
- Structure
- Simplicity
- Use of the design is easy to understand, regardless of different experiences, levels of knowledge, different languages.
- Tolerance
- Equity
- Flexibility
- Perception
- Ease
- Comfort
- Documentation
General ideas about Design[edit]
- 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[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:
- we do something
- we see the result
- 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?"
- Identify Intentions
- users need to be able what they want to do
- users need to think of their goals in context of the existing system
- Identify Actions
- users must identify what actions to take to meet their goal
- Execute in Interface
- users must actually push buttons, choose menu elements, and make the task happen
- users must know how to use the system
5 tips for bridging the gulf of execution[edit]
- make functions discoverable (ideally the functions should be discoverable)
- let the user mess around
- be consistent with other tools
- know your user (novice users vs expert users)
- 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.
- interface output (message, buzz, vibrate, etc)
- interpretation (can the user understand what the interface is trying to say?
- evaluation (can the user say they have met their goals)
5 tips for gulf of evaluation[edit]
- give feedback constantly
- give feedback immediately
- match the feedback to the action
- vary your feedback
- leverage direct manipulation
Direct manipulation[edit]
Direct manipulation is a principal the user should feel they are directly interacting with their task.
- Direct manipulation was born from desktop metaphor (moving files and folders)
- Files and folders are meant to mimic files and folders in real life
- prior to GUI's we had the command line, which is horrible.
There are some principals of direct manipulation:
- Distance: the distance between the users goals and the system itself.
- 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)
- articulatory distance (how hard is it to do what you know how to do)
Invisible interfaces[edit]
The interface actually disappears, the user doesn't think about their task.
Research methods[edit]
The goal of designing a new interface is to meet the needs of the user better than the existing design. We almost always design to improve existing designs.
User-centered design[edit]
User centered design considers the needs of the user throughout the entire design process. Sadly, design 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.
- You have to interact with users
- You have to understand their needs
- You have to involve them in the evaluation.
Principles of User Centered Design[edit]
- The design is based upon an explicit understanding of users, tasks, and environments
- Users are designed throughout design and development
- The design is driven and refined by user-centered evaluation
- The process is iterative
- The design addresses the whole user experience
- The design includes multidisciplinary skills and perspectives
Stakeholders[edit]
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 design, we need to consider all stakeholders.
The Design Life Cycle[edit]
- Needfinding
- In needfinding we get a comprehensive idea of the task the user needs to perform
- common techniques here:
- Interviews
- Surveys
- Naturalistic observation
- Design alternatives
- It's important to design multiple views to avoid getting stuck into one idea to soon
- common techniques here:
- Brainstorming
- Personas
- Storyboards
- Protyping
- common techniques here:
- Paper prototypes
- Wireframing
- Wizard of Oz
- common techniques here:
- Evaluation
- common techniques here:
- Qualitative
- Empirical
- Predictive
- common techniques here:
References[edit]
- ↑ http://www.flaticon.com/
- ↑ https://en.wikipedia.org/wiki/Human%E2%80%93computer_interaction
- ↑ I have no idea who said this