18/05/2012RCIS 2012 – Valencia, Spain, May 17 th 1 Jérémie Melchior, Jean Vanderdonckt and Peter Van Roy Researcher at LiLab,

Slides:



Advertisements
Similar presentations
1 DTI/EPSRC 7 th June 2005 Reacting to HCI Devices: Initial Work Using Resource Ontologies with RAVE Dr. Ian Grimstead Richard Potter BSc(Hons)
Advertisements

Chapter 11 Designing the User Interface
Dimitrios Kotsalis a George Vellis a Demosthenes Akoumianakis a Jean Vanderdonckt b a Department of Informatics Engineering, Technological Education Institution.
EEE436 / CS422 Final Presentation Group
Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.
Public Displays and Private Mobile Phone Displays in Multiplayer Games Riku Suomela Nokia Research Center.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Performance Comparison of Existing Leader Election Algorithms for Dynamic Networks Mobile Ad Hoc (Dynamic) Networks: Collection of potentially mobile computing.
Dynamic layout of Distributed Applications in FarGo Ophir Holder Israel Ben-Shaul Hovav Gazit.
WebDynpro for ABAP Short introduction.
SE-565 Software System Requirements More UML Diagrams.
Development of mobile applications using PhoneGap and HTML 5
1 CGS1060 Mobile UIs Copyright 2012 by Janson Industries.
Annual SERC Research Review - Student Presentation, October 5-6, Extending Model Based System Engineering to Utilize 3D Virtual Environments Peter.
GMD German National Research Center for Information Technology Innovation through Research Jörg M. Haake Applying Collaborative Open Hypermedia.
A Computational Framework for Multi-dimensional Context- aware Adaptation Vivian Genaro Motti LILAB – Louvain Interaction Laboratory Université catholique.
WINDOWS APPLICATIONS by Jane Cable Also called Accessories Also called Components.
MVC pattern and implementation in java
Presentation Outline Motivation Basic concept Bakground Futur work Conclusion Nesrine MEZHOUDI User Interface Adaptation.
1 Forms A form is the usual way that information is gotten from a browser to a server –HTML has tags to create a collection of objects that implement this.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
George Vellis a Dimitrios Kotsalis a Demosthenes Akoumianakis a Jean Vanderdonckt b a Department of Applied Informatics & Multimedia, Technological Education.
Java Programming, 3e Concepts and Techniques Chapter 3 Section 65 – Manipulating Data Using Methods – Java Applet.
1 ICAS’2008 – Gosier, March 16-21, 2008 A Transformational Approach for Pattern-based Design of User Interfaces Costin Pribeanu Jean Vanderdonckt National.
Model-View-Controller Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
Dart: A Meta-Level Object-Oriented Framework for Task-Specific Behavior Modeling by Domain Experts R. Razavi et al..OOPSLA Workshop DSML‘ Dart:
Livespace Architecture. Overview Livespace requirements Discussion of issues Livespace Architecture.
Reference WPx/Tx.y/YY-MM-DD/PP Distributed User Interfaces in Space and Time Jérémie Melchior Université catholique de Louvain Doctoral Consortium at EICS2011.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
1 Workshop on Model Driven Software Engineering for Ambient Intelligence Applications – Darmstadt, Nov. 7 th, 2007 Distributed User Interfaces in Ambient.
Rapid Prototyping of Distributed User Interfaces J. P. Molina 1,2, J. Vanderdonckt 1, P. González 2 A. Fernández 2 and M. D. Lozano 2 1 Université catholique.
Computer Science 340 Software Design & Testing UML Sequence Diagrams.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Wireless Sensor Network Wireless Sensor Network Based.
Direct Manipulation of User Interfaces for Migration J. P. Molina 1,2, J. Vanderdonckt 1 and P. González 2 1 Université catholique de Louvain 2 University.
EIS'2007 (Salamanca, Spain, March 22-24, 2007) 1 Towards an Extended Model of User Interface Adaptation: the ISATINE framework 1 Víctor M. López Jaquero,
Chapter 9 Applying UML and Patterns -Craig Larman
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
Solving the Mapping Problem in UI Design by Seamless Integration in I DEAL XML Francisco Montero LoUISE Research Group University of Castilla-La Mancha.
Jérémie Melchior, Donatien Grolaux, Jean Vanderdonckt, Peter Van Roy Researcher at BCHI, Université.
Nathalie Aquino 1, Jean Vanderdonckt 2, Francisco Valverde 1, Oscar Pastor 1 1 Department of Information Systems and Computation, Valencia University of.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Murielle Florins 1, Francisco Montero Simarro 2, Jean Vanderdonckt 1, Benjamin Michotte 1 1 Université catholique de Louvain 2 Universidad de Castilla-la-Mancha.
 Engineering Quality Software.  Today o State Diagrams Jerry Kotuba SYST30009-Engineering Quality Software 2.
1 CSE 331 Model/View Separation and Observer Pattern slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia.
1 Interaccion 2008, IX Congreso de Interacción Persona-Ordenador, Albacete, 9-12 June 2008 ECOOL: Generation of Collaborative Multiplatform Scenarios with.
1 ACM SAC’2008 – Fortaleza, Ceará, Brazil, March 16-20, 2008 An Intelligent Editor for Multi-Presentation User Interfaces Benoît Collignon 1, Jean Vanderdonckt.
CMPF124 Personal Productivity With Information Technology Chapter 1 – Part 2 Introduction to Windows Operating Systems Manipulating Windows GUI CMPF 124.
Identifying classes, Packages and drawing class Diagrams, Object Diagrams and composite structure diagrams Week 07 1.
THE EYESWEB PLATFORM - GDE The EyesWeb XMI multimodal platform GDE 5 March 2015.
Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.
1 ICAS’2008 – Gosier, March 16-21, 2008 Model-Driven Engineering of Multi-Target Plastic User Interfaces Benoît Collignon 1, Jean Vanderdonckt 1, Gaëlle.
Multi player client sever Snake Game Technology : JAVA (swing for user interface and Socket for passing coordinates of snakes, food item and score)
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
High degree of user interaction Interactive Systems: Model View Controller Presentation-abstraction-control.
1 INTRODUCTION TO COMPUTER GRAPHICS. Computer Graphics The computer is an information processing machine. It is a tool for storing, manipulating and correlating.
Method – Notation 8 Hours.
Elaboration popo.
Software Design Refinement Using Design Patterns
Computer Software Digital Literacy.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
SURFBRD Michael Margel Dec CSC 2524.
Computer Software Digital Literacy.
User Interface Design and Usability jQuery, jQuery UI & jQuery Plugins
EyesWeb Mobile Designer and Runtime
University of Central Florida COP 3330 Object Oriented Programming
UML dynamic Modeling (Behavior Diagram)
Unified Modeling Language
Analysis models and design models
Presentation transcript:

18/05/2012RCIS 2012 – Valencia, Spain, May 17 th 1 Jérémie Melchior, Jean Vanderdonckt and Peter Van Roy Researcher at LiLab, Université catholique de Louvain (BELGIUM)

Motivations Distributed User Interfaces: what and how? Lacks in other works Contribution: distribution graph Case study: a distributed Pictionary Conclusion 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 2

1 or more desktops 1 or more phones Mobile phone Smartphone 1 or more laptops And maybe more ! Xbox Playstation TV … 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 3

Lots of devices High need of visualization of the distribution state Only pre-programmed disposition & static environment No support for platform leaving or joining at run- time 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 4

Definition: “any application UI whose components can be distributed across different displays of different computing platforms that are used by different users (co-located or remote collaboration)” 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 5

-Any UI could be distributed -Example: Paint (not distributed by default) 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 6

-Any UI could be distributed -Example: Paint (distributed) - Windows: drawing area - Windows Phone: all buttons, bars, … 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 7

Distribution state of the whole system Snapshot of the system at a certain moment of time in a stable distribution state Context = set of platforms, set of users and one environment) Visual representation: Example: Adrien is in distribution state DS1, which means he is in the context of use C1 C1 adrien = ({desktop}, {Adrien}, quiet) Adrien’s distribution state = C1 adrien 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 8 C1 adrien

Sum of all individual states Example: C1 bastien = ({desktop, laptop}, {Bastien}, quiet) Distribution shared state = {C1 adrien, C1 bastien } Visual representation: 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 9 C1 adrien C1 bastien

Need to know the distribution state 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 10 Distribution Graph

Need to know the distribution state Need to trigger the distribution 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 11 Distribution Primitives Distribution Script

Need to know the distribution state Need to trigger the distribution Need to know « what » to distribute 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 12 Part or whole of the UI

ARIS: visualisation of devices and windows Meta-UI Static environment States: ? 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 13 [BIE04] Biehl & Bailey ARIS: An Inferface for Application Relocation in an Interactive Space

A Reference Model for DUIs Widgets: An image: (WS Slides) A text: « Infos » (WS Infos) Conceptual level States: ? 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 14 [DEM05] Demeure, Calvary, et al. A Reference Model for DUIs

Idea: state-transition diagram Allow modelling of the distribution Dynamic evolution of the distribution Ability to join or split models Need of some concepts: Distribution state Distribution shared state Distribution graph Distribution primitive Distribution script 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 15

State diagram/state chart model Node Individual states of entities involved in the distribution ▪  Distribution State Collective representation of their synchronization ▪  Distribution Shared State Transitions = Event-condition-action: ▪Action = Distribution Script At conceptual level Evolution at run-time 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 16

18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 17 C1 adrien = ({desktop}, {Adrien}, quiet) C1 bastien = ({desktop, laptop}, {Bastien}, quiet) C2 adrien = ({laptop}, {Adrien}, quiet) C1 bastien C2 adrien C2 bastien = ({desktop}, {Bastien}, quiet) Event: Adrien changes platform Action: Replace(C1 a, C2 a ) Event: Bastien changes platform Action: Replace(C1 b, C2 b )

Distribution Script: Set of distribution primitives Distribution Primitive Definition: basic operations that manipulates parts or wholes of a user interfaces at run-time Part of a catalog Example of distribution primitive: {Display td(name:p1 button(name:b_c glue:e text:"Create:"))} {Display entry(name:e_c glue:w bg:white init:"Own game" handle:HEntry return:R) #p1} Operation – Widget - Property:Value - #Location 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 18

NameEffect DisplayDisplay an item in one or more UIs UndisplayHide an item from one to many UIs MoveMove an item from a UI to another one CopyCopy an item of an UI to another one InsertInsert an item in a container of a UI SwitchExchange two components in the same or different UIs MergeMerge two UIs together SeparateExplode a UI in two or more separated UIs 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 19

A distributed Pictionary: 3 roles: The drawer The observer The guesser 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 20

A distributed Pictionary: 3 roles: The drawer: allowed to draw in the application (+drawing bar) The observer: allowed to see the drawing The guesser: allowed to see the drawing and suggest words 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 21

A distributed Pictionary: 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 22 No game started Player connects Game started Condition: More than 2 players connected Event: Player1 connects Action: execute Distribution Script 1 Event: Player2 connects Action: execute Distribution Script 1

Distribution Script 1: {Display td(name:p1 button(name:b_c glue:e text:"Create:"))} {Display entry(name:e_c glue:w bg:white init:"Own game” handle:HEntry return:R) #p1} {Display lr(name:create_game b_c e_c)#p1} {Display td(name:p1 create_game td(name:join) label(name:status glue:swe text:"Waiting for a game“ bg:white) ) } for I in {DiscoverGames} do {Display button(name:b#I glue:nswe text:"Join "#I} #join} end 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 23

A distributed Pictionary: 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 24 No game started Player connects Game started Event: Player2 connects Action: execute Distribution Script 2 Condition: More than 2 players connected

Distribution Script 2: {Copy p1 td(name:p2)} 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 25

A distributed Pictionary: 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 26 No game started Player connects Game started Event: Player1 or 2 starts the game Action: execute Distribution Script 3 Condition: More than 2 players connected

Distribution Script 3: {Undisplay create_game#p1} {Update status "Running game: "#Name} {Display td(name:observer lr(name:enter_word glue:nwe bg:white label(bg:white text:"Enter word: ") entry(glue:w bg:white init:"House“ handle:HEW)) lr(name:start_found bg:white glue:new button(glue:e text:"Start") button(glue:w text:"Found !")) lr(name:remaining_time bg:white glue:swe label(glue:e bg:white text:"Remaining time: ") label(glue:w bg:white text:"02:00"))) #p1} {Display td(name:p1 create_game observer status)} 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 27

A distributed Pictionary: Simple example Only 2 players 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 28

A distributed Pictionary: Complex example 4 players 2 teams (A - B) 2 players in Team A 2 players in Team B 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 29

Concepts Distribution Graph Distribution State Distribution Primitive (distribution operation) Distribution Script Complex concepts with several items: Devices User Interface components Roles Reusable: others can reuse the idea or extends the concepts Need for validation with a real game/application 18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 30

18/05/2012 RCIS 2012 – Valencia, Spain, May 17 th 31