designing for interruption and liveness

Post on 26-Jan-2015

108 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

DESIGNING FORINTERRUPTION AND

LIVENESS

Chris Parnin, Georgia Tech@chrisparnin ninlabs.com checkbox.io

Great success, but...Everyone said:

Instant Feedback is goodNo one explained:A theory of why?

Is the only goal, faster and faster feedback? Side-by-side.

Taken to an extreme...

It is not unusual to wait 30 minutes to compile and test a single change in medium-sized C++ projects.

Meanwhile...

An Attempt to ExplainLOW

LIVENESSHIGH

INTERRUPTION

COGNITIVE CONSEQUENCE

DESIGN PRINCIPLES

EXAMPLE TOOL/APPLICATION

Programmer Information Needs After Memory Failure - [Parnin ICPC’12] Best Paper Award

Building a Conceptual Framework for Interruption

familiarity memory

spatial memory

relational memory

feeling of knowing

recency memory

dentate gyrus

Brodmann 10 dorsolateral prefrontal cortexsemantic memory

declarative memory

I want to make a pie

PROSPECTIVE MEMORY

Prospective aids

Developers, intentionally introduce compile errors as reminders

DESIGN OPPORTUNITY

Use negative feedback positively: can be a prospective

memory aid

ATTENTIVE MEMORY

d

Touch points

How We Refactor And How We Know It - [Murphy-Hill, Parnin ICSE’09/TSE’11] Sigsoft Distinguished Paper Award

Burg’s Timelaspe “probes”

DESIGN OPPORTUNITY

Feedback is global,should it also be focused and

maintained?

EPISODIC MEMORY

• Programmers do this all the time,

• Use blogs, diffs, backward recall

Improved whendone episodically.

DESIGN OPPORTUNITY

Feedback is instantaneous,should it be progressive?

Visualization of Fine-Grained Code Change HistoryYoungSeok Yoon et. al

ASSOCIATIVE MEMORY

Who moved my cheese?

DESIGN OPPORTUNITY

Feedback is decoupled,should it be integrated?

Embedded visualizations

Visual Monitoring of Numeric Variables Embedded in Source Code --Fabian Beck et.al

Visual Code Annotations for CyberphysicalProgramming -- Ben Swift et.al

CONCEPTUAL MEMORY

Novice Golfers vs Expert Golfers

DESIGN OPPORTUNITY

When giving feedback, what concepts are represented,

who are they appropriate for?

*visual languages

Conclusions

• Use negative feedback positively

• Feedback is global, should it also be focused and maintained?

• Feedback is instantaneous, should it be progressive?

• Feedback is decoupled, should it be integrated?

• What concepts are represented in feedback, who are they appropriate for?

DESIGN LIVENESS FOR:PROSPECTIVE, ATTENTIVE, EPISODIC,

ASSOCIATIVE, CONCEPTUAL MEMORY

top related