A Toolkit for Peer-to-Peer Distributed User Interfaces: Concepts, Implementation, and Applications
-
Upload
jean-vanderdonckt -
Category
Technology
-
view
2.387 -
download
3
description
Transcript of 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
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
Motivations
Multi-user user interfaces
User Group
System
User 1 User 2 User NU
• Whenever • Wherever
Multi-device environments
User 1 User 2 User NU
User Group
Device 1 Device 2 Device ND
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
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
Toolkit for distributed user interfaces
• Application layer : o UI is dynamically migratable
• o UI is dynamically adaptable
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}
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})}
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
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
Demonstration• Mozart :
Demonstration• Ext/tk
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, ...)
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.