CS 101

Human-Computer Interaction


  • Paper due tomorrow at 11:59PM. Come ask us questions!
  • Final exam on Monday, December 10, 8:30-11:30AM in 200-203

Commonly Missed Questions

  • A checksum is used at the TCP layer to make sure each packet is received correctly (without error)
  • Idea: add one bit to the end of each packet to make sure that there are always an even number of 1s in the packet

Plan for Today

  • Recall: the client displays information using HTML, CSS, and JavaScript
  • Human-Computer Interaction
  • Design in Computer Science
  • Technology Mindfulness
  • Time to work on your website

Human-Computer Interaction (HCI)

  • Idea: how can we make computers accessible for everyone?
  • Design for a target audience
  • Make computers usable and intuitive (work in progress)
    • Related question: how can we make technology accessible for everyone
  • Build upon abstractions
  • UI (user interface) and UX (user experience)

Importance of HCI

Source: flickr
  • Remote Control Buttons (usable in the dark?)
  • Norman Doors
  • Three Mile Island Nuclear Disaster "Valve is Open" warning light

Steps for Good Design

  • Simplicity
  • Clarity
  • User-Testing and Feedback
  • Design for an Audience

Dark Patterns

  • Good UI should make it easy to do what the company wants you to do
  • Dark Pattern: a UI trick that makes users act in a certain way
  • LinkedIn Contacts
  • Delete your Amazon account by having to contact a human
  • Automatically opted into emails
  • Forced Continuity: free trials end by automatically charging your credit card
  • Hard to unsubscribe from email lists
  • Confusing language, strategic button highlighting

Darkside of Technology

  • People spend a lot of time on electronic devices (Source: Hackernoon)
    • Over 4 hours a day on mobile devices (phones and tablets)
    • Millenials check their phones 150+ times per day on average
  • Social media apps are designed to "suck you in"
    • Likes, etc., fulfill need for validation (sort of like a slot machine)
    • Message alerts pressure you to respond right away (and response-in-progress keeps you in the app)
    • "Rewards" for being on apps more frequently (Snapchat)
    • Notifications
    • Endless scrolling (versus discrete pages)
  • Problem: companies make money from ad views; more time on app => more ad views

Minimizing Screen Use

  • Change your screen to be grayscale
  • See your usage: Apple's Screen Time or several apps on Android
  • Chrome Extensions to redirect you away from worst culprits: HabitLab


  • Good design is critical to avoiding human error and creating an easy to use product
  • Companies can weaponize design to manipulate users