Transcript
Page 1: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Jérémie Melchior, Donatien Grolaux, Jean Vanderdonckt, Peter Van Roy 

[email protected] at BCHI, http://www.isys.ucl.ac.be/bchi

Université catholique de Louvain (BELGIUM) 

EICS 2009 - July 15

Page 2: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Outline - Motivations• Multi-user user interfaces• Multi-device environments• Multi-platform user interfaces• Toolkit for distributed user interfaces• Peer-to-Peer distribution• Demonstration• Future work

Page 3: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Motivations

Page 4: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Multi-user user interfaces

User Group

System

User 1 User 2 User NU

• Whenever • Wherever

Page 5: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Multi-device environments

User 1 User 2 User NU

User Group

Device 1 Device 2 Device ND

Page 6: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Multi-platform user interfaces

User 1 User 2 User NU

User Group

Device 1 Device 2 Device ND

CP 1 CP 2 CP N

CP 1 CP 2 CP N

CP 1 CP 2 CP N

Page 7: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Toolkit for distributed user interfaces

• Three-layer structure :o Application - user interfaceso Ext/Tk - toolkit for migration and adaptationo Mozart - for the distribution layer

Application

Ext/Tk

Mozart

Page 8: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Toolkit for distributed user interfaces

• Application layer : o UI is dynamically migratable

•  o UI is dynamically adaptable

Page 9: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Toolkit for distributed user interfaces

• Ext/tk : 1°) Creation of the UI

UI={Build window( name:window                               selector( name:selectoritems:["Radiobuttons" "Listbox" "Menu"]curselection:1text:"Selector"action:proc{$}R={UI.selector get(curselection:$)}in{UI.selector setContext((default#listbox#menu).R)}end))}{UI.window show}

Page 10: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Toolkit for distributed user interfaces

• Ext/tk : 2°) Migration of the UI

{Offer {UI.selector getRef($)}}

UI2={Build window(name:window)}{UI2.window show}{UI2.window     display({Obtain})}

Page 11: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Toolkit for distributed user interfaces

• Mozart : Multi-paradigm programming languageo Strongly dynamically typedo Procedural, Object-Orientationo Functional, Logic and Symbolic programmingo Transparent distribution support

Distributed network protocols are attached automatically to some of the native data types of OZ

Page 12: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Proxy W Renderer W

Site A

Peer-to-Peer distribution• Widget : Proxy + Renderer

Proxy W

Site A

Renderer W

Site B

• Proxy = stationary, functional core• Renderer = distributed, user interaction

Page 13: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Demonstration• Mozart : 

Page 14: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Demonstration• Ext/tk

Page 15: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Future work• Android support• Transparent migration of the top level widget• Compatibility with Mozart 1.4.0 and newer• High-level operations (window migration, widget

copy, ...)

Page 16: A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications

Bibliography• Donatien Grolaux, Transparent Migration and

Adaptation in a Graphical User Interface Toolkit, Ph.D. dissertation, Department of Computing Science and Engineering, Université catholique de Louvain, Sep. 2007.


Top Related