HCI Flashcards
What do we have to take into account in HCI?
every element of the human, from the way they perceive and interact with the world, to their long history of using computers and technology
What application has turned the entire world into basically an instance of HCI?
augmented reality
How should we think about HCI?
the human interacting with the task, through the computer. The interaction is really between the human and the task and the computer in the middle just mediates that interaction. Or to put this differently, the human and the computer together, interact with the task
Good example of interface becoming invisible
Video games - actions on controller match screen, user feels like they’re in the game world
Example of interface being more visible than it should
Multiple remotes to turn on audio, video, etc. for the task of watching TV
What is HCI relative to similar fields?
Industrial design, HCI, and product design all fall under Human Factors Engineering
Under HCI, you have UI design, UX design, and Interaction design
At the top, Human Factors Engineering is fed into by Engineering and Psychology
HCI vs User experience design
- HCI is largely about understanding the interactions between humans and computers. User experience design is about dictating the interactions between users and computers. In order to design user experiences very well, you need to understand the user, you need to understand their interactions with interfaces.
* And that’s why I personally consider user experience design to be a subfield of the broader area of HCI.
What’s important to do when you pursue HCI?
Leave behind what you know.
Why is HCI so important nowadays?
A few years ago, you wouldn’t have found computers in refrigerators and wristwatches, but as microprocessors became cheaper and as the world became increasingly interconnected, computers are becoming more and more ubiquitous. We now have ubiquitous computing.
Context-sensitive computing
Equipping user interfaces with historical, geographical, or other forms of contextual knowledge
Information visualization
- Computers give us a powerful way to represent data in complex, interactive ways
- What’s particularly notable about data visualization and HCI is the degree with which it fits perfectly with our methodologies for designing good interfaces:
- Match the user’s mental model with the reality of the task at hand. In the same way, the goal of information visualization is to match the reader’s mental model of the phenomenon to the reality of it.
- What’s particularly notable about data visualization and HCI is the degree with which it fits perfectly with our methodologies for designing good interfaces:
CSCW
Computer-supported cooperative work
* Help things like distributed teams * Community is usually designed in terms of time and place. This course is different time, different place. * Things like Slack and Hipchat would be examples of same time, different place. * Kiosk at a museum asking users to enter their hometown would be different time, same place. * Video production (of this class for example) is example of same time, same place. * CSCW mediates cooperation across traditional geographic or temporal borders, but can also help us with co-located simultaneous cooperation.
Social computing
Recreating social norms within social computing
Special needs domain
- One of the most exciting application areas for HCI is in helping people with special needs. Computing can help us compensate for disabilities, injuries, aging.
* Of course, part of that is engineering, part of it is neuroscience. But it’s also important to understand how the person intends to use such a limb in the tasks they need to perform. That’s HCI intersecting with robotics.
5 tips for identifying a task
- Watch real users. Don’t just speculate and brainstorm. Get out there and watch them.
- Talk to them! You don’t have to just watch them. Recruit participants and have them talk their way through it.
- Start small. Look at individual little interactions. Don’t interpret things you see in terms of what you already believe.
- Abstract up. Working from those small observations, try to abstract up to your understanding of the task that they’re trying to complete. Keep asking why they’re performing these actions until you get beyond the scope of your design.
- You are not your user. Even if you regularly perform the task for which you’re designing, you’re not designing for just you. You’re designing for everyone who performs the task, so leave behind your own preconceived notions and previous experiences about it.
3 views of the user
processor, predictor, and participant
Requirements, evaluations, pro’s, and con’s of each:
Processor: fit within human limits, quantitative experiments, objective comparisons (may use existing data), expert-focused, what (not why), optimize (not redesign)
Predictor: Fit within user’s knowledge, qualitative studies, Fuller picture and may target novices, Expensive to analyze, prone to biases, ignores context
Participant: Fit within usage context, in-situ (real-world) studies, authentic context and faithful user attention, Expensive to perform, needs real interfaces, subject to interference
Ex situ
In a controlled or otherwise inauthentic environment
In situ
Within the authentic context
Design is like weather
it’s never not there, but it can be good or unnoticeable, or bad and interfere with what you’re trying to do
Feedback cycles
the way in which people interact with the world, and then get feedback on the results of those interactions.
Gulf of execution
distance between a user’s goals and the execution of the actions required to realize those goals
Gulf of evaluation
the distance between the effects of those actions and the user’s understanding of those results
Feedback cycles are everywhere
- Feedback cycles are incredibly ubiquitous, whether or not there’s a computational interface involved. Everything from reading to driving a car to interacting with other people could be an example of a feedback cycle in action.
- They’re how we learn everything, from how to walk to how to solve a Rubik’s cube to how to take the third order partial derivative of a function. We do something, we see the result, and we adjust what we do the next time accordingly.
- You may have even seen other examples of this before, too. If you’ve taken Ashok’s and mine knowledge-based AI class, we talk about how agents are constantly interacting with, learning from, and affecting the world around them. That’s a feedback cycle.
5 Tips for bridging the gulf of execution:
- Make functions discoverable. Imagine a user is sitting in front of your interface for the very first time. How would they know what they can do? Do they have to read the documentation, take a class? Ideally the functions of the interface would be discoverable, meaning that they can find them clearly labelled within the interface.
2. Let the user mess around. You want your user to poke around and discover things so make them feel safe in doing so. Don’t include any actions that can’t be undone, avoid any buttons that can irreversibly ruin their document or setup. That way the user will feel safe discovering things in your interface.
3. Be consistent with other tools. We all want to try new things and innovate, but we can bridge gulfs of execution nicely by adopting the same standards that many other tools use. Use CTRL+C for copy and CTRL+V for paste. Use a diskette icon for save even though no one actually uses floppy disks anymore. This makes it easy for users to figure out what to do in your interface.
4. Know your user. The gulf of execution has a number of components, identifying intentions, identifying the actions to take, and taking the actions. For novice users, identifying their intentions and actions are most valuable, so making commands discoverable through things like menus is preferable. For experts though, actually doing the action is more valuable. That’s why many experts prefer the command line. Although it lacks many usability principles targeted at novices, it’s very efficient.
5. Feed forward. We’ve talked about feed back, which is a response to something the user did. Feed forward is more like feed back on what the user might want to do. It helps the user predict what the result of an action will be. For example, when you pull down the Facebook newsfeed on your phone, it starts to show a little refresh icon. If you don’t finish pulling down, it doesn’t refresh. That’s feedforward, information on what will happen if you keep doing what you’re doing.