+ All Categories
Home > Documents > Foundations and Strategies...

Foundations and Strategies...

Date post: 29-Aug-2018
Category:
Upload: dothu
View: 222 times
Download: 0 times
Share this document with a friend
86
Foundations and Strategies Surprise-Explain-Reward CS352
Transcript
Page 1: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

Foundations and Strategies

Surprise-Explain-Reward

CS352

Page 2: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

Announcements

•  Notice upcoming due dates (web page). •  Where we are in PRICPE:

– Predispositions: Did this in Project Proposal. – RI: Research was studying users. Hopefully led

to Insights. – CP: Concept and initial (very low-fi) Prototypes. – Evaluate throughout, repeat iteratively!!

2

Page 3: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

End-User Software Engineering: “Surprise-Explain-Reward”

(I gave this talk at Google in 2007)

Page 4: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 4 -

End-User Software Engineering: What’s the Problem

•  There is a lot of end-user-created software in the real world (mostly spreadsheets): – Errors exist in up to 90% of “production”

spreadsheets. •  Overconfidence of end users creating and

modifying their programs.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 5: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 5 -

End-User Software Engineering Goal

•  Goal: Reduce errors in end-user programs. – Without requiring training or interest

in traditional software engineering. •  Context: EUSES Consortium

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 6: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 6 -

Page 7: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 7 -

The Setting: A Research Prototype in Forms/3

•  Spreadsheet paradigm. •  Examples/screenshots use this prototype.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 8: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

“If We Build It, Will They Come”:

What we built

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 9: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 9 -

Testing for End-User Programmers

•  For end users & spreadsheets, what is testing? – A Test: A decision if some output is right

given the input. – Test Adequacy: Have “enough” tests been

performed?

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 10: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 10 -

WYSIWYT: The Features We Want Them to Use Will...

•  Incrementally update “testedness” (as per a formal criterion), and...

•  ...allow the user to incrementally inform system of decisions, and...

•  ...immediately reflect this information in border colors.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 11: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 11 -

Initially the Spreadsheet is Untested

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 12: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 12 -

The User Notices a Correct Value

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 13: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 13 -

Hmm..How Can I Turn the Purple Cell Blue?

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 14: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 14 -

Example: New Input

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 15: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 15 -

Example: Re-Decision

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 16: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 16 -

Many Empirical Studies Regarding WYSIWYT

•  WYSIWYT participants always: – Have higher test coverage. – Show a functional understanding. – Appropriate confidence/judgment of

“testedness” •  In some ways:

– More effective and faster at debugging (some problems, some bugs, ...)

– Less overconfidence about correctness.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 17: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 17 -

Assertions: What and Why •  Supplemental information about a program’s

properties. •  Add checks and balances that continually

“guard” correctness... – which can’t be accomplished via testing.

•  Need not be all or none: – Even one or two assertions provide some

benefit. – Can add incrementally to refine specifications.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 18: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 18 - EUSE Surprise-Explain-Reward Explaining Surprise Rewards

User assertion

System assertion

Assertion conflict

Value violation

“There’s got to be !something wrong !with the formula”!

Integration of Assertions

Page 19: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

How Can We Get End Users Interested?

Surprise-Explain-Reward

Page 20: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 20 -

Page 21: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 21 -

Attention Investment

•  Usual CS view: –  “If we build it, they will come”

•  But, why should they? – Cost of new feature: learning it + ongoing cost of

interacting with it. – Benefit of new feature: not clear without incurring

the cost. – Risks: wasted cost (time), getting environment

into an odd state from which can’t easily recover.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 22: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 22 -

How to Interest Them: Arouse Curiosity

•  Psychology researchers tell us (and empirical studies of programming confirm): – Users/programmers believe their programs

work. •  Thus, they have all the information they think they

require.

•  Research in curiosity also suggests: – Showing them the presence of an “information

gap” makes them curious.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 23: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 23 -

Our Strategy: Surprise-Explain-Reward

•  Surprise: shows them the presence of information gap (to arouse curiosity).

•  Explain: users seek explanation to close the information gap. – Self-directed learning (a key attribute). – Suggests the actions we want them to do.

•  Reward: make clear the benefits of taking those actions early.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 24: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 24 -

The Setting for Surprises •  WYSIWYT testing: accessible, and

subjects find it easy at first. – When “stuck”, they can ask for help conjuring

up test cases via Help-Me-Test (HMT). •  Empirical:

–  Users turn to HMT when they get stuck. –  They like it, and use it more than once.

•  Opportunity for surprises: HMT at the same time suggests assertions.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 25: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 25 - EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Surprises

•  Surprise 1: HMT’s assertions – Reveals an information gap. – These are deliberately bad guesses.

Page 26: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 26 -

Surprises (cont.)

•  Surprise 2: red circles around values while HMT is ruminating. – HMT’s “thinking” behavior is transparent.

•  Note: all feedback is passive. – Attempts to win user’s attention but does not

require it. – Empirical: users go several minutes before

acting on this feedback. – Will return to this issue later.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 27: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 27 -

Explanation System Principles

•  Semantics, reward, suggested action. – With enough info to succeed at the

action.

The computer’s testing caused it to wonder if this would be a good guard. Fix the guard to protect against bad values, by typing a range or double-clicking.

Page 28: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 28 -

Explanation System (cont.)

•  Why explanations’ viewport is via tool tips. – Psychology: users seek explanation from the

surprising object. •  Why suggested action.

– Minimalist learning: get users to take action. •  Why reason/reward.

– Attention investment: must make rewards clear.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 29: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 29 -

Rewards for Entering Assertions

•  Red circles around values indicate either bugs or incorrect assertions. – Same long term as in learning phase.

•  Improved HMT behavior on input – Always occurs, but harder to notice.

•  HMT challenges assertions on non-input cells, aggressively seeking bugs.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 30: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 30 -

Rewards (cont.)

•  Computer-generated assertions might “look wrong”.

•  Red circles around conflicting assertions. •  Are first surprises, then rewards.

Page 31: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 31 -

A Behavior Study

•  16 participants (business majors). – Familiar with spreadsheets, no assertions

experience. •  Assertions treatment: none at all.

– No assertions provided. – No mention of assertions at all.

•  Research Question: Does Surprise-Explain-Reward entice and enable users to use assertions?

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 32: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 32 -

Results: Enticing Users

•  Surprises got their attention (eventually): – 15 (94%) did use assertions at least one task. – Task 1 time of 1st assertion entry: 13 minutes.

•  Once they discovered assertions, they kept using them: – 14 (87%) used them on both tasks. – 18 assertions/user (mean). – Task 2 time of 1st assertion entry: 4 minutes.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 33: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 33 -

Results: Enticing Users (cont.)

•  Was HMT the entry mechanism? – At first: In task 1, 74% were entered via HMT. – By task 2, only 33% were entered via HMT

(but still as many assertions entered). •  => HMT introduced/trained them, but they

didn’t need that support for later assertions.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 34: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 34 -

Results: Sufficiency of Rewards

•  Were rewards sufficient? – After users used assertions once, used them

again. –  In fact, 56% used them within the 1st minute

of Task 2. –  “… I found them reassuring because I think

they help with accuracy.” –  “I did so to try to get the help feature to stay

within my limits.”

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 35: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

Activity

•  Can Surprise-Explain-Reward help your project (or, the online grocery)? –  Is there a feature they might not use that

would help them? – What is the circumstance in which they should

use it? – Can you arouse their curiosity about it at a

time consistent with this circumstance? – Can you find a way to make your surprise

passive?

Page 36: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

A Closer Look at “Explain”:

What do end-user debuggers want to know?

Page 37: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 37 -

Experiment

– Pair think-aloud. – Gave them almost nothing except each other.

•  No tool tips, little instruction, instructor available only via IM, …

– Content analysis of their words in context to see what they wanted to know.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 38: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 38 -

Oracle / Specification

•  Gaps not centered on features! •  40% - Users focused on the task, not the

environment and its features.

Implications:

(1) Need more research into supporting this information gap.

(2) Consistent with Carroll/Rosson’s “active user”.

“Divided by 10? I don’t know...I guess it should be times 10.”

Features

Strategy

Big Info

0

10

20

30

40

50

60

70

10 20 30 40 50 60

Time in Minutes

Cou

nts

Oracle/Specification

Self-JudgmentGap

Time in minutes

Features

Strategy

Big Info

0

10

20

30

40

50

60

70

10 20 30 40 50 60

Time in Minutes

Cou

nts

Oracle/Specification

Self-JudgmentGap

Time in minutes

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 39: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 39 -

Implication: Many were global in nature, with no central feature/object to tie to.

“What should we do now?” “Let’s type it in, see what happens.”

Features

Strategy

Big Info

0

10

20

30

40

50

60

70

10 20 30 40 50 60

Time in Minutes

Cou

nts

Oracle/Specification

Self-JudgmentGap

Time in minutes

Features

Strategy

Big Info

0

10

20

30

40

50

60

70

10 20 30 40 50 60

Time in Minutes

Cou

nts

Oracle/Specification

Self-JudgmentGap

Time in minutes

Strategy

•  30% about strategy – mostly (22%/30%) strategy hypotheses.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 40: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 40 -

Features

•  Type of information that can work well with tool tips, feature-centric devices.

•  Only accounted for 16%

Implication: Focusing on this type of information would address only a fraction of what our participants wanted to know.

“So with the border, does purple mean its straight-up right and blue means it’s not right?”

Features

Strategy

Big Info

0

10

20

30

40

50

60

70

10 20 30 40 50 60

Time in Minutes

Cou

nts

Oracle/Specification

Self-JudgmentGap

Time in minutes

Features

Strategy

Big Info

0

10

20

30

40

50

60

70

10 20 30 40 50 60

Time in Minutes

Cou

nts

Oracle/Specification

Self-JudgmentGap

Time in minutes

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 41: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 41 -

Self-Judgment

•  These metacognitive instances are an important factor in learning

•  Also ties to self-efficacy, which ties to debugging persistence

•  Made up 9%(!) of all information gaps Implication: Improving accuracy of self-judgments

may in turn increase debugging effectiveness.

“I’m not sure if we’re qualified to do this problem.”

Features

Strategy

Big Info

0

10

20

30

40

50

60

70

10 20 30 40 50 60

Time in Minutes

Cou

nts

Oracle/Specification

Self-JudgmentGap

Time in minutes

Features

Strategy

Big Info

0

10

20

30

40

50

60

70

10 20 30 40 50 60

Time in Minutes

Cou

nts

Oracle/Specification

Self-JudgmentGap

Time in minutes

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 42: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 42 -

Big (!) Gaps

•  User may not be able to voice a specific question

•  5% of total

Implication: The timing and context of a big information gap may reveal the type & cause of confusion.

“Whoa!” “Help!”

Features

Strategy

Big Info

0

10

20

30

40

50

60

70

10 20 30 40 50 60

Time in Minutes

Cou

nts

Oracle/Specification

Self-JudgmentGap

Time in minutes

Features

Strategy

Big Info

0

10

20

30

40

50

60

70

10 20 30 40 50 60

Time in Minutes

Cou

nts

Oracle/Specification

Self-JudgmentGap

Time in minutes

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 43: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 43 -

Implications & Opportunities

•  Information gaps: – Do not primarily focus explanations on

Features – Users’ greatest need: Oracle/Specification – Strategy outnumbered Features 2:1, needs

local and global support •  Accuracy of users’ Self-Judgments may

impact effectiveness

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 44: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 44 -

Toward Answering What Users Asked

•  Drew from: – Above results. – Various education theories. – Self-efficacy theory. – Shneiderman et al.’s and Baecker’s research

into how to do video demonstrations.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 45: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 45 -

Current Prototype

•  A trio: – Tool tips.

•  Features/Rewards + links to strategy videos.

– Video explanations of strategy. – Side panel:

•  Links to text-based and video versions.

Page 46: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 46 -

Current Prototype Screenshots

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 47: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 47 -

Summary of Empirical Findings

•  Closed ~half these gaps: – Strategy, oracle/specification, self-judgment.

•  Video vs. text form: – Different tasks caused different ones to rise

slightly above the other (eg, learning at first, vs. later refresh, clarification, or digging).

– Males & females responded very differently to videos.

•  Having both really matters! EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 48: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

A Closer Look at “Surprise”: Surprises as Interruptions

Page 49: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

EUSE Surprise-Explain-Reward Explaining Surprise Rewards - 49 -

2 Types of Interruptions (McFarlane)

•  Negotiated. – System announces need to interrupt,

•  but user controls when/whether to deal with.

– Example: underlines under mispelled words.

•  Immediate. –  Insists that user immediately interact. – Example: pop-up

messages.

Page 50: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 50 -

Experiment

•  2 groups of business students. •  Debugging 2 spreadsheets, varying order. •  A device: assertions.

– Prior work: they help end users’ debugging. •  Tutorial: no mention of assertions. •  Research question:

– negotiated or immediate: which better in end-user debugging?

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 51: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 51 -

To Interest Users: Surprises (Communicated Negotiated

Style)

The computer’s testing caused it to wonder if this would be a good guard. Fix the guard to protect against bad values, by typing a range or double-clicking.

•  “Help Me Test”: can be invoked to suggest new sample values.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 52: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 52 -

More Surprises/Rewards (Communicated Negotiated

Style)

All guards for a cell must agree.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 53: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 53 -

Surprises (Communicated Immediate

Style)

Instances when users are interrupted : 1 when users indicate interest in assertions 2 when there are value violations 3 when HMT generates assertion (s) 4 when there is an assertion conflict 5 when system -generated assertion (s) are created

Figure 2: Instances of immediate-style interruptions in the experiment. EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 54: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 54 -

•  Time until enticed to enter assertions.

•  Accuracy of assertions: exactly same.

Results: Will they come?

I nt e rr u pt i o n s t yl e 1 s t T as k 2

nd T as k

N eg o t i ate d ( n= 1 6 ) 1 3: 2 6 3 :4 0 Im m e d i ate ( n =2 2 ) 8 :5 6 4 :4 9

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 55: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 55 -

Results: Do they learn it?

•  Comprehension (p=.0153).

– Legend: dark=negotiated.

0%10%20%30%40%50%60%70%80%90%

q1 q2 q3 q4 q5 q6 q7Questions

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 56: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 56 -

Results: Am I done debugging yet?

•  If “yes” too early, relying on wrong answers!

•  Results: – Negotiated: Reasonable predictors (p=.04, p=.

02). –  Immediate: Not (p=.95, p=.17).

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 57: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 57 -

Results: Debugging Productivity

•  Bugs fixed: – Negotiated won (Task 2: p<0.0001).

•  Why?

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 58: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 58 -

Results Debugging (cont): How They Spent Their Time

•  Negotiated did significantly more: – Editing formulas.

•  Immediate did significantly more: – Help-me-test.

•  Both groups about the same: – Creating/editing assertions.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 59: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 59 -

Discussion: Why? Debugging Strategies

•  Consider: – Working memory & immed. interruptions (Bailey

et al., Burmistrov/Leonova). – Debugging breakdowns & attentional problems

(Ko/Myers). – Participant activity differences:

•  Immed. stayed with local activities not needing much memory.

•  Strong suggestion of local, shallow debugging strategies.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 60: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 60 -

Conclusion

•  Expected: –  Immediate: better learning of debugging

devices; negotiated: better productivity.

•  Surprises: – Better learning & effectiveness with

negotiated. –  Immediate seemed to promote shallow, local

strategies.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 61: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 61 -

Bottom Line

•  For debugging devices: – Our recommendation: use negotiated style. – No reasons to use immediate-style in

debugging, – & several reasons not to.

EUSE Surprise-Explain-Reward Explaining Surprise Rewards

Page 62: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 62 -

Overall Summary

•  Software engineering devices for end users. – Cannot be achieved by grafting color graphics

onto traditional approaches. •  Talked about end-user support for:

– Testing, assertions – Thru Surprise-Explain-Reward strategy

•  Empirical results: how to surprise, explain, and reward end users problem-solving about their programs.

Page 63: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 63 -

Page 64: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google
Page 65: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 65 -

Leftovers start here

Page 66: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 66 -

Page 67: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

A Closer Look at “Rewards”: Functional and Affective

Rewards

Page 68: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 68 -

Research Questions about Affective Rewards

•  RQ1. Effectiveness: – Affective rewards impact ability to fix faults?

•  RQ2. Usage: – Affective rewards impact usage of a debugging

device? •  RQ3. Understanding:

– Affective rewards impact end user’s understanding of a debugging device?

Page 69: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 69 -

WYSIWYT Rewards

•  Rewards: – Systematic coloring of cell borders – Testedness bar (spreadsheet granularity) – Data flow arrows (sub expression granularity)

•  Previous studies indicate benefits of these rewards

Page 70: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 70 -

The Gradebook Spreadsheet

Page 71: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 71 -

The Gradebook Spreadsheet

Page 72: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 72 -

Fault Localization Rewards •  WYSIWYT: A springboard •  Place X-mark when cell’s value is incorrect

–  Suspect cells are colored in shades of yellow-orange continuum

•  Darker the cell interior, greater the fault likelihood

Page 73: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 73 -

Investigating Rewards in Fault Localization

•  5 issues, trade off’s •  2 Groups:

–  “Low-Reward” Group –  “High-Reward” Group

•  Difference: Quantity of potentially affective rewards

Page 74: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 74 -

5 Issues: #1 Mixed Message vs. Loss of Testedness

Fig 1

•  High-Reward Group

Fig 2

•  Low-Reward Group

Page 75: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 75 -

Arrows’ Mixed Message vs. Loss of Testedness: #2

•  High-Reward Group –  Data flow arrow colors

retained –  Greater rewards

•  Low-Reward Group –  Data flow arrow colors

removed –  Less rewards

Fig 3 Fig 4

Page 76: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 76 -

5 Issues: #3 •  Testedness Progress Bar

•  High-Reward Group •  Low-Reward Group

Page 77: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 77 -

5 Issues: #4 •  High-Reward Group

–  Explanations were kept intact

•  Low-Reward Group –  No explanations for

“decolored” cell borders, arrows

Page 78: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 78 -

5 Issues: #5 •  High-Reward Group: “Bug Likelihood” bar

•  Low-Reward Group: No “Bug Likelihood” bar

Page 79: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 79 -

5 Issues in a Nutshell

•  Differences described are not contrived differences – Both groups’ implementations had solid

reasons •  High-Reward Group:

– Quantitatively greater perceivable reward, even if disadvantages from other perspectives

Page 80: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 80 -

Experiment •  Design of the experiment

– Both groups had environments with same functionality

•  Difference: Quantity of perceivable rewards •  54 participants

– 24 in Low-Reward group – 30 in High-Reward group

•  Tutorial: – Taught use of WYSIWYT – Did NOT teach Fault Localization

Page 81: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 81 -

Results: Effectiveness •  Measured number of faults fixed by each

group •  High-Reward group fixed significantly more

faults (p=0.025)

•  Significant difference suggests users’ perception of rewards has powerful impact on effectiveness

Page 82: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 82 -

RQ 2: Usage

•  Two metrics: –  (1) “Persistent” X-marks –  (2) “Total” X-marks

•  Effectiveness difference could be contributed to more use of X marks

•  Surprise !! No significant differences were found

•  High-Reward participants fixed more faults despite no difference in the amount of usage of the fault localization device!

Page 83: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 83 -

RQ3:Understanding •  Two types of comprehension:

–  Interpreting the feedback received (2 questions)

– Predicting feedback under various circumstances (6 questions)

•  High-Reward group: More understanding of the feedback’s implications

Page 84: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 84 -

RQ3:Understanding (cont’d)

•  High-Reward participants comprehend better than Low-Reward participants

Page 85: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 85 -

Interpretation of Results

•  Interesting findings: – High-Reward participants understood the

feedback better, despite “mixed messages” – Mixed message was confusing (54 % “makes

sense” vs. 46 % “does not make sense”) – Confusion should hamper understanding

•  Curiosity a factor too? •  Other possible factors?

Page 86: Foundations and Strategies Surprise-Explain-Rewardclasses.engr.oregonstate.edu/.../lecture16-surpriseExplainReward.pdf · “Surprise-Explain-Reward” (I gave this talk at Google

- 86 -

Conclusion

•  Improved debugging, but not through functional rewards

•  Affective rewards alone significantly improved debugging effectiveness


Recommended