fast and robust interface generation for ubiquitous
play

Fast And Robust Interface Generation for Ubiquitous Applications - PowerPoint PPT Presentation

Fast And Robust Interface Generation for Ubiquitous Applications The S UPPLE Project University of Washington, Seattle Krzysztof Gajos, David Christianson, Raphael Hoffmann, Tal Shaked, Kiera Henning, Jing Jing Long, and Daniel S. Weld


  1. Fast And Robust Interface Generation for Ubiquitous Applications The S UPPLE Project University of Washington, Seattle Krzysztof Gajos, David Christianson, Raphael Hoffmann, Tal Shaked, Kiera Henning, Jing Jing Long, and Daniel S. Weld

  2. Automatic, On The Fly Fast And Robust Interface Generation for Ubiquitous Applications The S UPPLE Project University of Washington, Seattle Krzysztof Gajos, David Christianson, Raphael Hoffmann, Tal Shaked, Kiera Henning, Jing Jing Long, and Daniel S. Weld

  3. Motivation

  4. 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

  5. Approach • Develop abstract representation for: • Interfaces • Display devices • Users • Automatically generate interfaces from the abstractions

  6. S UPPLE Architecture Interface SUPPLE User Model Model Application User's Info or Space Appliance Device Model Display Target Device

  7. S UPPLE Architecture Interface SUPPLE User Model Model Application User's Info or Space Appliance Device Model Display Target Device

  8. Road Map Motivation Modeling user interfaces in S UPPLE User interface generation as optimization Automatically adapting user interfaces A preliminary user study Adaptation in S UPPLE Customization support in S UPPLE Conclusions

  9. Modeling User Interfaces • simple types: int | f l o at | strin g | b oo l • media types: image | interactiveMap • containers: i ∈ 1 ...n } { τ i • derivative types: � τ, C τ � • vectors: vector( τ ) • actions: τ 1 → τ 2

  10. Modeling User Interfaces Classroom: τ : { , , } Light Bank : A/V: τ : { , , } τ : { , } Light : Projector: Light ... Light ... τ : { , } τ : { , } Light Level : Power : Screen: Power : Input: Vent: τ : <int, [0,10]> τ : bool τ : bool τ τ : τ : <int, [0,3]> : bool <string, {data1,data2, video}>

  11. Modeling User Interfaces Classroom: τ : { , , } Light Bank : A/V: τ : { , , } τ : { , } Light : Projector: Light ... Light ... τ : { , } τ : { , } Light Level : Power : Screen: Power : Input: Vent: τ : <int, [0,10]> τ : bool τ : bool τ τ : τ : <int, [0,3]> : bool <string, {data1,data2, video}>

  12. Modeling User Interfaces Classroom: � : { , , } Light Bank : A/V: � : { , , } � : { , } Light : Projector: Light ... Light ... � : { , } � : { , } Light Level : Power : Screen: Power : Input: Vent: � : <int, [0,10]> � : bool � : bool � : bool � : <string, {data1,data2, video}> � : <int, [0,3]>

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

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

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

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

  17. Media Types

  18. Subtyping Click!

  19. Road Map Motivation Modeling user interfaces in S UPPLE User interface generation as optimization Automatically adapting user interfaces A preliminary user study Adaptation in S UPPLE Customization support in S UPPLE Conclusions

  20. User Interface Generation as Optimization • 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 Model (UI, Device, User) - Algorithm - Results - Personalization (Adaptation, Customization) - Arnauld - Consistency - Task Models

  21. 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

  22. Robustly Adapting to Different Screen Sizes

  23. Single Algorithm -- Many Devices

  24. Adapting To Usage Patterns S UPPLE with an empty trace S UPPLE with a “lights-heavy” trace

  25. Road Map Motivation Modeling user interfaces in S UPPLE User interface generation as optimization Automatically adapting user interfaces A preliminary user study Adaptation in S UPPLE Customization support in S UPPLE Conclusions

  26. Adapting To Usage Patterns By Complete Makeover S UPPLE with an empty trace Is this the only way to adapt? S UPPLE with a “lights-heavy” trace

  27. Content Eliding

  28. Visual Popout

  29. Split Interfaces

  30. Adaptation Strategies Efficiency Efficiency Complete Makeover Confusion Confusion

  31. Adaptation Strategies Efficiency Complete Makeover Content eliding Confusion

  32. Adaptation Strategies Efficiency Complete Makeover Content eliding Visual Popout Confusion

  33. Adaptation Strategies Efficiency Complete Makeover Split Content eliding Visual Popout Confusion

  34. Adaptation Strategies Efficiency Complete Makeover Split Content eliding Visual Popout Confusion

  35. Preliminary User Study Visual Split Popout Interface Interface

  36. 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

  37. 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

  38. Split Interfaces in S UPPLE • Adapting by promoting hard-to-reach but frequently used functionality

  39. Split Interfaces in S UPPLE Click!

  40. Split Interfaces in S UPPLE Click! Click!

  41. Split Interfaces in S UPPLE Click!

  42. Split Interfaces in S UPPLE Four extra clicks required just to print in landscape mode!

  43. Split Interfaces in S UPPLE

  44. System- Vs. User-Initiated Adaptation: Customization • Customizing any part of the interface with drag and drop • Out of order undo • Generalization

  45. Customization

  46. Customization

  47. Customization

  48. Customization

  49. Customization

  50. Road Map Motivation Modeling user interfaces in S UPPLE User interface generation as optimization Automatically adapting user interfaces A preliminary user study Adaptation in S UPPLE Customization support in S UPPLE Conclusions

  51. 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

  52. Can I Have It? Yes! • We are awaiting permission to release S UPPLE as an open source toolkit • Visit S UPPLE web site to sign up for the user’s mailing list

  53. Contributors Daniel Weld Tal Shaked Dave Christianson Raphael Hoffmann Anthony Wu Kiera Henning Jing Jing Long me

  54. More Information • SUPPLE: http://www.cs.washington.edu/ai/supple/ : supple interfaces • Krzysztof Gajos: kgajos@cs.washington.edu • Daniel Weld: weld@cs.washington.edu

  55. More Information • SUPPLE: http://www.cs.washington.edu/ai/supple/ : supple interfaces • Krzysztof Gajos: kgajos@cs.washington.edu • Daniel Weld: weld@cs.washington.edu

Recommend


More recommend