How people use computing systems, what makes interfaces clear or confusing, why accessibility matters, and how designers build technology that respects the humans who use it
"A computer is only as useful as the person who can use it. Designing for people is not a finishing touch — it is the beginning of the work."
Every computing system is ultimately built for people. A medical app is useless if nurses cannot understand its alerts. A navigation system is dangerous if drivers cannot read it at a glance. A government website fails its purpose if citizens cannot find the information they need. A password manager that is too complicated to set up gets abandoned, leaving accounts unprotected.
Human-Computer Interaction — usually abbreviated HCI — is the field of computer science and design that studies how people use computers and how to build systems that work well for them. HCI asks questions that are partly technical, partly psychological, partly social, and partly ethical: How do people understand interfaces? How do they make mistakes? What makes software feel easy or difficult? How should a system give feedback? Who gets left out when design is thoughtless?
This chapter introduces the core ideas of HCI at a level appropriate for this foundational course. Students will learn what usability means, how interfaces are designed and evaluated, why accessibility is an engineering requirement and not just an afterthought, how input and output methods shape experience, and why ethical design matters. Later courses in web development, software engineering, mobile development, and user experience will build on these foundations in greater depth.
When computer scientists design an algorithm, they think carefully about inputs and outputs, efficiency and correctness. But when a computer scientist builds a system that real people will use, they face an additional set of challenges. People are not machines. People make assumptions. People get confused. People are tired, distracted, or stressed. People have varying levels of experience. People have different physical abilities, languages, cultural backgrounds, and expectations.
A system that is technically correct but practically unusable has failed.
Human-Computer Interaction emerged as a formal field in the 1980s, when personal computers began reaching ordinary users rather than specialists. Early computers required users to memorize exact commands typed at a command line. When software began reaching people who had never programmed, designers realized that the interface — the part of the system the user actually sees and touches — needed to be designed with care.
HCI draws from computer science, cognitive psychology, industrial design, linguistics, sociology, and engineering. It is a broad and growing field because every new platform — the web, smartphones, wearables, voice interfaces, virtual reality, augmented reality — brings new interaction challenges.
Some students assume HCI is about making things look pretty. It is not. Interface design is deeply technical. Good interface design requires understanding how people process information and make decisions, how errors occur and how to prevent them, how to organize information so it can be found quickly, and how to build interfaces that work for people with disabilities.
Poor interface design has caused serious harm. Software with confusing interfaces has contributed to medical errors, aviation accidents, financial losses, and security failures. Nuclear plant operators have misread control panel displays during emergencies. Patients have received wrong medication doses because of ambiguous screens. Voters have selected wrong candidates because of confusing ballot layouts. Good interface design is a safety and ethics issue, not only an aesthetic one.
An interface is the boundary between a system and a user. It is the part of the system that the user sees, hears, touches, or otherwise perceives, and the part through which the user controls the system. A computing interface has at minimum two directions of communication: from user to system (input) and from system to user (output).
| Interface Type | How It Works | Strengths | Limitations |
|---|---|---|---|
| Command-Line (CLI) | Typed text commands; text output | Powerful for experts; scriptable; fast | High learning curve; no built-in guidance |
| Graphical (GUI) | Windows, buttons, menus, icons | Learnable; visual metaphors help | Can be cluttered; slower for experts |
| Touch | Direct finger contact with display | Intuitive for basic gestures; portable | No hover state; less precise; tiring |
| Voice | Spoken commands and dictation | Hands-free; natural language | Noisy environments; accent sensitivity |
| Gesture | Body movement via cameras/sensors | Immersive; hands-free | Fatiguing; calibration required |
A command-line interface accepts typed text commands and returns text output. The user must know the exact commands, their correct spelling, and their syntax. Command-line interfaces are powerful for experts and are still widely used by programmers, system administrators, and data scientists.
A graphical user interface presents visual elements — windows, buttons, menus, icons — that users interact with using a mouse or touch screen. GUIs became widespread in the 1980s and 1990s and remain dominant for personal computers, websites, and smartphones. Visual metaphors help users understand the system: a trash can icon represents deletion, a folder icon represents a container for files.
Many modern systems combine multiple interface types. A smartwatch uses touch, voice, and haptic vibration. A virtual reality headset uses gesture, gaze tracking, and spatial audio. Each interface type has tradeoffs — a good computer scientist understands which interface fits which use case, which users, and which context.
No interface type is universally best. The right choice depends on context of use: who the users are, what tasks they perform, what environment they work in, and what devices they have available.
Usability is the quality of an interface that determines how well users can accomplish their goals efficiently, accurately, and with satisfaction. A usable interface lets users do what they came to do without unnecessary confusion, delay, or error. Usability is not a single property — it is a cluster of related qualities.
Learnability — How quickly can new users learn to perform basic tasks?
Efficiency — Once users know the system, how quickly can they complete tasks?
Memorability — When users return after a break, how quickly do they recover proficiency?
Error rate — How often do users make errors? How severe? How recoverable?
Satisfaction — How pleasant is it to use the system?
These components can trade off against each other. An interface that is highly efficient for experts may be poorly learnable for beginners. An interface that is cautious about errors may slow down experienced users. Designers must understand who their users are and what balance of qualities matters most.
| Failure Mode | Description | Most Common For |
|---|---|---|
| Learnability failure | User cannot figure out how to do something. No visible guidance or path forward. | New users encountering a system for the first time |
| Efficiency failure | User knows how to do something but the system makes it unnecessarily slow or repetitive. | Experienced users doing frequent, routine tasks |
Heuristic evaluation has experts review an interface against a list of established usability principles. This is fast and inexpensive but depends on evaluator expertise and does not test real users. Cognitive walkthrough involves reviewers systematically stepping through tasks, asking at each step whether a user would know what to do. User testing observes real users on real tasks — the most reliable method but requiring participants, time, and careful design. Analytics use behavioral data from deployed systems to reveal usability problems at scale.
| Violation | What Goes Wrong |
|---|---|
| Inconsistency | Different words, icons, or interactions for the same concept in different parts of the system |
| No feedback | System accepts input but gives no visible or audible response; user cannot tell whether anything happened |
| Poor error messages | Vague messages like "Error occurred" with no explanation of what went wrong or how to fix it |
| Buried options | Common actions require navigating through multiple menus; most frequent tasks are hardest to reach |
| Assuming expertise | Technical jargon or abbreviations that most users do not recognize |
| No undo | Users cannot reverse actions; fear of mistakes prevents exploration |
Accessibility in computing means designing systems so that people with disabilities can use them. This includes people who are blind or have low vision, people who are deaf or hard of hearing, people who have motor impairments that affect how they use a mouse or keyboard, and people who have cognitive disabilities that affect how they process information.
Accessibility is not a bonus feature. In many countries, digital accessibility is a legal requirement for government websites and services. More importantly, it is an ethical requirement. A hospital patient portal that a blind patient cannot use, a government form that a user with tremors cannot complete, an emergency alert system that a deaf user cannot receive — these are failures of design that have real consequences for real people.
Curb cuts — the small ramps cut into sidewalks at intersections — were originally designed to help people using wheelchairs. But curb cuts also help people pushing strollers, people with wheeled luggage, cyclists dismounting, and elderly people with difficulty stepping up and down. The same pattern appears repeatedly in computing.
The Web Content Accessibility Guidelines (WCAG) are an international standard organized around four principles:
| Principle | Meaning | Example |
|---|---|---|
| Perceivable | Information must be presentable through senses available to each user | Images must have alt text for screen readers |
| Operable | Interface components must be operable by all users | All functions must work with keyboard only, not just mouse |
| Understandable | Information and operation must be understandable | Error messages written in plain language |
| Robust | Content must work across diverse technologies including assistive tools | Well-structured HTML that screen readers can parse correctly |
| Problem | Who Is Affected | Solution |
|---|---|---|
| Missing alt text on images | Blind users, users with images disabled | Add descriptive alt text to every meaningful image |
| Color as the only signal | Color-blind users (~8% of men) | Always combine color with a second signal: icon, label, or pattern |
| Low color contrast | Low vision users, elderly users, bright-light environments | Meet WCAG contrast ratio minimums (4.5:1 for body text) |
| Keyboard traps | Users navigating by keyboard only | Ensure all elements are reachable and exitable via keyboard |
| Unlabeled form fields | Screen reader users | Associate explicit labels with every input element |
| Inaccessible custom controls | Assistive technology users | Use ARIA roles and states to communicate element type and status |
Accessibility problems are often introduced by developers who test only with a mouse and a visual display. Building accessibility in from the start is far easier and less expensive than adding it after launch.
An affordance is a property of an object that suggests how it should be used. In computing, affordances work through visual design. A button that looks three-dimensional and raised affords clicking. A text field with a blinking cursor affords typing. A link styled in a distinct color and underline affords clicking.
Perceived affordances are what users think they can do with an element. Real affordances are what they actually can do. When these diverge, confusion follows. A button that looks like plain text will be missed by users who do not know it is clickable. A decorative element that looks like a button will be clicked by users who think it does something.
An anti-affordance signals that an action is not available. A grayed-out button communicates unavailability. A lock icon communicates restricted access. Anti-affordances prevent users from attempting actions that will fail.
Feedback is information the system provides in response to a user's action. Without feedback, users cannot tell whether their action was received, whether it succeeded, or what to do next. Good feedback is immediate, informative, proportionate, and recoverable.
| Action | Good Feedback | Poor Feedback |
|---|---|---|
| Clicking Submit | Button changes appearance; spinner appears; success message shown | Nothing changes; user clicks again |
| File upload | Progress bar; filename displayed; confirmation on complete | No indication of progress or completion |
| Error in form | Specific field highlighted; plain-language explanation shown | Generic "Form submission failed" message |
| Slow network | Loading indicator with estimated time | Blank screen with no explanation |
Mapping is the spatial or conceptual relationship between controls and their effects. A stove where the left burner is controlled by the rightmost knob has poor mapping. An interface where clicking the left arrow moves the view to the right has poor mapping. Good mapping makes the relationship between action and effect intuitive.
| Method | Description | Best Context |
|---|---|---|
| Keyboard | Text and commands; supports powerful shortcuts | Text entry, expert workflows |
| Mouse / Trackpad | Pointing, clicking, dragging; precise selection | Visual navigation, design work |
| Touch Screen | Direct finger contact; gesture-based | Mobile, casual, public kiosks |
| Stylus / Pen | Precise drawing and handwriting | Digital art, annotation, note-taking |
| Voice | Spoken commands and dictation | Hands-free, accessibility |
| Camera / Gesture | Detects hand, body, or facial movement | Gaming, VR, accessibility |
| Eye Tracking | Tracks gaze direction | Severe motor impairment, research |
| Sensors | Accelerometer, GPS, biometrics | Mobile devices, embedded systems |
| Method | Description | Notes |
|---|---|---|
| Visual Display | Screen presenting text, images, video, interaction elements | Most common; affected by resolution, color, brightness |
| Audio | Speakers and headphones; speech, sound effects, alerts | Essential for voice interfaces and screen readers |
| Haptic | Vibration, texture, or force feedback through physical contact | Fast-growing in mobile and wearable devices |
| Printer | Physical paper output; creates irreversible, persistent record | Appropriate for formal documents; cannot be undone |
The best input and output methods depend on context of use — the environment (lighting, noise, motion), the user population (age, ability, experience), the tasks (precision required, frequency, stakes), and available devices. A surgeon with gloved hands cannot touch a screen or type. A truck driver in rain needs eyes on the road. Always design for the real context, not an ideal one.
Visual design in software is not decoration — it is functional communication. The visual arrangement of an interface directly affects whether users understand the system, find what they need, and avoid errors. Computer scientists who understand visual design make better software decisions and evaluate interfaces more accurately.
| Principle | What It Means | Why It Matters |
|---|---|---|
| Hierarchy | Larger, bolder, higher-contrast elements receive attention first | Guides the eye to important information and primary actions |
| Proximity | Elements near each other appear related; separated elements appear distinct | Grouping related controls reduces confusion about their relationship |
| Alignment | Consistent alignment creates visual order | Misaligned elements create noise and suggest lack of care |
| Contrast | Differences in color, size, or weight draw attention | Also an accessibility requirement for text readability |
| Consistency | Same visual language throughout — same colors, layouts, typography | Users learn the system once and apply that knowledge everywhere |
| Whitespace | Space between and around elements reduces clutter | Improves readability and separates distinct elements |
| Color | Communicates meaning, creates mood, directs attention | Must never be the only signal — combine with icons or labels |
| Typography | Font, size, line length, and spacing all affect readability | Body text must be large enough to read without strain |
Information architecture is the organization and labeling of content in a system so that users can navigate and find information. Poor information architecture is one of the most common usability problems in large websites and applications: users cannot find what they need because content is organized according to the organization's internal structure rather than users' mental models.
User testing is the process of observing real users attempt real tasks with a system in order to identify usability problems, measure performance, and gather qualitative observations about experience. User testing is one of the most valuable activities in interface design because it reveals problems that experts miss. Designers and developers are too familiar with their own systems — they know where everything is and why every decision was made. Real users have none of this knowledge.
1. Define goals — What questions are you trying to answer?
2. Recruit participants — Represent the actual intended users; 5–8 participants often reveal most significant problems.
3. Design tasks — Write realistic tasks in plain language without clues about where to find features.
4. Run sessions — Participants attempt tasks; use think-aloud protocol.
5. Do not help — Helping defeats the purpose; observe what happens when users encounter the real system.
6. Collect data — Measure completion rates, time on task, error rates, satisfaction.
7. Analyze and report — Prioritize problems by frequency and severity.
8. Iterate — Revise and test again; usability testing is most valuable done early and often.
In the think-aloud protocol, participants narrate what they are thinking as they work. This provides insight into their mental model, not only their observable behavior. When participants struggle, observers record what happened without intervening — that struggle is valuable data.
A/B testing compares two interface versions simultaneously, measuring outcomes statistically. It is useful for comparing specific decisions at scale but cannot explain why users behave differently, only that they do.
The most important lesson of user testing is consistent: users are not wrong when they struggle. The interface is wrong.
Navigation labels that make sense to developers but confuse users. Forms missing essential guidance. Error messages users cannot interpret. Features users cannot find despite extensive searching. Assumptions about user knowledge that are simply wrong. Tasks completed in an unexpected sequence. These are the insights that make software better.
Assistive technology is any technology that helps people with disabilities access, use, and benefit from computing systems. When a computing system is designed accessibly, assistive technology can interact with it effectively. When a system is not designed accessibly, assistive technology cannot help — no screen reader can describe an image that has no alt text.
A screen reader is software that reads the content of the screen aloud, allowing users who are blind or have low vision to use a computer or smartphone. Screen readers read text, describe interface elements, announce what type of element something is (button, link, heading, image), and speak error messages. Widely used screen readers include NVDA and JAWS for Windows, VoiceOver for Apple devices, and TalkBack for Android.
Many users cannot use a mouse or touch screen due to motor impairments. They navigate entirely using a keyboard or a simplified input device called a switch. A keyboard-accessible interface allows users to navigate through interactive elements using the Tab key, activate elements using Enter or Space, and exit components using Escape. The visual focus indicator — a highlight showing which element currently has keyboard focus — must always be visible. Switch access reduces input to one or two switches, cycling through options for users with severe motor impairments.
Captions are text versions of audio content synchronized with video — essential for deaf and hard-of-hearing users and extremely helpful for anyone watching without sound. Automatic caption generation has improved significantly, but automated captions have higher error rates than human-written captions, especially for technical vocabulary and non-standard accents.
Cognitive accessibility addresses users with cognitive disabilities including dyslexia, attention-related differences, and memory difficulties. Cognitive accessibility benefits from plain language, short sentences, consistent layouts, ample time for tasks, clear error messages, and multiple formats for the same information. Cognitive accessibility is an active area of research and advocacy.
Interface design has ethical dimensions. The choices designers make about how to present information, what options to offer, how to direct attention, and what to make easy or difficult affect how people behave, what they consent to, and who benefits. An ethical interface respects users. An unethical interface manipulates them.
Dark patterns are interface designs that manipulate users into doing things they did not intend or would not choose if fully informed. Dark patterns exploit cognitive biases, create misleading visual hierarchies, and abuse the user's tendency to follow the path of least resistance.
The "decline" option is written to make users feel bad for exercising their right to decline. This is manipulation, not communication.
Easy to enter, deliberately difficult to exit. This pattern exploits friction asymmetry — the system makes one path easy and the other unnecessarily hard.
Displaying a low price early and adding costs only at the final step exploits the sunk-cost tendency — users who have invested time are more likely to complete the purchase.
Users who provided payment information during signup and forgot to cancel are charged. The system's design benefits from user forgetting rather than serving user intent.
Dark patterns are increasingly illegal in some jurisdictions. Regulatory agencies have begun investigating and fining companies that use dark patterns in privacy consent interfaces, subscription services, and e-commerce.
Not all persuasion is manipulation. Persuasive technology uses design to encourage behavior change — reminders to take medication, prompts to exercise, notifications to review work before submission. The ethical line is intent and transparency. Persuasive design that helps users achieve their own goals, that is transparent about its purpose, and that respects the user's ability to opt out is ethically defensible. Persuasive design that serves the designer's goals at the expense of the user's wellbeing, or that exploits cognitive vulnerabilities, is not.
Inclusive design is an approach that considers the full range of human diversity — ability, age, language, culture, economic situation, and experience — from the beginning of the design process. Inclusive design treats disability as a mismatch between user needs and system capabilities, not a characteristic of the person. It may mean providing multiple ways to accomplish a task, ensuring the main path works for the widest possible range of users, and making it possible for users to adapt the system to their own needs.
As a computer scientist, you will make interface design choices. Understanding the ethical dimensions of those choices is part of professional responsibility.
USER
│
│ Forms intention
│
▼
ACTION
│
│ Provides input
│ (click, type, speak, touch)
│
▼
SYSTEM
│
│ Processes input
│ Produces output
│
▼
FEEDBACK
│
│ User perceives result
│ (visual, audio, haptic)
│
▼
USER
│
│ Evaluates outcome
│ Forms next intention
│
└── (cycle continues)
INTERFACE TYPE │ LEARNING CURVE │ EFFICIENCY (EXPERTS) │ BEST FOR
──────────────────┼────────────────┼──────────────────────┼──────────────────────────
Command-line │ High │ Very high │ Technical users, scripting
Graphical (GUI) │ Low to medium │ High │ General-purpose computing
Touch │ Very low │ Medium │ Mobile, casual, children
Voice │ Low │ Medium │ Hands-free, accessibility
Gesture │ Medium │ Medium │ Gaming, immersive systems
PERCEIVABLE ─────── Users can receive all information through available senses
│ → alt text for images, captions for video, sufficient contrast
│
OPERABLE ─────────── Users can operate all controls and navigate all content
│ → keyboard access, no seizure-triggering content, enough time
│
UNDERSTANDABLE ───── Content and operation can be understood
│ → readable text, predictable behavior, helpful error messages
│
ROBUST ───────────── Content works across diverse technologies including assistive tools
→ valid markup, semantic structure, named roles and states
Identify the accessibility problem with this HTML. How should it be corrected?
What is wrong with this approach? How does it affect the validity of the results?
Identify which dark pattern this represents. Why is it problematic? Who is harmed?
Which accessibility requirement does this violate? Which users are most affected? What is the fix?
Why does this A/B test result not mean Design B is the more ethical or truly usable choice?
Chapter 24 moves from screens and interfaces to computing systems that interact with the physical world. Students will learn how computers sense, decide, and act — through sensors, actuators, control systems, feedback loops, robotics, and embedded microcontrollers. The HCI ideas from this chapter reappear in physical form: an autonomous vehicle's interaction with pedestrians is an interface design problem. A factory robot's safety system is a usability and reliability problem. Physical computing raises all of the same fundamental questions about how systems interact with people, but answers them through motors, sensors, and real-time control rather than screens and keyboards.