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
🤔 comic strip: show flow, how does user figure in this?
star people: how to draw people
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)
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 don’t get lost between charts. It moves the focus from “how do I code this?” to “what am I trying to say?”
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