quill: a ui design case study a. chris long postdoctoral research fellow hci institute

47
quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

Post on 20-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

quill: A UI Design Case Study

A. Chris LongPostdoctoral Research Fellow

HCI Institute

Page 2: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

2

Administrivia

Turn in Homework #1 Homework #2 assignment on course website

Page 3: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

3

Outline

Gestures quill Design quill Architecture & Implementation Object-Oriented Design Long-running Tasks and Interfaces Recognition-based UIs How Gesture Recognition Works More quill Implementation

Page 4: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

4

Gestures

Mark that invokes a command

Page 5: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

5

Mark that invokes a command

Gestures

delete me

Page 6: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

6

Mark that invokes a command

Benefits* Fast* Save screen space* Avoid “aerobic interface”* Specify operation and operand(s)

simultaneously

Gestures

delete me

Page 7: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

7

Problems With Gestures

For users* Computer often misrecognizes

gestures* Difficult to learn and remember

gestures For designers

* Gestures are hard to design

Page 8: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

8

Design

PrototypeTest

quill’s Place in the World

Who: Designer of pen-based UI

When: During design phase

What: Designing gestures

Why: To design better gestures

Page 9: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

9

Another View of quill

Pen Input Display

OS

Application “back end”

User Interface

Page 10: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

10

Designing quill

Design low-fi prototype Pilot test low-fi Redesign Implement Java version

Page 11: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

11

Low-fi Prototype

Page 12: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

12

Current Version

Tree view

Expanded view

Suggestion for improvement

Page 13: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

13

Recognition Problem

Page 14: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

14

Gestures, Packages, and Groups,

Oh My!

cut

Edit

MyApplication

View

copy …

Gesture

Gesturecategory

Gesturegroup

Gesturepackage

Page 15: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

15

quill Architecture

JDK Core Gesture Objects

* Gesture* Gesture Category* …

Recognizer Gesture Analyses

Widgets

Page 16: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

16

quill Architecture

Widgets

Gesture Analyses

Gesture & Recognition

Objects

Swing

Core JDK

Page 17: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

17 Java/Swing

Implementation Overview

93 classes, 26,000 lines

Notice

Desktop

Main window

Tree display

management

windows

Clipboard

Page 18: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

18

Object Oriented Design

Gesture Objects* Gesture* GestureCategory* GestureGroup* GesturePackage

Gesture Display Widgets* GestureDisplay* GestureInteractor* GestureCategoryDisplay* GestureGroupDisplay* GesturePackageDisplay* GestureCategoryThumbn

ailDisplay

Page 19: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

19

OO Design

GestureObject

DefaultGestureObject

GestureContainer

AbstractGestureContainer

GestureCategory GestureGroup

GesturePackage

Page 20: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

20

Analyzing Gestures

Problem: Analysis may take a long time Solutions?

Page 21: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

21

Analyzing Gestures

Problem: Analysis may take a long time Strategies for analyzing gestures

* Run analysis in foreground, disable all actions

* Analyze in background- Disable all conflicting actions - Allow anything, cancel analyses- Allow anything

Page 22: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

22

Multithreading

Benefits* ?

Drawbacks* ?

Page 23: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

23

Multithreading

Benefits* Computation in

background- Can do very complex

tasks

* User can perform any action, any time

Drawbacks* Must synchronize data

across threads* Deadlock* Race conditions

Page 24: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

24

Multiple Threads in Java

Thread class* Start separate thread that runs any method

synchronized keyword* Prevents a method from being called or

object from being accessed by more than one thread at once

SwingWorker class* Easy to run background thread that

produces a result

Page 25: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

25

Recognition-Based UIs

Examples* Pen gesture* Handwriting* Speech

Advantages* ?

Disadvantages* ?

Page 26: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

26

Recognition-Based UIs

Advantages* Natural input* Informal* Multiple interpretations

Disadvantages* No clear separation of data and commands* Ambiguous commands* Individual differences* Multiple interpretations

Page 27: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

27

Dealing with Recognition

Confirm dangerous operations Multiple modes may help disambiguate

* Speech + pen, for example Provide undo/redo

Page 28: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

28

How Does Recognition Work?

Training* Measure geometric

features of gestures* Compute average

feature values for each type of gesture

* Compute how important each feature is

Recognition (a.k.a. Classification)* Measure geometric

features of unknown gesture

* Compare with features of known gestures

* Pick closest known gesture

Page 29: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

29

Rubine’s Feature Set

Initial angle Length of bounding

box diagonal Angle of bounding

box diagonal Distance between

first and last points Angle between first

and last points Length Total angle traversed

Page 30: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

30

Rubine’s Feature Set (cont.)

Sum of absolute value of angle at each point

Sum of squared angle at each point (sharpness)

Square of maximum speed

Duration

Page 31: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

31

Weakness of Feature-based Recognition

Feature set has to be right

Page 32: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

32

Feature-based Training

Mean feature vector

Per-class covariance matrix

FifE

cE

eeic

cic

01 1

ˆˆ

ˆ

f

))(( ˆˆ

1

0ˆˆˆ

ˆ

jcejc

E

eiceicijc ff

c

ff

Page 33: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

33

Training (cont.)

Average covariance matrix

Weights estimation

FjwF

iicijjc

1)(1

ˆ1

ˆ f

1

1

0 ˆ

ˆ

1C

cc

C

c c

ijc

ij

EC

E

Page 34: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

34

Feature-based Classification

For all gesture classes c, compute

Return class with max vc

CcfwwvF

iiiccc

01

ˆ0ˆˆ

Page 35: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

35

quill Implementation Issues (cont’d)

Suggestions (cont’d)* When do they disappear?

- User says to ignore- No longer apply

* When are two notices the same?- At time A, gestures X and Y are too similar- At time B, something happens and they aren’t

similar- At time C, they are similar again- Display notice again?

Page 36: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

36

Implementation Issues (cont’d)

Annotations* Special purpose

vs. generic* How to compose?

Gesture display* Desktop windows

- Tiled- Standard MDI

* Display factory

Page 37: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

37

Implementation issues (cont’d)

Generic propertiesvoid GestureObject.setProperty(String name, Object value)

Object GestureObject.getProperty(String name)

* What happens to properties like “isMisrecognized” when copy & paste?

* Persistent vs. transient

Page 38: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

38

Implementation issues (cont’d)

Generic propertiesvoid GestureObject.setProperty(String name, Object value)

Object GestureObject.getProperty(String name)

* What happens to properties like “isMisrecognized” when copy & paste?

* Persistent vs. transient

Page 39: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

39

Implementation Issues (cont’d)

Menus: enable/disable items, and dispatching commands* Context-dependent

menu items* Context-dependent

gesture drawing* Solution: “Chain of

command” pattern that follows selection

Page 40: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

40

Questions?

Other topics* Grad school* Berkeley (city or university)* Speech UIs* More on pen-based UIs

Page 41: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

The End

Design Patterns: Elements of Reusable Object-Oriented Software

by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

http://www.cs.cmu.edu/~chrisl/http://guir.berkeley.edu/projects/quill/

Page 42: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

Extras

Page 43: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

43

Criticisms

Recognition is due to poor recognizers, which will eventually be perfect* Not for a long time, if ever* Learning and memory predictions still useful

Recognition will never be good enough* Already good enough for many users* Is improving over time

Typing is faster and more accurate than writing* Pens won’t replace keyboards, but are better in

many situations

Page 44: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

44

Criticisms (cont.)

Gestures will always be too hard to learn and remember, and will never be useful enough* Gestures very often used on paper in many domains

Design tool doesn’t guarantee good gestures* Will provide useful advice* Will shorten design cycle

There are only a small number of common gestures* Application/domain-specific gestures* Personal shorthand

Page 45: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

45

Criticisms (cont.)

Marking menus are better than free-form gestures* Can’t specify additional information with marking-

menus* Shapes are arbitrary* All straight lines and 45/90º angles

Page 46: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

46

Criticisms (cont.)

What’s wrong with traditional GUI interaction techniques?* Pen mouse* Pen

- Finer control- Has other dimensions (e.g., pressure, tilt)

* Mouse- More buttons (sometimes)

Page 47: Quill: A UI Design Case Study A. Chris Long Postdoctoral Research Fellow HCI Institute

47

Pen vs. Mouse

Kato, et al* Pen significantly faster & more accurate than mouse

for precise dragging* Pen significantly faster for pointing* Pen has directional dependencies; mouse doesn’t

Mackenzie, et al* Pen slightly faster for pointing* Mouse slightly faster for dragging