fast and robust interface generation for ubiquitous ...kgajos/papers/2005/kgajos... · applications...

57
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

Upload: others

Post on 18-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Fast And Robust Interface Generation for Ubiquitous

ApplicationsThe SUPPLE Project

University of Washington, Seattle

Krzysztof Gajos, David Christianson, Raphael Hoffmann, Tal Shaked, Kiera Henning,

Jing Jing Long, and Daniel S. Weld

Page 2: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Fast And Robust Interface Generation for Ubiquitous

Applications

Automatic, On The Fly

The SUPPLE ProjectUniversity of Washington, Seattle

Krzysztof Gajos, David Christianson, Raphael Hoffmann, Tal Shaked, Kiera Henning,

Jing Jing Long, and Daniel S. Weld

Page 3: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Motivation

Page 4: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

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

Page 5: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Approach

• Develop abstract representation for:

• Interfaces

• Display devices

• Users

• Automatically generate interfaces from the abstractions

Page 6: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

SUPPLE Architecture

Display

Device Model

Target Device

SUPPLEInterface Model

Applicationor

Appliance

User Model

User's InfoSpace

Page 7: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

SUPPLE Architecture

Display

Device Model

Target Device

SUPPLEInterface Model

Applicationor

Appliance

User Model

User's InfoSpace

Page 8: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Road MapMotivationModeling user interfaces in SUPPLE

User interface generation as optimizationAutomatically adapting user interfaces

A preliminary user studyAdaptation in SUPPLE

Customization support in SUPPLE

Conclusions

Page 9: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

• simple types:

• media types:

• containers:

• derivative types:

• vectors:

• actions: !1 ! !2

!!, C! "

Modeling User Interfaces

vector(!)

i nt| f loat|st r i ng|bool

{!ii!1...n}

image|interactiveMap

Page 10: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

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

Page 11: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

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

Page 12: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

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:

! : boolScreen:

!: bool

Modeling User Interfaces

Page 13: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models

Click!

Page 14: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models

Page 15: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models

Click!

Page 16: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models

Page 17: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Media Types

Page 18: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Subtyping

Click!

Page 19: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof
Page 20: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof
Page 21: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Road MapMotivationModeling user interfaces in SUPPLE

User interface generation as optimizationAutomatically adapting user interfaces

A preliminary user studyAdaptation in SUPPLE

Customization support in SUPPLE

Conclusions

Page 22: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

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

Page 23: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

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

Page 24: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Robustly Adapting to Different Screen Sizes

Page 25: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Single Algorithm -- Many Devices

Page 26: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Adapting To Usage Patterns

SUPPLE with an empty

trace

SUPPLE with a “lights-heavy”

trace

Page 27: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Road MapMotivationModeling user interfaces in SUPPLE

User interface generation as optimizationAutomatically adapting user interfaces

A preliminary user studyAdaptation in SUPPLE

Customization support in SUPPLE

Conclusions

Page 28: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

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?

Page 29: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Content Eliding

Page 30: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Visual Popout

Page 31: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Split Interfaces

Page 32: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Adaptation StrategiesEfficiency

Confusion

Efficiency

Confusion

Complete

Makeover

Page 33: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Adaptation StrategiesEfficiency

Confusion

Complete

Makeover

Content eliding

Page 34: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Adaptation StrategiesEfficiency

Confusion

Visual Popout

Complete

Makeover

Content eliding

Page 35: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Adaptation StrategiesEfficiency

Confusion

Split

Visual Popout

Complete

Makeover

Content eliding

Page 36: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Adaptation StrategiesEfficiency

Confusion

Split

Visual Popout

Complete

Makeover

Content eliding

Page 37: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Preliminary User Study

Split Interface

Visual Popout

Interface

Page 38: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

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

Page 39: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

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

• Users strongly disliked Visual Popout Interface

with Mary Czerwinski and Desney Tan

Page 40: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Split Interfaces in SUPPLE

• Adapting by promoting hard-to-reach but frequently used functionality

Page 41: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Click!

Split Interfaces in SUPPLE

Page 42: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Click!

Click!

Split Interfaces in SUPPLE

Page 43: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Click!

Split Interfaces in SUPPLE

Page 44: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Split Interfaces in SUPPLE

Four extra clicks required just to print in

landscape mode!

Page 45: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Split Interfaces in SUPPLE

Page 46: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

System- Vs. User-Initiated Adaptation: Customization

• Customizing any part of the interface with drag and drop

• Out of order undo

• Generalization

Page 47: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Customization

Page 48: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Customization

Page 49: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Customization

Page 50: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Customization

Page 51: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Customization

Page 52: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Road MapMotivationModeling user interfaces in SUPPLE

User interface generation as optimizationAutomatically adapting user interfaces

A preliminary user studyAdaptation in SUPPLE

Customization support in SUPPLE

Conclusions

Page 53: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Conclusions

• A powerful, flexible and practical tool for automatically generating user interfaces for multiple devices

• Adaptation and customization offer the possibility of creating custom-made UIs for each user

• Support for distributed operation and caching makes it practical even on small devices

Page 54: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

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!

Page 55: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

Contributors

Daniel Weld Raphael Hoffmann

Kiera Henning Jing Jing Long meAnthony Wu

Dave Christianson Tal Shaked

Page 56: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

More Information

• SUPPLE:http://www.cs.washington.edu/ai/supple/ : supple interfaces

• Krzysztof Gajos: [email protected]

• Daniel Weld: [email protected]

Page 57: Fast And Robust Interface Generation for Ubiquitous ...kgajos/papers/2005/kgajos... · Applications Automatic, On The Fly The SUPPLE Project University of Washington, Seattle Krzysztof

• SUPPLE:http://www.cs.washington.edu/ai/supple/ : supple interfaces

• Krzysztof Gajos: [email protected]

• Daniel Weld: [email protected]

More Information