SLIDE 1 Fast And Robust Interface Generation for Ubiquitous Applications
The SUPPLE Project University of Washington, Seattle Krzysztof Gajos, David Christianson, Raphael Hoffmann, Tal Shaked, Kiera Henning, Jing Jing Long, and Daniel S. Weld
SLIDE 2 Fast And Robust Interface Generation for Ubiquitous Applications
Automatic, On The Fly
The SUPPLE Project University of Washington, Seattle Krzysztof Gajos, David Christianson, Raphael Hoffmann, Tal Shaked, Kiera Henning, Jing Jing Long, and Daniel S. Weld
SLIDE 3
Motivation
SLIDE 4
Motivation
SLIDE 5
Motivation
SLIDE 6
Motivation
SLIDE 7
Motivation
SLIDE 8 Motivation
- Variety of display devices & interaction contexts
makes hand-designed interfaces expensive ⇒ Adapt to device characteristics
SLIDE 9 Motivation
- Variety of display devices & interaction contexts
makes hand-designed interfaces expensive ⇒ Adapt to device characteristics
- Current interfaces: complex & “One size fits all”
⇒ Adapt to users and tasks
SLIDE 10 Motivation
- Variety of display devices & interaction contexts
makes hand-designed interfaces expensive ⇒ Adapt to device characteristics
- Current interfaces: complex & “One size fits all”
⇒ Adapt to users and tasks ⇒ Automatic interface generation is a scalable solution
SLIDE 11 Approach
- Develop abstract representation for:
- Interfaces
- Display devices
- Users
- Automatically generate interfaces from the
abstractions
SLIDE 12 SUPPLE Architecture
Display Device Model Target Device SUPPLE Interface Model Application
Appliance User Model User's Info Space
SLIDE 13 SUPPLE Architecture
Display Device Model Target Device SUPPLE Interface Model Application
Appliance User Model User's Info Space
SLIDE 14
Road Map
Motivation Modeling user interfaces in SUPPLE User interface generation as optimization Automatically adapting user interfaces A preliminary user study Adaptation in SUPPLE Customization support in SUPPLE Conclusions
SLIDE 15
- simple types:
- media types:
- containers:
- derivative types:
- vectors:
- actions: τ1 → τ2
τ, Cτ
Modeling User Interfaces
vector(τ) int|f loat|string|bool {τi
i∈1...n}
image|interactiveMap
SLIDE 16 Modeling User Interfaces
Light Level: τ: <int, [0,10]> Power: τ: bool Light: τ: { , } Light Bank: τ: { , , } Light ... Light ... A/V: τ: { , } Projector: τ: { , } Classroom: τ: { , , } Input: τ: <string, {data1,data2, video}> Vent: τ : <int, [0,3]> Power: τ : bool Screen: τ: bool
SLIDE 17 Modeling User Interfaces
Light Level: τ: <int, [0,10]> Power: τ: bool Light: τ: { , } Light Bank: τ: { , , } Light ... Light ... A/V: τ: { , } Projector: τ: { , } Classroom: τ: { , , } Input: τ: <string, {data1,data2, video}> Vent: τ : <int, [0,3]> Power: τ : bool Screen: τ: bool
SLIDE 18 Light Level: : <int, [0,10]> Power: : bool Light: : { , } Light Bank: : { , , } Light ... Light ... A/V: : { , } Projector: : { , } Classroom: : { , , } Input: : <string, {data1,data2, video}> Vent: : <int, [0,3]> Power: : bool Screen: : bool
Modeling User Interfaces
SLIDE 19 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
SLIDE 20 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
Click!
SLIDE 21 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
SLIDE 22 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
SLIDE 23 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
SLIDE 24 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
Click!
SLIDE 25 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
SLIDE 26 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
SLIDE 27
Media Types
SLIDE 28
Subtyping
SLIDE 29
Subtyping
SLIDE 30 Subtyping
Click!
SLIDE 31
SLIDE 32
SLIDE 33
SLIDE 34
SLIDE 35
Road Map
Motivation Modeling user interfaces in SUPPLE User interface generation as optimization Automatically adapting user interfaces A preliminary user study Adaptation in SUPPLE Customization support in SUPPLE Conclusions
SLIDE 36 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
User Interface Generation as Optimization
SLIDE 37 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
- Driven by a Cost function ($) -- estimated
user effort to manipulate a rendering of the interface
User Interface Generation as Optimization
SLIDE 38 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
- Driven by a Cost function ($) -- estimated
user effort to manipulate a rendering of the interface
- Cost function derived from device model
User Interface Generation as Optimization
SLIDE 39 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
- Driven by a Cost function ($) -- estimated
user effort to manipulate a rendering of the interface
- Cost function derived from device model
- Algorithm: branch-and-bound search with
full constraint propagation at each step
User Interface Generation as Optimization
SLIDE 40 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
- Driven by a Cost function ($) -- estimated
user effort to manipulate a rendering of the interface
- Cost function derived from device model
- Algorithm: branch-and-bound search with
full constraint propagation at each step
- Performance: 0.2 - 2.0 seconds on a
desktop computer
User Interface Generation as Optimization
SLIDE 41 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models
- Driven by a Cost function ($) -- estimated
user effort to manipulate a rendering of the interface
- Cost function derived from device model
- Algorithm: branch-and-bound search with
full constraint propagation at each step
- Performance: 0.2 - 2.0 seconds on a
desktop computer
User Interface Generation as Optimization
SLIDE 42 User Interface Generation as Optimization
- Flexible with respect to screen size
- Versatile: Same algorithm for different
devices
- Allows new concerns to be included in the
rendering process, e.g.:
- Cross-device consistency
- Adaptation to usage patterns
SLIDE 43
Robustly Adapting to Different Screen Sizes
SLIDE 44
Robustly Adapting to Different Screen Sizes
SLIDE 45
Robustly Adapting to Different Screen Sizes
SLIDE 46
Single Algorithm -- Many Devices
SLIDE 47
Single Algorithm -- Many Devices
SLIDE 48
Single Algorithm -- Many Devices
SLIDE 49
Single Algorithm -- Many Devices
SLIDE 50
Single Algorithm -- Many Devices
SLIDE 51
Adapting To Usage Patterns
SUPPLE with an empty trace
SLIDE 52 Adapting To Usage Patterns
SUPPLE with an empty trace SUPPLE with a
“lights-heavy” trace
SLIDE 53
Road Map
Motivation Modeling user interfaces in SUPPLE User interface generation as optimization Automatically adapting user interfaces A preliminary user study Adaptation in SUPPLE Customization support in SUPPLE Conclusions
SLIDE 54 Adapting To Usage Patterns By Complete Makeover
SUPPLE with an empty trace SUPPLE with a
“lights-heavy” trace
SLIDE 55 Adapting To Usage Patterns By Complete Makeover
SUPPLE with an empty trace SUPPLE with a
“lights-heavy” trace
Is this the only way to adapt?
SLIDE 56
Content Eliding
SLIDE 57
Content Eliding
SLIDE 58
Content Eliding
SLIDE 59
Content Eliding
SLIDE 60
Visual Popout
SLIDE 61
Visual Popout
SLIDE 62
Split Interfaces
SLIDE 63
Split Interfaces
SLIDE 64
Split Interfaces
SLIDE 65 Adaptation Strategies
Efficiency Confusion
SLIDE 66 Adaptation Strategies
Efficiency Confusion Efficiency Confusion
Complete Makeover
SLIDE 67 Adaptation Strategies
Efficiency Confusion
Complete Makeover Content eliding
SLIDE 68 Adaptation Strategies
Efficiency Confusion
Visual Popout Complete Makeover Content eliding
SLIDE 69 Adaptation Strategies
Efficiency Confusion
Split Visual Popout Complete Makeover Content eliding
SLIDE 70 Adaptation Strategies
Efficiency Confusion
Split Visual Popout Complete Makeover Content eliding
SLIDE 71
Preliminary User Study
Split Interface
SLIDE 72
Preliminary User Study
Split Interface
SLIDE 73
Preliminary User Study
Split Interface
SLIDE 74
Preliminary User Study
Split Interface
SLIDE 75
Preliminary User Study
Split Interface Visual Popout Interface
SLIDE 76
Preliminary User Study Results
SLIDE 77 Preliminary User Study Results
- Split Interface strongly preferred over
non-adaptive
SLIDE 78 Preliminary User Study Results
- Split Interface strongly preferred over
non-adaptive
- Both adaptive interfaces slightly faster than
non-adaptive
SLIDE 79 Preliminary User Study Results
- Split Interface strongly preferred over
non-adaptive
- Both adaptive interfaces slightly faster than
non-adaptive
- But: Visual Popout interface often found
distracting
SLIDE 80
Sneak Peak: Followup Study
with Mary Czerwinski and Desney Tan
SLIDE 81 Sneak Peak: Followup Study
- In a different setting, we tested three
adaptation strategies including Split Interface and Visual Popout Interface with Mary Czerwinski and Desney Tan
SLIDE 82 Sneak Peak: Followup Study
- In a different setting, we tested three
adaptation strategies including Split Interface and Visual Popout Interface
- Users strongly preferred and were
significantly faster using Split Interface with Mary Czerwinski and Desney Tan
SLIDE 83 Sneak Peak: Followup Study
- In a different setting, we tested three
adaptation strategies including Split Interface and Visual Popout Interface
- Users strongly preferred and were
significantly faster using Split Interface
Visual Popout Interface with Mary Czerwinski and Desney Tan
SLIDE 84 Split Interfaces in SUPPLE
- Adapting by promoting hard-to-reach but
frequently used functionality
SLIDE 85
Split Interfaces in SUPPLE
SLIDE 86 Click!
Split Interfaces in SUPPLE
SLIDE 87
Split Interfaces in SUPPLE
SLIDE 88 Click!
Split Interfaces in SUPPLE
SLIDE 89 Click!
Split Interfaces in SUPPLE
SLIDE 90 Click! Click!
Split Interfaces in SUPPLE
SLIDE 91
Split Interfaces in SUPPLE
SLIDE 92 Click!
Split Interfaces in SUPPLE
SLIDE 93
Split Interfaces in SUPPLE
SLIDE 94
Split Interfaces in SUPPLE
Four extra clicks required just to print in landscape mode!
SLIDE 95
Split Interfaces in SUPPLE
SLIDE 96
Split Interfaces in SUPPLE
SLIDE 97
Split Interfaces in SUPPLE
SLIDE 98 System-
Adaptation: Customization
- Customizing any part of the interface with
drag and drop
- Out of order undo
- Generalization
SLIDE 99
Customization
SLIDE 100
Customization
SLIDE 101
Customization
SLIDE 102
Customization
SLIDE 103
Customization
SLIDE 104
Customization
SLIDE 105
Road Map
Motivation Modeling user interfaces in SUPPLE User interface generation as optimization Automatically adapting user interfaces A preliminary user study Adaptation in SUPPLE Customization support in SUPPLE Conclusions
SLIDE 106 Conclusions
- A powerful, flexible and practical tool for
automatically generating user interfaces for multiple devices
- Adaptation and customization offer the possibility
- f creating custom-made UIs for each user
- Support for distributed operation and caching
makes it practical even on small devices
SLIDE 107
Can I Have It?
SLIDE 108 Can I Have It?
- We are awaiting permission to release
SUPPLE as an open source toolkit
- Visit SUPPLE web site to sign up for the
user’s mailing list
Yes!
SLIDE 109 Contributors
Daniel Weld Raphael Hoffmann Kiera Henning Jing Jing Long me Anthony Wu Dave Christianson Tal Shaked
SLIDE 110 More Information
http://www.cs.washington.edu/ai/supple/ : supple interfaces
kgajos@cs.washington.edu
weld@cs.washington.edu
SLIDE 111
http://www.cs.washington.edu/ai/supple/ : supple interfaces
kgajos@cs.washington.edu
weld@cs.washington.edu
More Information