Automatically Generating User Interfaces Adapted To Users ...

123
Automatically Generating User Interfaces Adapted To Users’ Motor And Vision Capabilities Krzysztof Z. Gajos, Jacob O. Wobbrock and Daniel S. Weld

Transcript of Automatically Generating User Interfaces Adapted To Users ...

Page 1: Automatically Generating User Interfaces Adapted To Users ...

Automatically Generating User Interfaces Adapted

To Users’ Motor And Vision Capabilities

Krzysztof Z. Gajos, Jacob O. Wobbrock and Daniel S. Weld

Page 2: Automatically Generating User Interfaces Adapted To Users ...
Page 3: Automatically Generating User Interfaces Adapted To Users ...
Page 4: Automatically Generating User Interfaces Adapted To Users ...
Page 5: Automatically Generating User Interfaces Adapted To Users ...
Page 6: Automatically Generating User Interfaces Adapted To Users ...
Page 7: Automatically Generating User Interfaces Adapted To Users ...
Page 8: Automatically Generating User Interfaces Adapted To Users ...
Page 9: Automatically Generating User Interfaces Adapted To Users ...
Page 10: Automatically Generating User Interfaces Adapted To Users ...
Page 11: Automatically Generating User Interfaces Adapted To Users ...
Page 12: Automatically Generating User Interfaces Adapted To Users ...
Page 13: Automatically Generating User Interfaces Adapted To Users ...
Page 14: Automatically Generating User Interfaces Adapted To Users ...
Page 15: Automatically Generating User Interfaces Adapted To Users ...
Page 16: Automatically Generating User Interfaces Adapted To Users ...
Page 17: Automatically Generating User Interfaces Adapted To Users ...
Page 18: Automatically Generating User Interfaces Adapted To Users ...
Page 19: Automatically Generating User Interfaces Adapted To Users ...

Road MapIntroduction

Interface generation as optimization

Modeling motor capabilities

Adapting to motor capabilities

Adapting to vision capabilities

Adapting to motor and vision capabilities together

Pilot User Study

Lessons learned

Page 20: Automatically Generating User Interfaces Adapted To Users ...

Automatic Interface Generation

• Manually capture design knowledge as rules

• Automatically apply rules to generate new interfaces

Page 21: Automatically Generating User Interfaces Adapted To Users ...

Automatic Interface Generation

• Manually capture design knowledge as rules

• Automatically apply rules to generate new interfaces

• Problems:

Page 22: Automatically Generating User Interfaces Adapted To Users ...

Automatic Interface Generation

• Manually capture design knowledge as rules

• Automatically apply rules to generate new interfaces

• Problems:

• New rule sets necessary for every device type, interaction style or even screen size

Page 23: Automatically Generating User Interfaces Adapted To Users ...

Automatic Interface Generation

• Manually capture design knowledge as rules

• Automatically apply rules to generate new interfaces

• Problems:

• New rule sets necessary for every device type, interaction style or even screen size

• No good way to adapt to individual preferences or needs

Page 24: Automatically Generating User Interfaces Adapted To Users ...

Our Approach: User Interface Generation as Optimization

$( )=...Driven by a “cost function”:

and constraints[Gajos and Weld, IUI’05]

Page 25: Automatically Generating User Interfaces Adapted To Users ...

Find the interface that minimizes

$without violating constraints

[Gajos and Weld, IUI’05]

Page 26: Automatically Generating User Interfaces Adapted To Users ...

Single Algorithm -- Many Devices

Page 27: Automatically Generating User Interfaces Adapted To Users ...

Single Algorithm -- Many Devices

Page 28: Automatically Generating User Interfaces Adapted To Users ...

Robustly Adapting to Different Screen Sizes

Page 29: Automatically Generating User Interfaces Adapted To Users ...

Robustly Adapting to Different Screen Sizes

Page 30: Automatically Generating User Interfaces Adapted To Users ...
Page 31: Automatically Generating User Interfaces Adapted To Users ...
Page 32: Automatically Generating User Interfaces Adapted To Users ...

Highly Personalizable!

$( )=??

Page 33: Automatically Generating User Interfaces Adapted To Users ...

Adapting to Preferences

$( )=Preference estimate

[Gajos and Weld, UIST’05]

Page 34: Automatically Generating User Interfaces Adapted To Users ...

Adapting to Motor Capabilities

$( )=Estimated

task completion

time

Page 35: Automatically Generating User Interfaces Adapted To Users ...

Road Map

Introduction

Interface generation as optimization

Modeling motor capabilities

Adapting to motor capabilities

Adapting to vision capabilities

Adapting to motor and vision capabilities together

Page 36: Automatically Generating User Interfaces Adapted To Users ...

ParticipantsDevice used Impairment

Mouse Muscular DystrophyTrackball Spinal cord injury

Head Mouse Spinal cord injuryEye Tracker none

Vocal Joystick noneVocal Joystick none

Mouse noneTrack Pad none

Mot

or-

impa

ired

Unusual

device

Page 37: Automatically Generating User Interfaces Adapted To Users ...

ParticipantsDevice used Impairment

Mouse Muscular DystrophyTrackball Spinal cord injury

Head Mouse Spinal cord injuryEye Tracker none

Vocal Joystick noneVocal Joystick none

Mouse noneTrack Pad none

Mot

or-

impa

ired

Unusual

device

Page 38: Automatically Generating User Interfaces Adapted To Users ...

ParticipantsDevice used Impairment

Mouse Muscular DystrophyTrackball Spinal cord injury

Head Mouse Spinal cord injuryEye Tracker none

Vocal Joystick noneVocal Joystick none

Mouse noneTrack Pad none

Mot

or-

impa

ired

Unusual

device

Page 39: Automatically Generating User Interfaces Adapted To Users ...

ParticipantsDevice used Impairment

Mouse Muscular DystrophyTrackball Spinal cord injury

Head Mouse Spinal cord injuryEye Tracker none

Vocal Joystick noneVocal Joystick none

Mouse noneTrack Pad none

Mot

or-

impa

ired

Unusual

device

Page 40: Automatically Generating User Interfaces Adapted To Users ...

Elicit a Person’s Motor Abilities Model

Pointing Dragging

Page 41: Automatically Generating User Interfaces Adapted To Users ...

Predicting Movement Time

Actual Data

0

2000

4000

6000

8000

10000

12000

0 100 200 300 400 500 600

Mo

vem

en

t T

ime (

ms)

Distance to target

size 15

size 25

Page 42: Automatically Generating User Interfaces Adapted To Users ...

0

2000

4000

6000

8000

10000

12000

0 100 200 300 400 500 600

Distance to target

Mo

vem

en

t ti

me (

ms)

size-10 size-15 size-25 size-40 size-60

Fitts’ Law Prediction

Predicting Movement Time

Actual Data

0

2000

4000

6000

8000

10000

12000

0 100 200 300 400 500 600

Mo

vem

en

t T

ime (

ms)

Distance to target

size 15

size 25

Page 43: Automatically Generating User Interfaces Adapted To Users ...

0

2000

4000

6000

8000

10000

12000

0 100 200 300 400 500 600

Distance to target

Mo

vem

en

t ti

me (

ms)

size-10 size-15 size-25 size-40 size-60

Fitts’ Law Prediction

Predicting Movement Time

Actual Data

X0

2000

4000

6000

8000

10000

12000

0 100 200 300 400 500 600

Mo

vem

en

t T

ime (

ms)

Distance to target

size 15

size 25

Page 44: Automatically Generating User Interfaces Adapted To Users ...

Custom Motor Capability Models

• Supple++

• Automatically selects the best set of features for a custom regression model for each participant from:ID, 1, log(D), log(W), D, 1/W, W

• Trains the models

Page 45: Automatically Generating User Interfaces Adapted To Users ...

0

2000

4000

6000

8000

10000

12000

0 100 200 300 400 500 600

Distance to target

Mo

vem

en

t ti

me (

ms)

size-10 size-15 size-25 size-40 size-60

Fitts’ Law Prediction

Predicting Movement Time

X0

2000

4000

6000

8000

10000

12000

0 100 200 300 400 500 600

Mo

vem

en

t T

ime (

ms)

Distance to target

size 15

size 25

Actual Data

Page 46: Automatically Generating User Interfaces Adapted To Users ...

0

2000

4000

6000

8000

10000

12000

0 100 200 300 400 500 600

Distance to target

Custom Model

0

2000

4000

6000

8000

10000

12000

0 100 200 300 400 500 600

Distance to target

Mo

vem

en

t ti

me (

ms)

size-10 size-15 size-25 size-40 size-60

Fitts’ Law Prediction

Predicting Movement Time

X0

2000

4000

6000

8000

10000

12000

0 100 200 300 400 500 600

Mo

vem

en

t T

ime (

ms)

Distance to target

size 15

size 25

Actual Data

Page 47: Automatically Generating User Interfaces Adapted To Users ...

Road MapIntroduction

Interface generation as optimization

Modeling motor capabilities

Adapting to motor capabilities

Adapting to vision capabilities

Adapting to motor and vision capabilities together

Pilot User Study

Lessons learned

Page 48: Automatically Generating User Interfaces Adapted To Users ...

UI Building Blocks

• Widgets

Page 49: Automatically Generating User Interfaces Adapted To Users ...

UI Building Blocks

• Widgets

• Layout

Page 50: Automatically Generating User Interfaces Adapted To Users ...

UI Building Blocks

• Widgets

• Layout

• Structure (divide into windows, pop-ups, tabs)

Page 51: Automatically Generating User Interfaces Adapted To Users ...

UI Building Blocks

• Widgets

• Layout

• Structure (divide into windows, pop-ups, tabs)

• Size of interactors

Page 52: Automatically Generating User Interfaces Adapted To Users ...

UI Building Blocks

• Widgets

• Layout

• Structure (divide into windows, pop-ups, tabs)

• Size of interactors

Page 53: Automatically Generating User Interfaces Adapted To Users ...

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

Optimization as Search

Page 54: Automatically Generating User Interfaces Adapted To Users ...

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

Optimization as Search

Page 55: Automatically Generating User Interfaces Adapted To Users ...

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

Optimization as Search

Page 56: Automatically Generating User Interfaces Adapted To Users ...

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

Optimization as Search

Page 57: Automatically Generating User Interfaces Adapted To Users ...

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

Optimization as Search

RightCenterLeft

Page 58: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

RightCenterLeft

Page 59: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

RightCenterLeft

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

Page 60: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

Page 61: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

Page 62: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

Page 63: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

Enumerate all the options: ~370 years

Page 64: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

Enumerate all the options: ~370 years

Supple: ~2 seconds

Page 65: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

RightCenterLeft

Page 66: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

RightCenterLeft

Page 67: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

RightCenterLeft$( ) $( )$( )

$( )

Page 68: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

RightCenterLeft

$( )$( )

Page 69: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

RightCenterLeft

MT( )MT( )

Page 70: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

RightCenterLeft

MT( )

?? ??MT( )=?

=?

Page 71: Automatically Generating User Interfaces Adapted To Users ...

Optimization as Search

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

RightCenterLeft

MT( )

?? ??MT( )=?

=?

Use Supple to optimize for motor abilities: hours or days

Page 72: Automatically Generating User Interfaces Adapted To Users ...

Supple++

• Novel optimization-based algorithm computes a lower bound on movement time through a layout even before all the widgets are chosen

Page 73: Automatically Generating User Interfaces Adapted To Users ...

Supple++

• Novel optimization-based algorithm computes a lower bound on movement time through a layout even before all the widgets are chosen

Use Supple++ to optimize for motor abilities: seconds or minutes

Page 74: Automatically Generating User Interfaces Adapted To Users ...

Results

Page 75: Automatically Generating User Interfaces Adapted To Users ...
Page 76: Automatically Generating User Interfaces Adapted To Users ...
Page 77: Automatically Generating User Interfaces Adapted To Users ...
Page 78: Automatically Generating User Interfaces Adapted To Users ...
Page 79: Automatically Generating User Interfaces Adapted To Users ...
Page 80: Automatically Generating User Interfaces Adapted To Users ...
Page 81: Automatically Generating User Interfaces Adapted To Users ...

Able-bodiedImpaired dexterity

Low strength

Page 82: Automatically Generating User Interfaces Adapted To Users ...

Road MapIntroduction

Interface generation as optimization

Modeling motor capabilities

Adapting to motor capabilities

Adapting to vision capabilities

Adapting to motor and vision capabilities together

Pilot User Study

Lessons learned

Page 83: Automatically Generating User Interfaces Adapted To Users ...
Page 84: Automatically Generating User Interfaces Adapted To Users ...
Page 85: Automatically Generating User Interfaces Adapted To Users ...
Page 86: Automatically Generating User Interfaces Adapted To Users ...
Page 87: Automatically Generating User Interfaces Adapted To Users ...

Popular OS Solution: “Large Fonts”

Page 88: Automatically Generating User Interfaces Adapted To Users ...

Popular OS Solution: “Large Fonts”

Page 89: Automatically Generating User Interfaces Adapted To Users ...

Supple++ Solution

Page 90: Automatically Generating User Interfaces Adapted To Users ...

Supple++ Solution

Page 91: Automatically Generating User Interfaces Adapted To Users ...

Supple++ Solution

Page 92: Automatically Generating User Interfaces Adapted To Users ...

• User selects desired minimum size for all visual cues

• User interface generation constrained to meet desired visual cue size

• Fast “resize and reflow”

Our Approach

Page 93: Automatically Generating User Interfaces Adapted To Users ...

• User selects desired minimum size for all visual cues

• User interface generation constrained to meet desired visual cue size

• Fast “resize and reflow”

Our Approach

Page 94: Automatically Generating User Interfaces Adapted To Users ...

• User selects desired minimum size for all visual cues

• User interface generation constrained to meet desired visual cue size

• Fast “resize and reflow”

Our Approach

Page 95: Automatically Generating User Interfaces Adapted To Users ...

• User selects desired minimum size for all visual cues

• User interface generation constrained to meet desired visual cue size

• Fast “resize and reflow”

Our ApproachContent arranged in tabs

Page 96: Automatically Generating User Interfaces Adapted To Users ...

Road MapIntroduction

Interface generation as optimization

Modeling motor capabilities

Adapting to motor capabilities

Adapting to vision capabilities

Adapting to motor and vision capabilities together

Pilot User Study

Lessons learned

Page 97: Automatically Generating User Interfaces Adapted To Users ...

for “typical” users

Page 98: Automatically Generating User Interfaces Adapted To Users ...

for “typical” users impaired dexterity

modified cost function

Page 99: Automatically Generating User Interfaces Adapted To Users ...

modified constraints

for “typical” users impaired dexterity

low vision

modified cost function

Page 100: Automatically Generating User Interfaces Adapted To Users ...

modified constraints

for “typical” users impaired dexterity

low vision low vision & impaired dexterity

modified cost function

Page 101: Automatically Generating User Interfaces Adapted To Users ...

Results of a Pilot Study

Page 102: Automatically Generating User Interfaces Adapted To Users ...

Results of a Pilot Study• Enabled interaction for one participant

Page 103: Automatically Generating User Interfaces Adapted To Users ...

Results of a Pilot Study• Enabled interaction for one participant

• For others, personalized interfaces improved performance by 20%

Page 104: Automatically Generating User Interfaces Adapted To Users ...

Results of a Pilot Study• Enabled interaction for one participant

• For others, personalized interfaces improved performance by 20%

But

Page 105: Automatically Generating User Interfaces Adapted To Users ...

Results of a Pilot Study• Enabled interaction for one participant

• For others, personalized interfaces improved performance by 20%

But

• Large variance

Page 106: Automatically Generating User Interfaces Adapted To Users ...

Results of a Pilot Study• Enabled interaction for one participant

• For others, personalized interfaces improved performance by 20%

But

• Large variance

• Better but not best

Page 107: Automatically Generating User Interfaces Adapted To Users ...

Problems uncovered

• List selection ≠ drag + point

Page 108: Automatically Generating User Interfaces Adapted To Users ...

Problems uncovered

• List selection ≠ drag + point

R2 = .09

Page 109: Automatically Generating User Interfaces Adapted To Users ...

Modeling List Selection Times

direct model: R2 = .64

Page 110: Automatically Generating User Interfaces Adapted To Users ...

Since this paper...

Page 111: Automatically Generating User Interfaces Adapted To Users ...

Since this paper...

• In the new study, we found that participants with motor impairments

• were consistently faster (by 26%) using interfaces generated by Supple++

• made 73% fewer errors

• strongly preferred Supple++ interfaces to manufacturers’ baselines

Page 112: Automatically Generating User Interfaces Adapted To Users ...

Summary of Contributions

Page 113: Automatically Generating User Interfaces Adapted To Users ...

Summary of Contributions

• Supple++ for automatically generating user interfaces adapted to user’s motor and vision capabilities

Page 114: Automatically Generating User Interfaces Adapted To Users ...

Summary of Contributions

• Supple++ for automatically generating user interfaces adapted to user’s motor and vision capabilities

• No expert necessary

Page 115: Automatically Generating User Interfaces Adapted To Users ...

Summary of Contributions

• Supple++ for automatically generating user interfaces adapted to user’s motor and vision capabilities

• No expert necessary

• Custom regression models for individual motor capabilities

Page 116: Automatically Generating User Interfaces Adapted To Users ...

Summary of Contributions

• Supple++ for automatically generating user interfaces adapted to user’s motor and vision capabilities

• No expert necessary

• Custom regression models for individual motor capabilities

• Novel optimization-based algorithm for efficient ability-based GUI generation

Page 117: Automatically Generating User Interfaces Adapted To Users ...

Limitations & Future Work

Page 118: Automatically Generating User Interfaces Adapted To Users ...

Limitations & Future Work

• Limitations of modeling

Page 119: Automatically Generating User Interfaces Adapted To Users ...

Limitations & Future Work

• Limitations of modeling

• Pointer-only interactions

Page 120: Automatically Generating User Interfaces Adapted To Users ...

Limitations & Future Work

• Limitations of modeling

• Pointer-only interactions

• Movement time as proxy for performance

Page 121: Automatically Generating User Interfaces Adapted To Users ...

Limitations & Future Work

• Limitations of modeling

• Pointer-only interactions

• Movement time as proxy for performance

• How to address other concerns?

Page 122: Automatically Generating User Interfaces Adapted To Users ...

Limitations & Future Work

• Limitations of modeling

• Pointer-only interactions

• Movement time as proxy for performance

• How to address other concerns?

• Design tools