SlideShare a Scribd company logo
1 of 31
Jérémie Melchior, Jean Vanderdonckt and Peter Van Roy
                                                                     Jeremie.Melchior@uclouvain.be
                                                             Researcher at LiLab, http://www.lilab.be
                                                         Université catholique de Louvain (BELGIUM)
18/05/2012   RCIS 2012 – Valencia, Spain, May 17th                                                  1
•     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 17th   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 17th            5
-     Any UI could be distributed
 -     Example: Paint (not distributed by default)




18/05/2012   RCIS 2012 – Valencia, Spain, May 17th   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 17th       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:                      C1adrien
 •     Example:
             •     Adrien is in distribution state DS1, which means he is in
                   the context of use C1
             •     C1adrien = ({desktop}, {Adrien}, quiet)
             •     Adrien’s distribution state = C1adrien


18/05/2012   RCIS 2012 – Valencia, Spain, May 17th                             8
•     Sum of all individual states
 •     Example:
             •     C1bastien = ({desktop, laptop}, {Bastien}, quiet)
             •     Distribution shared state = {C1adrien, C1bastien}

                                                                       C1adrien
 •     Visual representation:                                          C1bastien




18/05/2012   RCIS 2012 – Valencia, Spain, May 17th                                 9
• Need to know the distribution state




                                        Distribution Graph


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


                                        Distribution Primitives
                                        Distribution Script

18/05/2012   RCIS 2012 – Valencia, Spain, May 17th                11
• Need to know the distribution state
 • Need to trigger the distribution
 • Need to know « what » to distribute


                                        Part or whole of the UI


18/05/2012   RCIS 2012 – Valencia, Spain, May 17th                12
•    ARIS: visualisation of devices and windows
             •     Meta-UI
             •     Static environment
             •     States: ?




[BIE04] Biehl & Bailey
ARIS: An Inferface for Application Relocation in an Interactive Space
18/05/2012   RCIS 2012 – Valencia, Spain, May 17th                      13
•     A Reference Model for DUIs
             •       Widgets:
                 •     An image:        (WS Slides)
                 •     A text: « Infos » (WS Infos)
             •       Conceptual level
             •       States: ?




[DEM05] Demeure, Calvary, et al.
A Reference Model for DUIs
18/05/2012   RCIS 2012 – Valencia, Spain, May 17th    14
•     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 17th   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 17th                                    16
C1adrien = ({desktop}, {Adrien}, quiet)
 C1bastien = ({desktop, laptop}, {Bastien}, quiet)        Event: Adrien changes platform
                                                          Action: Replace(C1a, C2a)



                                                     C2adrien = ({laptop}, {Adrien}, quiet)
                                                                  C1bastien


                                                         Event: Bastien changes platform
                              C2adrien                   Action: Replace(C1b, C2b)
        C2bastien = ({desktop}, {Bastien}, quiet)

18/05/2012   RCIS 2012 – Valencia, Spain, May 17th                                        17
•     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 17th                                 18
Name                             Effect
  Display                          Display an item in one or more UIs
  Undisplay                        Hide an item from one to many UIs
  Move                             Move an item from a UI to another one
  Copy                             Copy an item of an UI to another one
  Insert                           Insert an item in a container of a UI
  Switch                           Exchange two components in the same or different UIs
  Merge                            Merge two UIs together
  Separate                         Explode a UI in two or more separated UIs




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




18/05/2012   RCIS 2012 – Valencia, Spain, May 17th   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 17th                                     21
•     A distributed Pictionary:                             Player2
                                                      Event: Player1 connects
                                                      Action: execute Distribution Script 1
             Player connects



     No game started

                    Condition: More than 2
                    players connected


      Game started




18/05/2012    RCIS 2012 – Valencia, Spain, May 17th                                           22
•     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 17th                             23
•     A distributed Pictionary:                      Event: Player2 connects
                                                      Action: execute Distribution Script 2
             Player connects



     No game started

                    Condition: More than 2
                    players connected


      Game started




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




18/05/2012   RCIS 2012 – Valencia, Spain, May 17th   25
•     A distributed Pictionary:                      Event: Player1 or 2 starts the game
                                                      Action: execute Distribution Script 3
             Player connects



     No game started

                    Condition: More than 2
                    players connected


      Game started




18/05/2012    RCIS 2012 – Valencia, Spain, May 17th                                           26
•     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 17th                              27
•     A distributed Pictionary:
             •     Simple example
             •     Only 2 players




18/05/2012   RCIS 2012 – Valencia, Spain, May 17th   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 17th   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 17th                   30
18/05/2012   RCIS 2012 – Valencia, Spain, May 17th   31

More Related Content

More from Jean Vanderdonckt

UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
Jean Vanderdonckt
 
Gelicit: A Cloud Platform for Distributed Gesture Elicitation Studies
 Gelicit: A Cloud Platform for Distributed Gesture Elicitation Studies Gelicit: A Cloud Platform for Distributed Gesture Elicitation Studies
Gelicit: A Cloud Platform for Distributed Gesture Elicitation Studies
Jean Vanderdonckt
 

More from Jean Vanderdonckt (20)

UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
 
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
 
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
 
Gesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOpsGesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOps
 
Engineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeEngineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with Slime
 
Evaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and MeasuresEvaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and Measures
 
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
 
Designing Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsDesigning Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and Pitfalls
 
Fundamentals of Gestural Interaction
Fundamentals of Gestural InteractionFundamentals of Gestural Interaction
Fundamentals of Gestural Interaction
 
Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?
 
User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...
 
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
 
Attach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you WorkAttach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you Work
 
The Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV GesturesThe Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV Gestures
 
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-Defined Gestures with Upper BodyHead and Shoulders Gestures: Exploring User-Defined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
 
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for SmartphonesG-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
 
Vector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture RecognitionVector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture Recognition
 
An ontology for reasoning on body-based gestures
 An ontology for reasoning on body-based gestures An ontology for reasoning on body-based gestures
An ontology for reasoning on body-based gestures
 
AB4Web: An On-Line A/B Tester for Comparing User Interface Design Alternatives
AB4Web: An On-Line A/B Tester for Comparing User Interface Design AlternativesAB4Web: An On-Line A/B Tester for Comparing User Interface Design Alternatives
AB4Web: An On-Line A/B Tester for Comparing User Interface Design Alternatives
 
Gelicit: A Cloud Platform for Distributed Gesture Elicitation Studies
 Gelicit: A Cloud Platform for Distributed Gesture Elicitation Studies Gelicit: A Cloud Platform for Distributed Gesture Elicitation Studies
Gelicit: A Cloud Platform for Distributed Gesture Elicitation Studies
 

Recently uploaded

sample sample sample sample sample sample
sample sample sample sample sample samplesample sample sample sample sample sample
sample sample sample sample sample sample
Casey Keith
 
IATA GEOGRAPHY AREAS in the world, HM111
IATA GEOGRAPHY AREAS in the world, HM111IATA GEOGRAPHY AREAS in the world, HM111
IATA GEOGRAPHY AREAS in the world, HM111
2022472524
 
bhachau Escort💋 Call Girl (Ramya) Service #bhachau Call Girl @Independent Girls
bhachau Escort💋 Call Girl (Ramya) Service #bhachau Call Girl @Independent Girlsbhachau Escort💋 Call Girl (Ramya) Service #bhachau Call Girl @Independent Girls
bhachau Escort💋 Call Girl (Ramya) Service #bhachau Call Girl @Independent Girls
mountabuangels4u
 
Four Famous Temples In Jammu and Kashmir
Four Famous Temples In Jammu and KashmirFour Famous Temples In Jammu and Kashmir
Four Famous Temples In Jammu and Kashmir
SuYatra
 

Recently uploaded (20)

sample sample sample sample sample sample
sample sample sample sample sample samplesample sample sample sample sample sample
sample sample sample sample sample sample
 
Agartala Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Agartala Call Girls 🥰 8617370543 Service Offer VIP Hot ModelAgartala Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Agartala Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Pithoragarh Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Pithoragarh Call Girls 🥰 8617370543 Service Offer VIP Hot ModelPithoragarh Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Pithoragarh Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
IATA GEOGRAPHY AREAS in the world, HM111
IATA GEOGRAPHY AREAS in the world, HM111IATA GEOGRAPHY AREAS in the world, HM111
IATA GEOGRAPHY AREAS in the world, HM111
 
Top places to visit, top tourist destinations
Top places to visit, top tourist destinationsTop places to visit, top tourist destinations
Top places to visit, top tourist destinations
 
Hooghly Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Hooghly Call Girls 🥰 8617370543 Service Offer VIP Hot ModelHooghly Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Hooghly Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
bhachau Escort💋 Call Girl (Ramya) Service #bhachau Call Girl @Independent Girls
bhachau Escort💋 Call Girl (Ramya) Service #bhachau Call Girl @Independent Girlsbhachau Escort💋 Call Girl (Ramya) Service #bhachau Call Girl @Independent Girls
bhachau Escort💋 Call Girl (Ramya) Service #bhachau Call Girl @Independent Girls
 
Discover Mathura And Vrindavan A Spritual Journey.pdf
Discover Mathura And Vrindavan A Spritual Journey.pdfDiscover Mathura And Vrindavan A Spritual Journey.pdf
Discover Mathura And Vrindavan A Spritual Journey.pdf
 
Mehsana Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mehsana Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMehsana Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mehsana Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Four Famous Temples In Jammu and Kashmir
Four Famous Temples In Jammu and KashmirFour Famous Temples In Jammu and Kashmir
Four Famous Temples In Jammu and Kashmir
 
Kashipur Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Kashipur Call Girls 🥰 8617370543 Service Offer VIP Hot ModelKashipur Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Kashipur Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Top travel agency in panchkula - Best travel agents in panchkula
Top  travel agency in panchkula - Best travel agents in panchkulaTop  travel agency in panchkula - Best travel agents in panchkula
Top travel agency in panchkula - Best travel agents in panchkula
 
Udhampur Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Udhampur Call Girls 🥰 8617370543 Service Offer VIP Hot ModelUdhampur Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Udhampur Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Roorkee Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Roorkee Call Girls 🥰 8617370543 Service Offer VIP Hot ModelRoorkee Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Roorkee Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
TOURISM ATTRACTION IN LESOTHO 2024.Pptx.
TOURISM ATTRACTION IN LESOTHO 2024.Pptx.TOURISM ATTRACTION IN LESOTHO 2024.Pptx.
TOURISM ATTRACTION IN LESOTHO 2024.Pptx.
 
Chamba Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Chamba Call Girls 🥰 8617370543 Service Offer VIP Hot ModelChamba Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Chamba Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Shimla Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Shimla Call Girls 🥰 8617370543 Service Offer VIP Hot ModelShimla Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Shimla Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Tehri Garhwal Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Tehri Garhwal Call Girls 🥰 8617370543 Service Offer VIP Hot ModelTehri Garhwal Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Tehri Garhwal Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Pauri Garhwal Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Pauri Garhwal Call Girls 🥰 8617370543 Service Offer VIP Hot ModelPauri Garhwal Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Pauri Garhwal Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Prayagraj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Prayagraj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelPrayagraj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Prayagraj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Modelling and Developing Distributed User Interfaces based on Distribution Graph

  • 1. Jérémie Melchior, Jean Vanderdonckt and Peter Van Roy Jeremie.Melchior@uclouvain.be Researcher at LiLab, http://www.lilab.be Université catholique de Louvain (BELGIUM) 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 1
  • 2. 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 17th 2
  • 3. 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
  • 4. 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
  • 5. 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 17th 5
  • 6. - Any UI could be distributed - Example: Paint (not distributed by default) 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 6
  • 7. - Any UI could be distributed - Example: Paint (distributed) - Windows: drawing area - Windows Phone: all buttons, bars, … 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 7
  • 8. 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: C1adrien • Example: • Adrien is in distribution state DS1, which means he is in the context of use C1 • C1adrien = ({desktop}, {Adrien}, quiet) • Adrien’s distribution state = C1adrien 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 8
  • 9. Sum of all individual states • Example: • C1bastien = ({desktop, laptop}, {Bastien}, quiet) • Distribution shared state = {C1adrien, C1bastien} C1adrien • Visual representation: C1bastien 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 9
  • 10. • Need to know the distribution state Distribution Graph 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 10
  • 11. • Need to know the distribution state • Need to trigger the distribution Distribution Primitives Distribution Script 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 11
  • 12. • Need to know the distribution state • Need to trigger the distribution • Need to know « what » to distribute Part or whole of the UI 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 12
  • 13. ARIS: visualisation of devices and windows • Meta-UI • Static environment • States: ? [BIE04] Biehl & Bailey ARIS: An Inferface for Application Relocation in an Interactive Space 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 13
  • 14. A Reference Model for DUIs • Widgets: • An image: (WS Slides) • A text: « Infos » (WS Infos) • Conceptual level • States: ? [DEM05] Demeure, Calvary, et al. A Reference Model for DUIs 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 14
  • 15. 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 17th 15
  • 16. 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 17th 16
  • 17. C1adrien = ({desktop}, {Adrien}, quiet) C1bastien = ({desktop, laptop}, {Bastien}, quiet) Event: Adrien changes platform Action: Replace(C1a, C2a) C2adrien = ({laptop}, {Adrien}, quiet) C1bastien Event: Bastien changes platform C2adrien Action: Replace(C1b, C2b) C2bastien = ({desktop}, {Bastien}, quiet) 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 17
  • 18. 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 17th 18
  • 19. Name Effect Display Display an item in one or more UIs Undisplay Hide an item from one to many UIs Move Move an item from a UI to another one Copy Copy an item of an UI to another one Insert Insert an item in a container of a UI Switch Exchange two components in the same or different UIs Merge Merge two UIs together Separate Explode a UI in two or more separated UIs 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 19
  • 20. A distributed Pictionary: • 3 roles: • The drawer • The observer • The guesser 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 20
  • 21. 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 17th 21
  • 22. A distributed Pictionary: Player2 Event: Player1 connects Action: execute Distribution Script 1 Player connects No game started Condition: More than 2 players connected Game started 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 22
  • 23. 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 17th 23
  • 24. A distributed Pictionary: Event: Player2 connects Action: execute Distribution Script 2 Player connects No game started Condition: More than 2 players connected Game started 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 24
  • 25. Distribution Script 2: {Copy p1 td(name:p2)} 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 25
  • 26. A distributed Pictionary: Event: Player1 or 2 starts the game Action: execute Distribution Script 3 Player connects No game started Condition: More than 2 players connected Game started 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 26
  • 27. 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 17th 27
  • 28. A distributed Pictionary: • Simple example • Only 2 players 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 28
  • 29. 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 17th 29
  • 30. 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 17th 30
  • 31. 18/05/2012 RCIS 2012 – Valencia, Spain, May 17th 31

Editor's Notes

  1. WS = workspace
  2. L in L_uimeans « Laptop »