what makes usable software - computer sciencejbg/teaching/lbsc_690_2012/lecture_03.pdfboot taking a...

82
What Makes Usable Software LBSC 690: Jordan Boyd-Graber September 24, 2012 Adapted from Jimmy Lin’s Slides LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 1 / 66

Upload: others

Post on 16-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

What Makes Usable Software

LBSC 690: Jordan Boyd-Graber

September 24, 2012

Adapted from Jimmy Lin’s Slides

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 1 / 66

Page 2: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Goals

Input Devices

Operating Systems: The foundations of interactions

Quick Introduction to HCII Connect the design of everyday objects with computer interfacesI Articulate what makes an object well or poorly designedI Learn about metaphors in modern interfaces

Understand how to evaluate systems

Understand principles of good Web site design

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 2 / 66

Page 3: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Outline

1 Operating Systems

2 Types of Input Devices

3 User-Centered Design

4 Interface Paridigms

5 Information Architecture

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 3 / 66

Page 4: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

A Brief History of Operating Systems

Unix

Windows

DOS

OS/2BSD

LinuxMac OS

Tivo Android

NeXT

OS X

iPhone

Windows NT

Windows 95

Windows XP

Windows 7

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 4 / 66

Page 5: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

What does an OS do?

More and more . . .

Boot

Provide an interface

Manage programs & memory

Drivers

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 5 / 66

Page 6: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Boot

Taking a computer from “o↵” to “on”1 Send power from power supply to everything else (fan starts whirring)2 BIOS starts3 Power on self-test (POST): bus, RAM, cards, etc. (beeps and screen

messages)4 POST results compared to last good boot5 Search a bootable device6 Load boot information into memory, hand o↵

Operating System1 Load drivers (more later)2 Verify user3 Establish network connections

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 6 / 66

Page 7: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Interface

Way to interact with user

In Linux, many choices “Window Manager”

More on this next week

We’ll use both in this class

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 7 / 66

Page 8: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Management

ProgramsI Way to launch programsI Way to end programsI Multitasking (scheduling)I Application switching

MemoryI Move HD information into memory (caching)I Limit how much RAM a program usesI Make programs think they have a computer to

themselves

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 8 / 66

Page 9: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Drivers

Provide way for software to talk to hardware

Supplied by manufacturer based on “rules” provided by OS

Need a driver for every piece of hardware you bring home (sometimesOS already has driver)

I Video cardI CameraI PrinterI Network card

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 9 / 66

Page 10: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Outline

1 Operating Systems

2 Types of Input Devices

3 User-Centered Design

4 Interface Paridigms

5 Information Architecture

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 10 / 66

Page 11: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Input Devices

Keyboard

Mouse

Camera

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 11 / 66

Page 12: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Keyboard

When you press a key, it completes a circuitEach individual keypress is sent to computer as a special codeOperating system interprets interrupts and respondsA spring or piece of plastic restores key positionFirst keyboards mimicked the depth you had to press a typewriter key(now much thinner)Circuits printed on a single board

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 12 / 66

Page 13: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Mouse

Patented in 1970 byDouglas Englebart

First had wheels thatdirectly rolled on surface

Replaced soon by balls,which then turned twoorthogonal wheels

Then replaced by tinyintegrated cameras

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 13 / 66

Page 14: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Camera

Filters restrict amount of light getting to each cell

As photons strike the cell, a voltage is created (charge can “bleed”)

Voltage is converted into a binary number (e.g. between 0 and 255)

What does mega pixel mean?

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 14 / 66

Page 15: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Other Input Devices

Scanner

Keyboard

Microphone

Radio frequency identification (RFID) reader

Magstrip reader

Tablet

Joystick, guitar, wiimote

Touchpad

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 15 / 66

Page 16: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Outline

1 Operating Systems

2 Types of Input Devices

3 User-Centered Design

4 Interface Paridigms

5 Information Architecture

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 16 / 66

Page 17: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

What is HCI?

Human Computer Interaction

Field concerned with the . . .

Design

Implementation

Evaluation

of usable systems.

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 17 / 66

Page 18: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Human Action Cycle

Gulf of ExecutionHow do I . . .

Gulf of ExecutionDid it . . .

Only small fraction of cycle is physical

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 18 / 66

Page 19: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Design Concepts

Visual a↵ordance

Visible Constraints

Mapping

Causality

Transfer e↵ects

Idioms

Metaphors

Cultural associations

Individual di↵erences

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 19 / 66

Page 20: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

A↵ordance

The perceived and actual properties of the object that determine howit should be used

Purpose should be obvious from appearanceI Chair for sittingI Table for placing things onI Knobs for turningI Slots for inserting things intoI Buttons for pushingI Computers for ???

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 20 / 66

Page 21: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 21 / 66

Page 22: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 22 / 66

Page 23: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Handle is for lifting, but this is for scrolling?

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 23 / 66

Page 24: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Can you edit text?

A↵ordances for resizing window?

Handle: graphic or interface?

Button is for pressing, but what does it do?

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 24 / 66

Page 25: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

What can you click on?LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 25 / 66

Page 26: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Constraints

Knob

Push or pull?

Bar

Push, but which side?

Asymmetric Bar

Push right hand side.

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 26 / 66

Page 27: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Constraints

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 27 / 66

Page 28: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Constraints

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 28 / 66

Page 29: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Constraints

Cup Holder

Caller: Hello, is this Tech Support?Tech: Yes, it is. How may I help you?Caller: The cup holder on my PC is broken and I am within my warrantyperiod. How do I go about getting that fixed?Tech: I’m sorry, but did you say a cup holder?Caller: Yes, it’s attached to the front of my computer.Tech: Please excuse me if I seem a bit stumped, its because I am.Did you receive this as part of a promotional, at a trade show? Howdid you get this cup holder? Does it have any trademark on it?Caller: It came with my computer, I don’t know anything about apromotional. It just has 4X on it.

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 29 / 66

Page 30: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Mapping

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 30 / 66

Page 31: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Mapping

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 31 / 66

Page 32: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Mapping

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 32 / 66

Page 33: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Mapping

What makes a Wii fun?

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 33 / 66

Page 34: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Causality

Humans will draw connections even if none exist (post hoc, ergopropter hoc)

Thus, actions should have immediate feedback

User should be in control - no random events

Placebo buttons: Often pressed repeatedly

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 34 / 66

Page 35: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Transfer E↵ects

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 35 / 66

Page 36: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Transfer E↵ects

Douglas Adams

First we thought the PC was a calculator. Then we found out how to turnnumbers into letters with ASCII and we thought it was a typewriter.Then we discovered graphics, and we thought it was a television. With theWorld Wide Web, we’ve realized it’s a brochure.

Keyboard layoutI Qwerty keyboard: designed to prevent jamming of keyboardI Dvorak keyboard (1930s): possibly faster

Layout of number padsI Calculator vs. keyboardI Traditional telephone vs. fancy cell phones

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 36 / 66

Page 37: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Transfer E↵ects

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 37 / 66

Page 38: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Idioms

People learn idioms that work in a certain wayI Red means dangerI Green means safe

Idioms vary in di↵erent culturesI Light switches:

FAmerica: down is o↵

FBritain: down is on

I FaucetsF

America: counter-clockwise on

FBritain: counter-clockwise o↵

I Have you tried crossing a street in London?

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 38 / 66

Page 39: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Metaphor

ExamplesI DesktopI FolderI Trash Can

FTo eject a disk on a Mac, you had to drag it to the trash

FDid this erase it?

I Window

Usually good; allow transfer e↵ects

When do metaphors go bad?I Breaking rules: recycle bin placed on desktopI Metaphor is teacher (what if your system can do more?)I Bad metaphors may lead to bad design

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 39 / 66

Page 40: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Cultural Influence of Icons

Because a trash can in Thailand may look like this

a Thai user is likely to be confused by this

Sun found their email icon problematic for urban dwellers

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 40 / 66

Page 41: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Individual Di↵erences

Disabilities

Skill sets

Unexpected outcomes

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 41 / 66

Page 42: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Individual Di↵erences: Disability

How can blind users navigate awebpage?

I Text to speech, describingimages (ALT tag)

I Skimming actions withdescriptive link text (don’t putmore info “here”)

Other disabilities, e.g. aphasiaI Users neglect right hand side

of screenI Cannot necessarily read text

With mobile devices, more usersare similarly constrained

Moral: degrade gracefully

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 42 / 66

Page 43: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Individual Di↵erences: Skill sets

BeginnersI Make basic operation easyI O↵er lots of helpI Don’t overload with options

Frequent usersI Allow for shortcutsI Don’t distract with help

Power users: customization and respect

Rule of Thumb: Design for 95% of population, not average user

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 43 / 66

Page 44: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Individual Di↵erences: Unexpected Outcomes

Your assumptions may not match users

Use case might be di↵erent from what you intended

Moral: Keep things as simple and general as possible

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 44 / 66

Page 45: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Examples

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 45 / 66

Page 46: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Examples

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 45 / 66

Page 47: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Outline

1 Operating Systems

2 Types of Input Devices

3 User-Centered Design

4 Interface Paridigms

5 Information Architecture

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 46 / 66

Page 48: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

WIMP

Windows, Icon, Menu, Pointing Device

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 47 / 66

Page 49: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

WIMP

Windows, Icon, Menu, Pointing Device

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 47 / 66

Page 50: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

WIMP

Windows, Icon, Menu, Pointing Device

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 47 / 66

Page 51: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

WIMP

Windows, Icon, Menu, Pointing Device

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 47 / 66

Page 52: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

WIMP

Windows, Icon, Menu, Pointing Device

More information displayed at once

Good for multitasking

Shows users what’s possible

Easy introduction

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 47 / 66

Page 53: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

CLI

Easy to implement

Sometimes it’s all you’ve got(remote system, broken system)

Good for repeated actions

Di�cult to know what’s possible

Requires memorization of syntax

Comparison to “oral history”(Stephenson)

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 48 / 66

Page 54: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

CLI

Each command is a word (no spaces)

Some commands just are (whoami, pwd)

Some commands take optional arguments (ls)

Some commands have a single argument (cd)

Some commands only can take two arguments (cp)

Some commands can take many arguments (wc, grep)

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 49 / 66

Page 55: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

CLI

Bigger programs are invoked in the same way

emacs, vi, sqlite3 (subject of HW3)

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 50 / 66

Page 56: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Outline

1 Operating Systems

2 Types of Input Devices

3 User-Centered Design

4 Interface Paridigms

5 Information Architecture

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 51 / 66

Page 57: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Information Architecture

The design of an “information space” to facilitate access to content

Consists of two components:I Static designI Interaction design

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 52 / 66

Page 58: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Static Design

Di↵erent principles of organizationI Logical: inherent structure (chronological, alphabetical, )I Functional: by taskI Topical: by subjectI Demographic: by user

Take advantage of metaphorsI Organizational: e.g., e-governmentI Physical: e.g., online grocery storeI Functional: e.g., cut, paste, etc.I Visual: e.g., octagon for stop

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 53 / 66

Page 59: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Static Design

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 54 / 66

Page 60: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Designing CRAPpy Pages

Contrast: make di↵erent things di↵erentI to bring out dominant elementsI to mute lesser elementsI to create dynamism

Repetition: repeat design throughout the interfaceI to create consistencyI to create unity

Alignment: visually connect elementsI to create flow

Proximity: make e↵ective use of spacingI to group related elementsI to separate unrelated elements

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 55 / 66

Page 61: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Designing CRAPpy Pages

Contrast: make di↵erent things di↵erentI to bring out dominant elementsI to mute lesser elementsI to create dynamism

Repetition: repeat design throughout the interfaceI to create consistencyI to create unity

Alignment: visually connect elementsI to create flow

Proximity: make e↵ective use of spacingI to group related elementsI to separate unrelated elements

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 55 / 66

Page 62: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Designing CRAPpy Pages

Contrast: make di↵erent things di↵erentI to bring out dominant elementsI to mute lesser elementsI to create dynamism

Repetition: repeat design throughout the interfaceI to create consistencyI to create unity

Alignment: visually connect elementsI to create flow

Proximity: make e↵ective use of spacingI to group related elementsI to separate unrelated elements

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 55 / 66

Page 63: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Designing CRAPpy Pages

Contrast: make di↵erent things di↵erentI to bring out dominant elementsI to mute lesser elementsI to create dynamism

Repetition: repeat design throughout the interfaceI to create consistencyI to create unity

Alignment: visually connect elementsI to create flow

Proximity: make e↵ective use of spacingI to group related elementsI to separate unrelated elements

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 55 / 66

Page 64: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Screen Design: Use Grids

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 56 / 66

Page 65: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Screen Design: Ebay

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 57 / 66

Page 66: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Screen Design: Ebay

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 57 / 66

Page 67: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Screen Design: New York Times

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 58 / 66

Page 68: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Screen Design: New York Times

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 58 / 66

Page 69: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Screen Design: Amazon

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 59 / 66

Page 70: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Screen Design: Amazon

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 59 / 66

Page 71: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Interaction Design

Chess analogy: a few simple rules that disguise an infinitely complexgame

The three-part structureI Openings: many strategies, lots of books about thisI Middle game: nebulous, hard to describeI End game: well-defined, well-understood

Information navigation has a similar structure!

Middle game is underserved

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 60 / 66

Page 72: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Opening Moves

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 61 / 66

Page 73: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Opening Moves

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 61 / 66

Page 74: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Opening Moves

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 61 / 66

Page 75: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Opening Moves

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 61 / 66

Page 76: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Endgame

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 62 / 66

Page 77: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Middle Game

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 63 / 66

Page 78: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Middle Game

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 63 / 66

Page 79: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Middle Game

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 63 / 66

Page 80: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Interaction Patterns

Drive to content

Drive to advertisement

Move up a level

Move to next in sequence

Jump to related

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 64 / 66

Page 81: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Recap: Goals for Today

Understand what devices provide input to a computer

Understand basic principles of HCII Connect the design of everyday objects with computer interfacesI Articulate what makes an object well or poorly designedI Learn about metaphors in modern interfaces

Understand how to evaluate systems

Understand principles of good Web site design

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 65 / 66

Page 82: What Makes Usable Software - Computer Sciencejbg/teaching/LBSC_690_2012/lecture_03.pdfBoot Taking a computer from “o↵” to “on” 1 Send power from power supply to everything

Discussion

Accessible Pages

Your boss wants you to revamp the library’s webpage. Here’s his big idea:when you first come to the webpage, you’ll see a picture of a teenagersitting on the floor surrounded by books. Each book has the name of oneof the site’s existing pages, and when users click on a the picture, it takesthem to the appropriate page. Is this possible? How hard is it? How wouldyou do it? Is it a good idea?

LBSC 690: Jordan Boyd-Graber () What Makes Usable Software September 24, 2012 66 / 66