se 204 – human computer interaction lecture 3: user-centric design lecturer: gazihan alankuş 1

66
SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Upload: martina-barrett

Post on 26-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

1

SE 204 – Human Computer Interaction

Lecture 3: User-Centric DesignLecturer: Gazihan Alankuş

Page 2: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

2

User Centered Design

• The following slides are based on Tom Yeh’s intro HCI class at UMD– https://wiki.cs.umd.edu/cmsc434_s10/index.php?title=

Main_Page

• There are also slides from Eric Ries– Eric Ries (@ericries)– http://startuplessonslearned.blogspot.com

Page 3: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

3

Principles of User Centered Design (UCD)

1. Early focus on users and tasks2. Iterative design with prototypes3. Empirical measurement on prototypes

Page 4: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

4

Why build a UI?

• Computerize a logistical process– E.g., inventory control, restaurant order taking

• Upgrade an outdated UI– E.g., Terminals -> Web -> Web 2.0

• Expect that people will use it– E.g., dot com craze, mobile apps

• Apply a novel technology – Software: sentiment analysis– Hardware: gyroscope

Page 5: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

5

1984 Summer Olympics

Page 6: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

6

Problem

• Athletes need to communicate– Athletes want to receive support from families and

friends who are far away– Athletes want to talk to other athletes in other villages

• Problems– It is a huge event!– There are people from all over the world

Page 7: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

7

Solution: Olympic Message System

Page 8: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

8

Challenges

• 10,000 busy Olympic athletes• When there is a call, they will probably be busy

training or sleeping• Many family members and friends • 50 different languages• No cell phones• Many with no experience with computers• Some with no experience with a push button

phone

Page 9: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

9

Things at Stake

• Everyone is watching• No delay• No second chance• Subject to sabotage and abuse

• Ideal situation for the business question:– “What would you do if you had all the resources in the

world?”

Page 10: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

10

Training is Difficult

• Hard to run training classes since the campus is large

• Impossible to train off-site non-Olympian callers

Page 11: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

11

Design Process

• Ran scenarios with Olympic committee• Wrote user guides before creating the system• Live lab simulations• Consulted with ex-Olympian• Tested on friends and families • Tested on users overseas• Hallway prototype• Crash test• Pre-Olympic field test

Page 12: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

12

Benefits of UCD

• Prevented well-intended but counter-productive changes from bosses– User-centric!

• Pruned wrong directions early– Prototypes

• Sped up the development process– It’s easier to develop when you know what to do and

why

Page 13: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

13

Sample DialogUser: (Dial 8540.)OMS: Olympic Message System.

Please keypress your three-letter Olympic country code.Systeme de Message OlympiqueTapez le numer de votre pays, s’il vous plait.

User: USAOMS: United States. Les Etats-Unis.

Please keypress your last name.User: goulOMS: John Gould.

Please keypress your password.User: 319OMS: Welcome to Olympic Message System.

New Message from Stephen Boies.

Page 14: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

14

What can we learn from this?

• Focus on the problem, not on features of possible solutions

• Identify requirements well• Extensively test your ideas before implementing

them

Page 15: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

15

What are you focusing on?

Users

Computers

Page 16: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

16

What are you focusing on?

Users

Computers

WHAT?

HOW?

Page 17: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Requirements

• The answer to the what/who question– What do the users need?– What is the problem?– Who are the users?

• Not the how question– How should we develop the system?– How will the user use it?– How will the user perform the payment?– How will the data be stored?

Page 18: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Requirements

• Goal: identify users and tasks– USERS: Who will use this?

• How do they think?• What do they like/know?

– TASKS: What do users need to do with this software?• What tasks do we need to support?

Page 19: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

19

Idea!

• Let’s build an iPhone app to make money!– TV remote controller

Page 20: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

20

In a perfect world…

Develop

Deliver$$$$$$$$

Users

Page 21: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

21

In reality

Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug, Code, Debug,

Deliver$

Users

Page 22: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

22

What did we do wrong?

• Sat down to code a vague idea.• Did not do any planning

Design First!

Page 23: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

23

Let’s do some planning first

Develop

Deliver$$

Users

Plan

Page 24: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

24

Also known as the waterfall model...

Develop

Deliver$$

Users

Plan

Page 25: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

25

Waterfall Model

Develop

Deliver$$

Requirements

Design

Test

Users

Page 26: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

26

Waterfall Model

• Proposed in the 70s– For manufacturing and construction industries

• Linear process• Assumes 100% completion before advancing to the

next stage– Sometimes assuming that you are superhuman!

• Each stage has a concrete deliverable– Emphasis on documentation

Page 27: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

27

What if users don’t like what you created?

Develop

Deliver$$

Requirements

Design

Test

Users

Page 28: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

28

Get users involved early!

Page 29: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

29

Get users involved early

Develop

Deliver$$

Requirements

Design

Test

Users

Users

Users

Page 30: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

30

Users are not always right the first time!

Develop

Deliver$$

Requirements

Design

Test

Users

Users

Users

“People don't know what they want until you show it to them.”

― Steve Jobs

Page 31: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

31

Users are not always right the first time!

Develop

Deliver$$

Requirements

Design

Test

Users

Users

Users

“People don't know what they want until you show it to them.”

― Steve Jobs

Page 32: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

32

Where most of the problem lies

• You cannot fully understand what users need• Users are not always right!

Page 33: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

33

Iterations are very costly!

Develop

Deliver$$

Requirements

Design

Test

Users

Users

Users

These steps are long with concrete deliverables They assume 100% is done before advancing to the next

Page 34: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

34

Make iterations cheaper!

Page 35: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

35

Spiral Model: smaller scale iterations

Develop

Deliver$

Requirements

Design

Test

Start

Page 36: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

36

Spiral Model: smaller scale iterations

Develop

Deliver$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Page 37: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

37

Spiral Model: smaller scale iterations

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 38: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

38

Spiral Model

• Steps do not assume that 100% is done– They acknowledge that it is incomplete and there will

be more iterations– There is less emphasis on documentation

• Iterations are cheaper and plenty– Project shapes up as iterations continue– At every iteration, a candidate solution is improved to

create another candidate solution

Page 39: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

39

Design iterations: Rochester Digital Library

Page 40: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

40

Design iterations: Rochester Digital Library

Page 41: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

41

Design iterations: Rochester Digital Library

Page 42: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

UCD in Spiral Model

42

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Users

???

Page 43: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Early focus on users

43

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 44: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Prototyping

44

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 45: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Keep users in the loop

45

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 46: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

46

Meeting Users’ Expectations

• It’s not about adding features• Support users’ goals• People will not form unreasonable expectations

Page 47: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

47

Benefits of keeping users in the loop

• Adequate and timely training• Ownership

Page 48: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

An option: participatory design

48

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 49: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

49

Remember the Three Principles of UCD

1. Early focus on users and tasks2. Iterative design with prototypes3. Empirical measurement on prototypes

Page 50: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

50

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Sample project loop (homeworks will be modeled after these)

Page 51: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Proposal (idea)

51

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 52: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

User and task analysis

52

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 53: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Design sketches

53

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 54: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Paper prototypes

54

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 55: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Computer prototypes

55

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 56: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

56

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Implementation (even more iterations)

Page 57: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Acceptance testing

57

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 58: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Delivery

58

Develop

Deliver$$$$$$$

Requirements

Design

Test

Start

Design

Requirements

Develop

Test

Requirements

Design

Develop

Test

Page 59: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

59

Why is it difficult to develop good software?

• Because there are too many unknowns• When you write code, you make assumptions and

commit to decisions– You should minimize the dependency of your

assumptions on opinions. Rather, they should depend on facts and observations.

Page 60: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

60

Here’s how most startups are operated

• Agile development• Product and customer development• Lean startup

Page 61: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Problem: Known Solution: Unknown

“Product Owner” or in-house customer

AgileUnit of progress: a line of working code

Page 62: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

Problem: Unknown Solution: Unknown

Product Development at Lean StartupUnit of progress: validated learning about customers ($$$)

Page 63: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

63

Iterative Loop

IDEAS

CODEDATA

BUILDLEARN

MEASURE

Page 64: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

64

An overview of all homeworks in this semester

• Come up with new software ideas• Requirements analysis with users• Sketches, storyboarding and paper prototypes• Testing prototypes with users• Creating computer prototypes

Page 65: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

65

We will announce Homework 1 tomorrow

• In the meantime you can start thinking about it– You will come up with three problems that can be

solved with software• Either there should not be existing software similar to it• Or users should have major problems with the current

solutions

– You should have access to potential users for this software

– You will interview at least one user for each category and report your findings

Page 66: SE 204 – Human Computer Interaction Lecture 3: User-Centric Design Lecturer: Gazihan Alankuş 1

66

Midterm date

• July 31st!