Human-Computer Interaction (HCI) is a multidisciplinary field focused on the design and use of computer technology, particularly the interfaces between people (users) and computers. The goal of HCI is to create systems that are efficient, effective, and satisfying for users.
User-Centered Design: Designing systems with the needs, preferences, and limitations of end-users in mind.
Consistency: Ensuring that similar operations and elements behave in similar ways across the system to reduce the learning curve.
Feedback: Providing users with clear and immediate feedback on their actions to help them understand the results of their interactions.
Affordance: Designing elements in a way that suggests their functionality (e.g., buttons should look clickable).
Error Prevention and Recovery: Designing systems to minimize the chances of user errors and providing easy ways to recover from them.
Flexibility and Efficiency of Use: Allowing users to customize their interactions and providing shortcuts for experienced users.
Aesthetic and Minimalist Design: Keeping interfaces clean and uncluttered to avoid overwhelming users with unnecessary information.
Universal accessibility refers to the design of products, devices, services, or environments for people with disabilities. The goal is to ensure that everyone, regardless of their abilities or disabilities, can access and use technology effectively.
Perceivable: Information and user interface components must be presented in ways that users can perceive, regardless of their sensory abilities (e.g., providing text alternatives for images).
Operable: User interface components and navigation must be operable by all users, including those with motor impairments (e.g., ensuring that all functionality is available from a keyboard).
Understandable: Information and the operation of the user interface must be understandable to all users (e.g., using clear and simple language).
Robust: Content must be robust enough to be interpreted reliably by a wide variety of user agents, including assistive technologies (e.g., ensuring compatibility with screen readers).
User Experience (UX) design focuses on enhancing user satisfaction by improving the usability, accessibility, and pleasure provided in the interaction between the user and the product.
Good UX design considers the entire user journey, from initial contact to final interaction.
📚 📝 The User Experience: A detailed look at the components of user experience design.
This framework helps designers understand the different aspects of user experience and how they interrelate.
Plan your project so that work on each plane is completed before moving to the next.
🤔 When the Web started, there were two groups of people: one saw Web pages as documents (and applied principles from traditional media such as publishing), the other saw them as applications (and applied principles from desktop applications).
A diagram of the process can be found here.
🧩 🚀Video on HCI prototyping Stanford
Protyotyping grounds communication.
Communicating to stakeholders.
🧩🚀 Concept Serves as a common ground.
🤔❓ Example: Kodak built a quick prototype to show what a digital camera can do.
It is incomplete. It is like a sketch.
Buxton Sketching User Experiences book.
The number of possibilities narrows as time goes on. This is shown in the figure below:


🧩🚀 Concept Try lots of different ideas quickly.
Cost of change increases as time goes on.
Biggest changes should be made early.
🎮🛠️ Listen to this great TEDx talk by Scott Klemmer
Never go to a meeting without a prototype
🧩🚀 Prototypes are like postcards from the future
How are users going to use the system?
Usability studies involve observing and analyzing how real users interact with a product or system to identify usability issues and areas for improvement.
Alan Kay prototyped the Dynabook concept in the 1970s. He built a physical model to demonstrate the idea of a portable computer for learning.

Field started with Vannevar Bush’s 1945 article “As We May Think” in The Atlantic Monthly.
🤔❓Memex concept: a personal device to store and retrieve information using associative links. All the world’s knowledge stored and accessed easily. Remind you of something?
🧩🚀 Concept You could use machines to extend the power of the human mind.
Analog device designed to serve as a mechanized extension of human memory.
Desk-like workstation equipped with translucent screens and microfilm storage. The device was intended to house a user’s entire personal library of books, records, and communications, providing a solution to the “information explosion” of the post-war era by making vast amounts of data instantly retrievable.
The true breakthrough of the Memex was the concept of associative indexing, which served as the conceptual blueprint for the modern hyperlink. Bush realized that the human mind operates by association rather than by rigid, alphabetical, or numerical filing. The Memex would allow a user to create “trails” of related information, permanently linking two items together so that pulling up one would automatically lead to the other. By mirroring the nonlinear nature of human thought, the Memex aimed to transform a static archive into a dynamic, personalized web of knowledge.

This motivated the birth of the World Wide Web.
Graphical User Interface (GUI) invented at Xerox PARC in the 1970s.
Ivan Sutherland’s 1963 Sketchpad system was an early pioneering computer program that introduced the concept of graphical user interfaces (GUIs) and interactive computer graphics. It allowed users to create and manipulate graphical objects directly on a computer screen using a light pen, laying the groundwork for interactive computing.
Followed by Douglas Engelbart’s 1962 report “Augmenting Human Intellect: A Conceptual Framework”. He demonstrated the oN-Line System (NLS) in 1968, which featured hypertext linking, video conferencing, and a mouse-driven cursor.
Alan Kay at Xerox PARC envisioned the Dynabook in the 1970s, a portable, personal computer for learning and creativity, which laid the conceptual foundation for modern laptops and tablets.
It is the 1980s. It is now 40 years since Vannavar Bush’s article.
The Long Nose of Innovation by Buxton.
The power of prototypes.
Video lecture on participant observation
“You can observe a lot by watching” - Yogi Berra
App for truck drivers needs to have big icons and buttons, and stylus since they will be wearing gloves.
Deep hanging out
Be a good apprentice
Look around for workarounds. For example, post-it notes on printers reminding people how to use it. That could be an opportunity for improving the device.
Anthropologists/ethnographers studying how people used fax machine at Xerox PARC. We assume that if people cannot use a technology, they are “dumb”. However maybe the technology has been designed well enough.
Walmart asked users in a survey if they would like the aisle to be less cluttered? Please note that they did not ask how the users used the facilities and asked them a leading question. This actually let them to declutter the aisles and eventually led to decline in sales!
Pine, B. Joseph, and James H. Gilmore. “Welcome to the experience economy.” Harvard business review 76 (1998): 97-105.https://hbr.org/1998/07/welcome-to-the-experience-economy
The experience economy is a concept that suggests businesses should focus on creating memorable experiences for customers rather than just providing goods or services.
Previously , economies evolved from agrarian to industrial to service-based. The next stage is the experience economy, where the focus is on engaging customers through unique and personalized experiences.
In the context of HCI and UX design, this means designing digital products and services that engage users on an emotional level, creating positive and lasting impressions.
By prioritizing user experience and emotional engagement, businesses can differentiate themselves in a competitive market and build stronger relationships with their customers.
What makes something interesting? Anything can be interesting. Even a washing machine.
Talk with the right people. Not the top echelons. But the people in the middle. (Malcom Gladwell)
Do not ask leading questions : Would you like a daily update?
Sometimes users do not know what they want. Heny Ford had said: If you asked users in 1800s what they wanted, they would have said a faster horse.
Concept: 🧩🚀 The designer knows the possibilities, but the user does not
Instead ask users about their daily lives
Ask good questions (open ended questions)
_ Silence is golden. Listen to the users and give them time to reflect and respond.
Diaries. Keep interviewees diaries which they write.
Followup. Remind people.
Meet people regularly.
Lead users. Designers help lead users come up with good solutions. Doctors come up with innovative solutions.
Create personas of users. Models of different kinds of users.
Design transforms existing solutions to preferable ones.
Example of ants (Herb Simon). Much of the complex behaviour of ants comes from the environment.
All design is redesign.
Gives you a conceptual model
Activity analysis: what are the pain points? What are the goals?
⚠️ For example, Goal - get bread, subgoals - get in car, turn ignition. Questions for redesign - do need a physical key? Can we get remote/drone powered delivery to home?
Activity design - will users actually use this? will it accomplish something that people need doing? doing taxes etc.
đź’ˇ We design artefacts (apps, phones) not activities
Video by Scott Klemmer on storyboards


Sequence: what steps are involved?
Helps get stakeholders on the same page.
Here is an example of a storyboard

Paper prototypes, transparencies and sticky notes
Digital mockups
High fidelity mockups (controlled experiments)
use draw.io for creating UML/ER diagrams
Storyboarding for data visualization is like writing a script 📽️ before filming a movie. It helps us map out the Sequence—the logical flow of insights—so stakeholders do not get lost between charts. It moves the focus from “how do I code this?” to “what am I trying to say?”
For this class on web development, create a storyboard on a piece of paper or use Google Gemini to create a storyboard.
In Python, we can simulate this “sketching” phase by having students create a Story Skeleton. Instead of rendering complex charts immediately, they define the “Panels” of their story using a data structure. This ensures the narrative holds up before they spend hours on formatting.
Here are three ways we could structure a Python-based storyboarding exercise:
StoryFrame class. They must “instantiate” 4-5 frames of their story, specifying the Sequence, the Persona (the “Star Person” 👤 viewing the data), and the Key Takeaway.plt.text() to describe what the chart will show and where the annotations will go. This mimics the Paper Prototype 📝 approach.The Narrative Audit 📋: Students take an existing set of charts and write a Python “wrapper” or function that prints out the transition logic between them (e.g., “Because we see [X] in Frame 1, we must investigate [Y] in Frame 2”).
A Narrative Audit focuses on the “connective tissue” between your data visualizations. In storyboarding, this ensures that the transition from one chart to the next feels like a logical progression rather than a random jump.
Think of it like a comic strip 🎞️: if Panel A shows a character at home and Panel B shows them on Mars, the reader needs a “transition” panel (the rocket ship 🚀) to understand how they got there. In data, this means explaining why a specific insight in Chart 1 leads us to investigate the metric in Chart 2.
In this exercise, students are given a Python script that generates three correct but disconnected charts. Their job is to perform an “audit” and write the narrative bridge that connects them.
Provide students with this “broken” narrative. The charts are technically fine, but the story is missing.
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
# Sample Data: Website Traffic and Sales
data = pd.DataFrame({
'Day': range(1, 8),
'Visitors': [1000, 1100, 1050, 1200, 1500, 1600, 1550],
'Bounce_Rate': [40, 42, 41, 39, 65, 68, 70],
'Conversion_Rate': [5, 5, 4.8, 5.2, 2.1, 1.8, 1.5]
})
def plot_narrative_gap():
# Chart 1: Traffic is growing
plt.figure(figsize=(5, 3))
sns.lineplot(data=data, x='Day', y='Visitors', marker='o')
plt.title("Total Website Visitors")
plt.show()
# Chart 2: Bounce rate spiked
plt.figure(figsize=(5, 3))
sns.lineplot(data=data, x='Day', y='Bounce_Rate', color='red')
plt.title("Bounce Rate Percentage")
plt.show()
# Chart 3: Conversion dropped
plt.figure(figsize=(5, 3))
sns.barplot(data=data, x='Day', y='Conversion_Rate')
plt.title("Sales Conversion Rate")
plt.show()
plot_narrative_gap()
Students must create a Python dictionary called narrative_audit. For each transition, they must identify:
narrative_audit = {
"Transition_1_to_2": {
"Observation": "Traffic is hitting record highs in the second half of the week.",
"The Question": "Is this high-volume traffic actually high-quality traffic?",
"Bridge": "To find out, we need to look at the **Bounce Rate** to see if people are sticking around."
},
"Transition_2_to_3": {
"Observation": "Bounce rates nearly doubled as traffic increased.",
"The Question": "How did this inability to retain users impact our bottom line?",
"Bridge": "We will now examine **Conversion Rates** to quantify the cost of this technical friction."
}
}
Instead of checking if the code runs, you are checking for Causality.
How do you think your students would react to critiquing “broken” stories like this versus building their own from scratch? Would they find it easier to spot logic gaps in someone else’s work first?

As shown in the figure below, overly complex visuals can fail to communicate outside a small expert audience.
🥳 2 experts might figure it out, but the rest of the 8 billion people?
Lovable
Replit
Cursor
Google AI studio
Base44
Quality vs. Quantity
Value in rapidly generating ideas
Functional fixation: Do not get stuck on one idea early on
🎮🛠️ Activity: Egg dropping device experiment. Design a device that can help survive an egg dropped from this building.
Discuss in a group. Draw your device on a piece of paper (hand out paper) or use Gemini
🤔❓ Is there a part of the world where just dropping an egg from a third floor window would not break it?

🧩🚀 Concept If you have lots of ideas and other people give you feedback on them, you are likely to think it is critique of idea not you
🎮🛠️ Activity: Help Rob design a webpage for football fans. What features should it have? What kind of other issues (like privacy, content moderation, etc.) should you consider? Use draw.io or a piece of paper to draw an outline of the webpage.
Start with some idea that you like and iterate. Example xkcd started with a simple comic and now has written books. He also has a very minimalist webcomic.
The engineer can call you an hour before he arrives. That way you can do other work!
Concept 🧩🚀 Uncertainty is the enemy of the user
Guide the user through your webpage (sitemaps, navigation bars)

If they are runnng out of hard disk space, give them a prominent popup message or message in ⚠️ red
If there is any big change, have users confirm this (dialog box)
Similar to a traffic stop light (red on top, green below): clear communication
dual coding (green is for go, red is stop)
works for users who may not be able to tell green from red
Show next steps: order was placed. Email was sent and you can check the status of your order here….
Simple clear to understand error messages
Consistent names and buttons (styling using CSS)
Prevent errors (file overwrite)
Do not have confusing error messages

Don Norman, the author of the seminal book The Design of Everyday Things. He is the one who took the term “affordance” from psychology and applied it to design.

In the context of HCI, an affordance is a relationship between an object and a person. It is not a “property” of the object itself, but rather a description of the actions that are possible.
Don Norman eventually clarified that in screen-based interfaces, we are mostly dealing with perceived affordances. A button on a smartphone screen doesn’t actually “push” down physically; it’s a flat piece of glass. We use signifiers (like shadows or borders) to tell the user that the affordance of “clicking” exists.
The story of the original Sony Walkman (TPS-L2, released in 1979) is a masterclass in intentional constraint.
At the time, tape recorders were common, but they were bulky and used primarily for business dictation or journalism. When Sony co-founder Akio Morita requested a portable stereo player, the engineers initially wanted to include a recording feature because “that’s what tape machines did.”
Morita famously insisted on removing the recording head and the record button. ### Why this worked for Affordances:
“Design is really an act of communication, which means having a deep understanding of the person with whom the designer is communicating.” — Don Norman
To help your class grasp how to use affordances in their own designs, you might want to highlight these three pillars:
| Term | Definition | Example |
|---|---|---|
| Affordance | What an object can do. | A chair affords sitting; a link affords clicking. |
| Signifier | The signal that tells you where to act. | A blue underlined text (signifier) tells you the link is clickable (affordance). |
| Constraint | Limiting actions to prevent error. | Greying out a “Submit” button until the form is filled correctly. |
In an era of gesture-based interfaces (swiping, pinching) and Voice UIs, affordances are becoming “invisible.” Without physical buttons, designers have to work harder to provide signifiers—like a small bar at the bottom of an iPhone screen—to let users know that a “swipe up” affordance exists.
The Walkman lesson remains relevant: sometimes, the best way to improve a user’s experience isn’t by adding features, but by restricting actions to make the primary affordance crystal clear.