78
tanford hci group Björn Hartmann, Joel Brandt, Scott R. Klemmer Adobe SF, 10 March 2008 Design As Exploration Software Tools for Prototyping Interaction Designs

Björn Hartmann, Joel Brandt, Scott R. Klemmer Adobe SF, 10 March 2008

  • Upload
    adli

  • View
    43

  • Download
    4

Embed Size (px)

DESCRIPTION

Design As Exploration Software Tools for Prototyping Interaction Designs. Björn Hartmann, Joel Brandt, Scott R. Klemmer Adobe SF, 10 March 2008. Outline. Juxtapose (with Loren Yu, Abel Allison, Yeonsoo Yang) Understanding Input Devices (with Sean Follmer) - PowerPoint PPT Presentation

Citation preview

Page 1: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

stanford hci group

Björn Hartmann, Joel Brandt,

Scott R. KlemmerAdobe SF, 10 March 2008

Design As Exploration Software Tools for Prototyping Interaction Designs

Page 2: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Outline Juxtapose

(with Loren Yu, Abel Allison, Yeonsoo Yang) Understanding Input Devices

(with Sean Follmer) Time-Shifting & Simulating Input

Traces (with Marcello Bastea-Forte, Timothy Cardenas)

Page 3: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

JUXTAPOSE(with Loren Yu, Abel Allison, Yeonsoo Yang)

Page 4: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

[Buxton, Sketching User Experiences]

Design as Divergence & Convergence

Page 5: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

[Buxton, Sketching User Experiences]

Page 6: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Prototypes for the Microsoft mouseFrom Moggridge, Designing Interactions, Ch2

Page 7: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

7From Design Secrets: Products 2

Page 8: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Tohidi et al, CHI 2006

Page 9: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

[Adobe Flash]

Page 10: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Alternatives are expressed both in control flow and parameter values

…jMyron.track( red, green, blue, tolerance);…

…codePathA();//codePathB();…

Page 11: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Alternatives are authored in one representation, observed in another

Page 12: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Juxtapose

Page 13: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Juxtapose

Page 14: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Juxtapose

Page 15: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Juxtapose

Page 16: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 17: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 18: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 19: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Longest Common Subsequence

Page 20: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 21: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 22: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 23: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 24: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 25: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 26: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Juxtapose

Page 27: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 28: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

28

Page 29: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Pocket projector

[Crider et al, GI 2007]

Page 30: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 31: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 32: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Participatory Design Study Extending Tohidi et al.’s results, conduct

user tests with modifiable vs. non-modifiable prototypes

Hypotheses: Higher # of suggestions in modifiable

condition More ground covered by those suggestions

Reasoning: Modifiability makes prototype feel less

finished Participants can get feedback on their

suggestions immediately Also observe: how many suggestions

were we able to implement?

Page 33: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Other Steps to Take Fix up the UI! Integrate alternatives for graphics +

code

Page 34: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Related things we found at Adobe and UIUC

Troikatronix Isadora

Page 35: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Related things we found at Adobe and UIUC

Adobe Image Foundations Toolkit

Page 36: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Related things we found at Adobe and UIUC

Team Storm, UIUC

Page 37: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

UNDERSTANDING INPUT DEVICES(with Sean Follmer)

Page 38: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Motivation: Beyond Multitouch

JazzMutant Lemur Behringer BCF2000 Multitouch Overlays

Page 39: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

State of the Art in Input Taxonomies:15 years old?

Lipscomb, J. S. and Pique, M. E. 1993. Analog input device physical characteristics. SIGCHI Bull. 25, 3

Card, S. K., Mackinlay, J. D., and Robertson, G. G. 1991. A morphological analysis of the design space of input devices. ACM Trans. Inf. Syst. 9, 2

Buxton, W. 1983. Lexical and pragmatic considerations of input structures. SIGGRAPH Comput. Graph. 17, 1

Page 40: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 41: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

INPUT ACTIVE OUTPUT

PASSIVE PROPERTIES

Page 42: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 43: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

INPUT ACTIVE OUTPUT

PASSIVE PROPERTIES

BIG MESS!

Page 44: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Analogy: Network Stacks

Page 45: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008
Page 46: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Issues/Next Steps

Successful as a tool for structuring conversation

But: too much like a white paper, onerous to work out details for a given device

Output not captured well

Page 47: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Example: Actuated Mixer

Page 48: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Example: Ultimarc Keyboard Encoder

Unspecified – Left up to user

Page 49: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Example: Ultimarc Keyboard Encoder

32 discrete digital switches

Page 50: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Example: Ultimarc Keyboard Encoder

Transform switch to ASCII key code

Page 51: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Example: Ultimarc Keyboard Encoder

Keyboard BIOS routines – key repeat

Page 52: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Example: Ultimarc Keyboard Encoder

Keycode Press, release

Page 53: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

TIME-SHIFTING & SIMULATING INPUT TRACES(with Marcello Bastea-Forte, Timothy Cardenas)

Page 54: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Motivation Testing non-WIMP interaction code is essential

but hard Real-time data may not be available due to

hardware/context constraints (e.g., GPS) Generating data may require leaving the desk, or

skilled/time-consuming actions (e.g., Wii Bowling) Reliable interactions need to be tested on many cases

(unit tests)

Cc Michael T Gilbert

Page 55: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Robots to the Rescue!Wizards: humans who do the work of

(recognition) algorithmsRobots: algorithms that emulate

humaninput (e.g. java.awt.robot)

Page 56: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Realtime Offline (Before)

Real data

Simulated Data(Proxied Data)

Phidgets

DART

?

Normalcase

Where does the data come from?W

hen

is t

he d

ata

gene

rate

d?

Page 57: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Needs for a richer device abstraction

Visualize/monitor data that is presented to application

Record/replay of traces Realtime simulation of data Editing (=offline simulation) of data

Page 58: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Concept

DeviceAbstraction in Application

Live Data from Input Device

Page 59: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Control UI WidgetsConcept

DeviceAbstraction in Application

Simulated Data

Live Data from Input Device

RecordedData

Visualization

On/Off

Memory/ Disk

Editor

Page 60: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Prototype Library replaces input device

abstraction classes in Processing General architecture; current

implementation support Mouse, Keyboard, Arduino, Video input

Page 61: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

VideoInputChannels

Page 62: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Video

Current State

Page 63: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Video

History(editable in place)

Page 64: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Video Toggle betweenLive & time-shifted modes

Page 65: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

VideoToggle betweenlive & time-shifted modes

Page 66: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

VideoList of recorded sessions

Page 67: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Video

ProcessingSketch

Playing back previously recorded video

Page 68: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

ArduinoProcessing sketch

Visualization

Page 69: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

stanford hci group

http://hci.stanford.edu

Page 70: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Evaluation N=18, 12male, 6 female, ages 20-

32, students 75-90 minute sessions, three tasks:

warm-up, matching, designing map navigation

70

Page 71: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Mapping TaskGiven Actionscript code that loads a

multilayered map, develop navigation options for a handheld GPS prototype for pedestrians and car drivers.

71

Page 72: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Qualitative Results Participants had clear conceptual

model of linked editing and tuning and applied both.

Alternative tabs were used as a lightweight versioning mechanism and starting point for code experiments.

72

Page 73: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Qualitative Results Areas for improvement:

Runtime changed should be reflected back in source code.

Additional callback functions are sometimes needed to update application state based on variable tuning.

73

Page 74: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

Tree Matching TaskSearch in 4D parameter space. Given

recursive drawing code code for this:

Produce these:

74

Page 75: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

75

0

50

100

150

200

250

300257.81

161.81

Tree Matching Task:Mean Completion Times

ControlJuxtapose

seco

nds

p<0.001 (paired two-tailed Student’s t)

Page 76: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

76

Tree 1 Tree 2 Tree 3 Tree 40

50100150200250300350

Tree Matching Task:Mean Completion Times by Tree

ControlJuxtapose

seco

nds

p<0.01 p~0.01not significant

not significant

Page 77: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

77

0

10

20

30

40

50

60

70

2.60

64.26Mean Parameter Changes

Tested per Minute

ControlJuxtapose

Chan

ges/

min

ute

Page 78: Björn Hartmann, Joel Brandt,  Scott R. Klemmer Adobe SF, 10 March 2008

78

10 20 30 40 50 60 70 80 90 100

More0

10

20

30

40

Histogram of Changes per MinuteJuxtapose Tuning Inter-faceEdit-Compile-Test Cycle