Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and...

51
Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments Jean Vanderdonckt Louvain Interaction Lab Université catholique de Louvain [email protected]

description

Distributed User Interfaces (DUIs) have become one vivid area of research and development inHuman-Computer Interaction (HCI) where many dramatic changes occur in the way we can interactwith interactive systems. DUIs attempt to surpass user interfaces that are manipulated only by a singleend user, on the same computing platform, and in the same environment, with little or no variationsamong these axes. In contrast to such currently existing user interfaces, DUIs enable endusers to distribute any user interface element, ranging from the largest one to the smallest one,across one or many of these dimensions at design and/or run-time: across different users, across different computing platforms, and across different physical environments. In this way, end userscould be engaged in distributed tasks that are regulated by distribution rules, many of them beingcurrently used in the real world. This paper provides a conceptual framework that invites us to rethinktraditional user interfaces in a distributed way based on the locus of distribution control: in the hands of the end user, under control of the system, or in mixed-initiative way. Any user interface submitted to distribution may also be subject to adaptation with respect to the user, the platform, and the environment.

Transcript of Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and...

Page 1: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Distributed User Interfaces:How to Distribute User Interface Elements across Users, Platforms, and Environments

Jean VanderdoncktLouvain Interaction Lab

Université catholique de [email protected]

Page 2: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

What is the situation today?One user performing one task on one domain in one context of use• The predominant paradigm: single…

• Monitor, device• Computing platform• User• Environment• Context of use• Domain and task

2

one many

Page 3: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Introduction• DUI = Distributed User Interface across

– Multiple Users: single user stereotypes vs. multiple stereotypes– Multiple computing Platforms: single platform vs. multiple platforms

• Simultaneously• Asynchronously

– Multiple surrounding Environments (physical): same place vs. multiple places• Problem to be addressed: the design and the development of DUIs while

taking into account– Aspects that are common to various distributions– Aspects that are specific to some distributions

• Today, there is an ontological confusion in the various distributions possible– The State of the Art is largely inconsistent– It is difficult to compare related work

Page 4: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

One dimension at a time

4

• The predominant paradigm: single…

• Monitor, device• Computing platform• User• Environment• Context of use• Domain and task

one many

Page 5: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-monitor/device

• Why take care of multiple monitors?– Device side

• Monitor surface isincreasing, while priceis decreasing

– User side• Users prefer more display surface• User’s productivity increases from 10% to 30%

(although some usability problems are raised)

[Harris,2002]

Projected LCD Pricing 2002-2005

$437$378 $327 $283

$699$597

$510$436

$1,089

$905

$752$625

$0

$200

$400

$600

$800

$1,000

$1,200

2002 2003 2004 2005

$U

S

15" -13.5%

17" -14.6%

18" -16.9%

Page 6: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Mutiple PCs and Displays

0%

10%

20%

30%

40%

50%

60%

70%

80%

None Multiple monitorsattached to

multiplecomputers.

Laptop anddesktop monitor

connectedtogether.

Dualmon or higher

Config

Pe

rce

nt

Re

sp

on

da

nts

All

Multi-monitor/device

• Why take care of multiple monitors?– User side

[Harris,2002]

Page 7: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-monitor/device

• Why take care of multiple monitors?Effects of Display Size on Task Times

0

20

40

60

80

100

120

140

160

DISPLAY

Avera

ge T

ask

Tim

e (

Seco

nds)

Small

Large

[Czerwinsky,2005]

Page 8: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-monitor/device

• Why take care of multiple monitors?

[Czerwinsky,2005]

The tasks were easy to perform

0

1

2

3

4

5

Small LargeDisplay SizeA

vera

ge R

ati

ng (

1=

Dis

agre

e,

5=

Agre

e)

Page 9: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-monitor/device

• Why take care of multiple monitors?

[Czerwinsky,2005]

I was satisfied with the ease of windows layout

012345

Display Size

Ave

rage

Rat

ing

(1=D

isag

ree,

5=Agr

ee)

Small

Large

Page 10: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-monitor/device

• Distribution of UIs across monitors (hardware)– Coupling different monitors to the same

workstation

Page 11: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-monitor/device

• Distribution of UIs across monitors (hardware)– Coupling different monitors to the same

workstation

Hard wired, manual solution

Opportunistic

Lack of reusability

Page 12: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-monitor/device

• Distribution of UIs across monitors (software)– Partitioning of a window across several screens to

obtain a DUI

Page 13: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-monitor/device

• Extending a Desktop with another Monitor

Ref_1 SCREEN_1 SCREEN_2

1 2

4 5

3

6

8 9

1 2

4 5

3

6

8 9 7

2

4

8

5

5

5 6

Without anti-aliasing. No pixel information is lost. But proportions are. Rendering quality is quite bad.

1 1-2 3 2-3 With anti-aliasing. Pixel information are lost (e.g. pixel 2). Proportions are quite ok. Rendering quality is good

1-4 3-6

4-7 6-9

7 9 7-8 8-9

7

[Demeure et al.,2004]

Page 14: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

The 4C Framework for DUIs• C1 (Computation) represents the computation of a DUI, i.e.

what are the elements to be distributed during the operation• C2 (Communication) represents the dimension of distribution

time, i.e. when are the elements of an interactive system distributed

• C3 (Coordination) represents the dimension of distribution responsibility, i.e. who is distributing the interactive system– Detection, computation, selection, execution => ISATINE framework

[Lopez2006]

• C4 (Configuration) represents where a UI is distributed. It therefore poses the problem of how to distribute it– Conserving physical pixels – Conserving logical pixels – Conserving semantic pixels

Developmenttime

Compiletime

Load/startuptime

Executiontime

Design time Run time

Static distribution Dynamic distribution

Customizable UI Configurable UI Tunable UI Mutable UI

Developmenttime

Compiletime

Load/startuptime

Executiontime

Design time Run time

Static distribution Dynamic distribution

Customizable UI Configurable UI Tunable UI Mutable UI

SCREEN_1 SCREEN_2

[Demeure et al.,2004]

Page 15: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Dimensions of the 4C

• C4 (Configuration) represents where a UI is distributed. It therefore poses the problem of how to distribute it by conserving– Physical pixels – Logical pixels – Semantic pixels

D.H / S.H

D.Pix / S.Pix < 1 D.L / S.L

Fewer pixels

Same number of pixels

More pixels but D shorter than S

More pixels and D equal to S

More pixels and D taller than S

[Demeure et al.,2004]

Page 16: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

One dimension at a time

• The predominant paradigm: single…– Monitor, device– Computing platform– User– Environment– Context of use– Domain and task

16

one many

Page 17: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platform

1970 1980 1990 2000 2010 2020

10

100

1000

10000(Amount of end users)

(Amount of interactive systems)

50

500

5000

50000

1 system for 100 users

1 system for 1 user

2 or 3 systemsfor 1 user

10 to 50 systemsfor 1 user

Source: M. Weiser Source: Forrester Research, 2002

Page 18: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platformUnit Sales (per thousand)

0

100.000

200.000

300.000

400.000

500.000

600.000

700.000

800.000

900.000

1.000.000

1997

1998

1999

2000

2001

2002

2003

2004

2005

2006

2007

Mobile Terminals

PC units

[Pierce et al.,2004]

Page 19: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platform

• Problem: how to design a UI that takes care of multiple computing platforms?

• Some solutions:– DistriXML = software architecture for distributing

UIs from one computing platform to another at run-time [Grolaux et al., 2005]

– MigriXML = software architecture for migrating Uis from one platform to another at run-time with adaptation [Molina et al., 2006]

Page 20: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

The Painter’s Palette

+ =

Page 21: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Digital Painter’s Palette

Page 22: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Useful area is wasted !

Page 23: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platform

• Problem: how to design a UI that takes care of multiple computing platforms?

Pencil

Palette

Painting

Paintingtool

[Grolaux & Vanderdonckt,2005]

Page 24: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platform

[Grolaux & Vanderdonckt,2005]

Page 25: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platform

Page 26: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Example using a Pocket PC

Page 27: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platform

Page 28: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platform• DEMIPLAT Principle for migration: Detach

Page 29: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platform• DEMIPLAT Principle for migration: Detach - Migrate

Page 30: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platform• DEMIPLAT Principle for migration: Detach - Migrate - Plastify

Page 31: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platform• DEMIPLAT Principle for migration:

Detach - Migrate - Plastify - Attach

Page 32: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-platform• This is not a floating bar

Process

Page 33: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Computer B

Process

Multi-platform

Process

Computer A

Page 34: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

MigriXML architecture

• Interactive system architecture– GUI application

• Arch meta-model or ‘Slinky’ meta-model

– Platform• Layered structure

[Molina, Vanderdonckt, Gonzalez, 2006]

Page 35: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Case study

• The user’s environment is a small office, with five different platforms

Page 36: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Case study

• Two different user interfaces

Page 37: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Case study

• Migrating from one laptop to the other

12

3 4

Aspire 200015”, 16:10 1280x800

PT-LB10SU4:3

800x600

Latitude15”, 4:3

1024x768

Page 38: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Case study

• Migrating from a laptop to the Pocket PC

1

2

3

Aspire 200015”, 16:10 1280x800

e7503,8”, 3:4240x320

Page 39: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

One dimension at a time

• The predominant paradigm: single…– Monitor, device– Computing platform– User– Environment– Context of use– Domain and task

39

one many

Page 40: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multiple users

• Design guideline #1: provide multiple ways to carry out a task by different users– Interactive systems should better support multiple users

in multi-tasking because group definition changes

[Mandviwalla & Olfman, 2000]

Page 41: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multiple users

• Design guideline #2: support multiple work methods– A same task could involve different sub-tasks depending

on the context

• Design guideline #3:support group evolution– GR1 et GR2 changent en fonction du temps

[Mandviwalla & Olfman, 2000]

Page 42: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

One dimension at a time

• The predominant paradigm: single…– Monitor, device– Computing platform– User– Environment– Context of use– Domain and task

42

one many

Page 43: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-context

• The Sedan-Bouillon Tourist Application with Plasticity

• The Slides Manager

Title

Content

N A V I G A T I

[Demeure et al.,2004]

Page 44: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

One dimension at a time

• The predominant paradigm: single…– Monitor, device– Computing platform– User– Environment– Context of use– Domain and task

44

one many

Page 45: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

What we had for multi-platform• Application layer :

o UI is dynamically migratable

•  o UI is dynamically adaptable

Page 46: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

What we have for multi-tasking• Ext/Tk toolkit

Page 47: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Display Site

Architecture overview• Transparent proxy mechanisms

– Proxies relay event bindings from the functional core– Widgets trigger these events inside the CM at the display site– The CM relays and triggers the event at the application site– Proxies store all their event bindings

Application Site

Communication ManagerFunctional Core Widget 1 Proxy

Widget 2 Proxy

Widget … Proxy

Widget N Proxy

Widget 1

Widget 2

Widget …

Widget N

User Interface

(using TCP)

Event Listener

Event Triggerer

Page 48: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Multi-tasking combined

• Set of services offered to multiple users using multiple platforms in the same context

[Vandervelpen et al., 2005]

Page 49: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Conclusion

• Think everything distributed according to the following « template »

• Everything could be thought distributed– Accessibility, evaluation– Virtual, mixed reality

Page 50: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

Conclusion• Advantages of the 4C framework for DUI

– Multiple monitors, same platform, same user– Multiple platforms, same user– Multiple platforms, different users, but same technological

space– Multiple platforms, different users, different technological

spaces• Limitations

– Framework oriented towards the context of use– Some aspects not considered in the framework

• Ambient intelligence• Possible extension

• Generalization needed

Page 51: Distributed User Interfaces: How to Distribute User Interface Elements across Users, Platforms, and Environments

Keynote address - Interaccion'2010 (Valencia, 6-10 September 2010)

For more information and downloading,http://www.isys.ucl.ac.be/bchi

User Interface eXtensible Markup Languagehttp://www.usixml.org

FP7 Selfman projecthttp://www.ist-selfman.org/

Thank you very much!

FP7 Serenoa projecthttp://serenoa.morfeo-project.org/wiki/index.php/Main_Page