Upload
ricardo-tesoriero
View
238
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Presentation of "Distributing User Interfaces" as invited talk by Prof. Dr. Ricardo Tesoriero on the 4th Workshop on Distributed User Interfaces in the 14th International Conference on Web Engineering ICWE 2014
Citation preview
Distributing User Interfaces
4th Workshop on Distributed User Interfaces and Multimodal Interaction
14th International Conference on Web Engineering ICWE 2014Prof. Dr. Ricardo Tesoriero
ISE Research GroupUniversity of Castilla-La Mancha
Index
Introduction
Motivation
Characterizing the Distribution of User Interfaces.
User Interface Distribution Capabilities
User Interface Distribution States
Proxywork
Proxywork Distribution Primitives
Conclusions
Future Work. Open Issues
Why distributing user interfaces is important?Motivation
User interfacesMulti-purpose mobile devices
User interfacesMulti-purpose stationary devices
User interfaces Specific devices
User Interface EcoSystems
See on device
Notification
User interface
L. Terrenghi, A. Quigley y A. Dix, «A taxonomy for and analysis of multi-person-display ecosystems,» Personal Ubiquitous Comput., vol. 13, nº 8, pp. 583-598, 2009.
Distributed User Interfaces vs.
Distributing User InterfacesThe User Interface Distribution Dichotomy
Case 1: Distributing the article section of the Web Page
Imagine this scenario…
Suppose that you are browsing information on the Internet using your Smartphone
You go to your favorite Web Site and you start reading an interesting article while you are on the bus, train or metro on your way home
Case 1: Distributing the article section of the Web Page
When you arrive home you find your flatmates watching the Smart TV
As you tell them about the article you have read, they suddenly got interested in it.
Case 1: Distributing the article section of the Web Page
To quickly share this information with them, you “transfer” the article from the Smartphone to the SmartTV
You DISTRIBUTE the article section of
the Web page from the Smartphone to
the Smart TV
Case 2: Distributing a menu section of a Web Page
You are projecting a Web page on the Wall to show event participants information
You use the laptop keyboard and pad to get the information
Case 2: Distributing a menu section of a Web Page
As you want to control pages to be displayed by the projector remotely, you “transfer” the menu section to the Smartphone
Case 3: Continuity You are filling a Web form using your Laptop, but you have to catch
the train!
“Transfer” (Distribute) the Web form of the Web Page to the Smartphone (including the information you have already entered when using the Laptop)
Characterization of the User Interface Distribution
How do we describe these characteristics on an Ecosystem of User Interfaces?
There are many models to describe the User Interface. However, most of them (i.e. AUI Model of the CRF or IFML) employ a Tree based structure where Interaction Objects have a single parent, if any (root).
How can we characterize the user interface distribution if a component can be hosted by more than one container?
G. Calvary, J. Coutaz, L. Bouillon, M. Florins, Q. Limbourg, L. Marucci, F. Paternò, C. Santoro, N. Souchon, D. Thevenin y J. Vanderdonckt, «The CAMELEON reference framework,» Deliverable 1.1, CAMELEON Project, 03 Septiembre 2002. [On Line]. Available: http://www.w3.org/2005/Incubator/model-based-ui/wiki/Cameleon_reference_framework. [last access: 12/06/13].
OMG. IFML: The Interaction Flow Modeling Language. URL= http://www.ifml.org/
How can we characterize the distribution capabilities of user interfaces?
Metamodel defined in ECOREenriched with OCL
Pedro G. Villanueva, Ricardo Tesoriero, José A. Gallud. Revisiting the Concept of Distributed User Interfaces. Distributed User Interfaces: Usability and Collaboration. Springer.Human–Computer Interaction Series 2013, ISBN 978-1-4471-5499-0, pp 1-15.
Graphical UI Distribution Model Editor
• Technology• Eclipse Plugin• EMF• GMF
• Characteristics• Graphical DSL • Model Validation• UI Distribution
Capabilities
Video
Platform
The combination of Hardware and OS that supports the user interface
Tables / Smart phone running Android or iOS
Laptops running Windows or Linux
Etc.
What about the Web?
The Web Browser is considered as part of the platform
Two Web Browsers running in the same machine are two different platforms
Two Web Browser Tabs (even in separate Windows) are the same platform
What about multiple monitors
Monitors are considered devices that are connected to the same platform
N monitors connected to the same computer belong to a single platform
Interaction object
The Interaction Object plays the same role as the Abstract Interaction Object defined by the Cameleon framework.
On concrete implementations they may play the role of Windows, Panels, Text Fields, Buttons, etc.
J. M. Vanderdonckt y F. Bodart, «Encapsulating knowledge for intelligent automatic interaction objects selection,» de INTERACT '93 and CHI '93 Conference on Human Factors in Computing Systems, Amsterdam, 1993.
G. Calvary, J. Coutaz, L. Bouillon, M. Florins, Q. Limbourg, L. Marucci, F. Paternò, C. Santoro, N. Souchon, D. Thevenin y J. Vanderdonckt, «The CAMELEON reference framework,» Deliverable 1.1, CAMELEON Project, 03 Septiembre 2002. [On Line]. Available: http://www.w3.org/2005/Incubator/model-based-ui/wiki/Cameleon_reference_framework. [last access: 12/06/13].
Hosting
Defines a relationship between two Interaction Objects (Host and Guest)
It represents that the Guest Interaction Object can be hosted in the Host Interaction Object during the execution of the User Interface
A Guest Interaction Object can be hosted in more than one Host Interaction Object
All Guest Interaction Objects must be hosted in at least one Host Interaction Object during the User Interface lifetime.
The host may change during the User Interface lifetime
Interaction ContainerInteraction Component
The Hosting relationship defines Interaction Objects as
Interaction Containers
Panels, Layouts, Menus, Submenus, Tables, etc.
Interaction Components
Buttons, Labels, Entry Fields, Menu Items, RFID Tags
If an Interaction Object does not host any Interaction Object then it is an Interaction Component
If an Interaction Object hosts another Interaction Object then it “mutates” into an Interaction Container
Both Interaction Components and Interaction Container must be contained in another Interaction Object
ImplementationInteraction Surface
Defines a relationship between an Interaction Container and a Platform
It represents that the Interaction Container is supported by a Platform
An Interaction Container is implemented by at most one Platform
An Interaction Container which is implemented by Platform “mutates” into an Interaction Surface
An Interaction Surface might not be hosted on any other Interaction Object.
Windows, Activities, RFID Panels, Pages, Views
Interaction dependency
Defines a relationship between two Interaction Surfaces (Master and Slave)
It represents that the lifetime of the Slave Interaction Surface depends on the lifetime of the Master Interaction Surface
Floating Toolbars depend on the Main Window
Paint .NETInteraction Components
Paint .NETInteraction Containers and Hostings
Paint .NETPlatforms, Implementations, Interaction Surfaces and Interaction Dependencies
User Interface Distribution Capabilities
Divisible
A UI System is Divisible iff exists an Interaction Object that can be hosted on more than one Interaction Surface
Distributable
A UI System is Distributable iff exists at least one Interaction Object that can be hosted on at least two Interaction Surfaces implemented on different Platforms
User Interface Distribution States
We define the User Interface Distribution State as the organization of all the Interaction Objects that are part of a UI System at a given instant in time.
Unified State: A UISystem reaches the Unified State iff all Interaction Objects are hosted on the same Interaction Surface at a given time
Divided State: A UISystem reaches the Divided State iff it has at least two Interaction Surfaces which host at least one Interaction Object each at a given time.
Distributed State: A UI System reaches the Distributed State iff it defines at least two Interaction Surfaces that are hosted on different Platforms. As Interaction Surfaces are Interaction Contaners, they host at least one Interaction Component each at a given time.
Single Platform State: A UI System reaches the Single Platform State iff it all Interaction Objects that are part of the UI System are hosted on the a set of Interaction Surfaces that share the same Platform.
Quiz
Capabilities Divisible Distributable
Distribution States Unified Divided Single Platform Distributed
M. Manca y F. Paternò, «Distributed User Interfaces with MARIA,» de Distributed User Interfaces 2011 (DUI 2011), CHI 2011 Workshop, Vancouver, BC, Canada, 2011.
Paint .NET Capabilities
Divisible Distributable
Distribution States Unified Divided Single Platform Distributed
GIMP 2.7
Capabilities Divisible Distributable
Distribution States Unified Divided Single Platform Distributed
WallShare
Capabilities Divisible Distributable
Distribution States Unified Divided Single Platform Distributed
!
Pedro González Villanueva, Ricardo Tesoriero, José A. Gallud: Multi-pointer and collaborative system for mobile devices. Mobile HCI 2010: 435-438.
Pedro González Villanueva, José A. Gallud, Ricardo Tesoriero: WallShare: a multi-pointer system for portable devices. AVI 2010: 416
RFID Panels Capabilities
Divisible Distributable
Distribution States Unified Divided Single Platform Distributed
Ricardo Tesoriero, Pedro G. Villanueva, Habib Moussa Fardoun, Gabriel Sebastian. “Distributed User Interfaces in Public Spaces using RFID-based Panels”. International Journal of Human-Computer Studies. ISSN: 1071-5819. Volume 72. Issue 1. Pages: 111–125. January 2014.
Pedro G. Villanueva, Ricardo Tesoriero, José A. Gallud, Abdulrahman H. Altalhi. “A Framework to Develop Web Applications Based on RFID Panels”. International Journal of Universal Computer Science. ISSN: 0948-695x. Volume 19. Issue 12. Pages: 1792-1807. June 2013.
!
Think about it…
Keep thinking …
See on device
Notification
User interface
IF Distributed UI is an StateAND
IF Distributable is a CapabilityTHEN
DUI ≠ DeUI
Therefore, when we talk about Distributed User Interfaces, we are really talking about Distributable User Interfaces!
Proxywork : Distributable User Interfaces for the Web
Proxywork allows users to distribute the user interface components of Web applications among a set of displays.
The distribution is controlled by the user through a set of primitives (i.e. show, hide, copy, move, etc.) attached to Web page components.
These primitives are automatically attached to Web page components on runtime by the Proxywork Web proxy.
Therefore, Web pages do not require any extra information to be distributed among different displays. Pedro González Villanueva, Ricardo Tesoriero and José.
A. Gallud. Distributing web components in a display ecosystem using Proxywork. BCS-HCI '13. Proceedings of the 27th International BCS Human Computer Interaction Conference, Brunel University, London, UK, 9-13 September 2013, art. 28. URL=http://dl.acm.org/citation.cfm?id=2578048
Pedro González Villanueva. Distributable User Interfaces. PhD Thesis. University of Castilla-La Mancha. 2014
Proxywork Primitives
Connect / Disconnect (Device)
Rename
Clone
Copy
Migrate
Video
Copy Clone Migrate
Proxywork Limitations
The Web page should be “well formed”
Although Proxywork is able to distribute any component; the distribution is limited to specific Tags (DIVs)
HTTPS
User Interface Adaptation
Cross domain communication
Etc.
Conclusions
Defines a metamodel to characterize the distribution of User Interfaces
Graphical Model Editor to build and validate User Interface Distribution models
Reflexive Model Editor that characterizes User Interfaces
Set the difference between User Interface capabilities and states to redefine the DUI concept as DeUI
Proxywork transforms Web Pages into Distributable User Interfaces
Future Work
Distributable User Interfaces and Task modeling
Adapting Distributable User Interfaces
Controlling Distributable User Interfaces
Etc.
Thank you!
Ricardo Tesoriero [email protected]
José A. Gallud [email protected]
Pedro González Villanueva [email protected]