SlideShare a Scribd company logo
1 of 31
Model-based
 engineering of
 multi-platform,             George Vellisa
                             Dimitrios Kotsalisa
 synchronous &               Demosthenes Akoumianakisa
                             Jean Vanderdoncktb
collaborative UIs            aDepartment   of Applied Informatics & Multimedia,
                             Technological Education Institution of Crete, Greece
                             bUniversité catholique de Louvain,

  Extending UsiXML for       Louvain Interaction Laboratory (www.lilab.eu)
                             Louvain School of Management, Belgium
polymorphic user interface
      specification
Introduction
• User interface challenges for software engineers
  – Programming intensive
  – Broad range of interaction components and widgets
  – Platform specificity (GUI objects, Web widgets, etc)
  – Lack of interoperability due to platform specificity
• (Some) Model-based engineering claims
  – UI engineering = Model specification
  – Focus on design rather than implementation
  – Linking (rather than direct calls) to platform-specific
    libraries
Introduction
• User interface challenges for software engineers
  – UI development time takes a large portion of time
    System
    feasibility
               Validation
          Software plans and
          requirements                             UI Design occupied 45% of the total
                   Validation
                 Product design
                                                   amount of time devoted to each activity
                            Verification
                        Detailed
                        design
                                                                                 Mean = 44%
                                   Verification
                                Code
                                            Unit
                                            test
                                                                     50%
                                       Integration
                                                 Product
                                                 verification
                                            Implementation
                                                      System test
                                                   Operations and
                                                   maintenance             37%
                                                            Revalidation
Retrospective assessment
• Claims proven useful
  – Model specifications can provide an engineering
    basis for UI engineering
  – Run-time linking alleviates the complexity of
    programming
• Claims proven possible
  – Multi-platform execution
  – Relatively straightforward Uis (e.g., form-based UI)
Retrospective assessment (Cont.)
• Several initiatives
  – One of them is UsiXML which is used in this work
• Reference Architectures
  – CAMELEON Reference framework          www.usixml.eu
                                          www.usixml.org
     • Recommended by W3C Working Group on Model-based
       User Interface Design
     • UsiXML is compliant with this framework
• Plethora of methods with some focus on
  collaboration
  – FlowiXML, AMENITES, CIAM, TOUCHE
Retrospective assessment (cont.)
• Challenges still pending attention
  – non-standard and customized widgets?
  – synchronous and collaborative UIs?
  – new affordances such as social awareness in
    distributed collaborative settings?
  – radically different interaction vocabularies?
  – design and run-time support tools for all the above?
Research design

• Theory development
  – Build abstraction to capture interaction components as
    assemblages of capabilities (or affordances)
  – Substantiate such capabilities (or affordances) to
    polymporphic instantiation schemes
  – Specify polymorphic properties in a model-based fashion
• Engineering framework
  – Extend UsiXML as needed to support the new specification
  – Provide dedicated design tools and run-time components
  – Demonstrate the concept’s validity through pilot scenarios
Why abstraction?

• Consider various generations of ‘buttons’
   – GUI buttons (in the 90s)




• The (primitive) assemblage of button =
       {two-state device to exercise control over functionality}
Why abstraction?

 • A continuum of abstractions (Cameleon Ref.
   Framework)
Task &            Task                                                                    Method triggered: download file
Concepts          Classes                                                                 Object: computer file

                  Modality-independent
                  AIO type                                                                        Control AIO
Abstract User
Interface (AUI)   Modality-dependent
                                                                          Software control AIO                         Physical control AIO
                  AIO
                  Platform-
                  independent                           Graphical 2D push button          Graphical 3D push button       Physical push button
Concrete User     CIO type
Interface (CUI)   Platform-
                                 HTML pushbutton             Windows               OSF/Motif     VRML97/X3D          Software     Function
                  independent
                                                            push button            XmButton        button              key          key
                  CIO

                  Code          <input type=submit value=“Download" name=btnG>
Final User
Interface (FUI)
                  Rendering                                    Download
                                                                                                                       Down
                                                                                                   Download             Loa d
‘Adding’ social scent

• Scented button (cf. Willett et al., 2007)




• The (augmented) assemblage of ‘scented’ button =
               { Two-state device to exercise control }
                                    +
     { Collectivity (i.e., who else is in the same state of mind)}
‘Adding’ expression of intention

• ‘Like’ buttons (in the Web 2.0)




• The (new) assemblage of the ‘like’ button =
             {Two-state devices to exercise control}
                                +
              {Expression of opinion (i.e. I like this)}
Putting them all together

• ‘Like’ buttons with social scent




• The (combined) assemblage =
               {Two-state device to exercise control}
                                    +
               {Expression of opinion (i.e. I like this)}
                                    +
     {Collectivity (i.e., who else is in the same state of mind)}
Generalizing the concept

• Why limit our creativity to conventional widgets?
   – elastic buttons and their interactive behaviour




                                                       Note the
                                                       embedded
                                                       affordances
Adding to complexity

• What happens when an elastic button is to be
  instantiated across devices and platforms
Motivating question

• How can we …
  – model digital assemblages in interaction components?
  – instantiate them as the need arises and depending on
    context / platform capabilities
  – integrate them into specifications as first class elements /
    properties
  – compile specs that are general enough
(One) Answer: Polymorphic
               instantiation

• A scheme that relies on implementation agnostic
  (i.e., abstract) specifications of UIs
   – i.e. an abstract button can be instantiated as
      • a conventional GUI button when implemented with the ‘primitive’
        assemblage
      • a scented button when implemented with the ‘augmented’
        assemblage
      • a ‘like’ button when implemented with the ‘combined’ assemblage
• At run-time and once user and usage context
  parameters are discovered, the implementation
  agnostic spec is translated to context-specific
  interaction vocabularies using dedicated tools
Polymorphic Widget Specifications
                    Basic concept


• Introduce new widgets and their properties as first-
  class design elements
                                        WSL          Libraries
                                              Resources


                                         Widget Archive
The role of MBUI engineering

• Specify complex capabilities & affordances in a
  model-based fashion
   –   Devise required properties
   –   Define model elements
   –   Create specification
   –   Mapping models
The role of MBUI engineering
  the case of a socially aware button
A new set of models

• Extend UsiXML as needed to support the new
  specification
  – New set of models
     • Widget Resource Model
     • Behavior model
  – Additional models for collaborative work
     •   Squad model
     •   Consistency model
     •   Abstraction model
     •   Session model
A new design tool
A new run-time environment
               UI-1                                                                              UI-N
                                                        Design Environment
                                                            UI Design Tool


                                           deployUI
 6.attachStates    5.buildUI                               Widget Spec Tool

        Platform           4.getArchives
                                                        Runtime Environment
         Server                                        Widget Archives Repository                P.S
                                                             WSL   Resources
                  1.initPS                                    Dependencies
                                                                                     Collaboration Plugin
   Collaboration Plugin
                                                          UI-Model Repository
    Social
     Social           Abstraction      2.join                                         Social
                                                                                       Social     Abstraction
      Social           Abstraction
                        Abstraction                        Notification Queue           Social     Abstraction
                                                                                                    Abstraction
    Proxy
     Proxy              Classes                                                       Proxy
                                                                                       Proxy        Classes
      Proxy              Classes
                          Classes                                                       Proxy        Classes
                                                                                                      Classes
                                                            Session Manager
applyChanges                                               Web-Services Layer
distributeChanges            Polling                                                Polling
                trackChanges                                Axis2-Framework

Client-1                                              Server Side Framework (SSF)                        Client-N
UIDL’2011 (simple) desktop scenario
MDSD’12 multiplatform scenario (in
            the paper)

Player-1:Desktop/PC   Player-2: Android/mobile   Viewer-1: Desktop/PC
Post MDSD’12 scenario

• Collaborative assembly of vacation packages
• User roles
   –   Business partner (desktop)
   –   Administrator (desktop or mobile
   –   Platforms (desktop/swing, mobile/Android)
   –   Context (synchronous and collaborative)
• Complex and custom widgets (i.e., elastic buttons)
• Synchronous collaboration
The desktop case
administrator’s view of vacation package / swing
The desktop case
business partners’ view of vacation package / swing
The mobile case
administrator’s view of vacation package - Android



                                          Due to space
                                          constraints
                                          certain functions
                                          become
                                          automatically
                                          adapted to vocal
                                          interaction
The designer’s role?
Designing for certain affordances




                                    1




                    2

                    3
                    4
                    5
                    6
The run-time instantiation
 the specified affordances enabled



                                           1




                             2




                                 3 4 5 6


                                      2
Future work & acknowledgements

• Current and on-going work
  – Advanced toolkits (i.e., visualization)
  – Run-time adaptivity and UI plasticity in distributed and
    ubiquitous settings
  – ‘Social’ games
• Acknowledgements
  – The work is supported by ARCHIMEDES III
  – Thanks to Université catholique de Louvain (UCL) for
    supporting the first two authors’ PhD dissertations
     • Due to be submitted in 2013

More Related Content

Similar to Model-based engineering of multi-platform, synchronous & collaborative UIs

Interact2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable SystemsInteract2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable SystemsVille Antila
 
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-endsMulti-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-endsJean Vanderdonckt
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0Jasmine Conseil
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplifiedPrasad Chitta
 
Software Engineering
Software Engineering Software Engineering
Software Engineering JayaKamal
 
EclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testingEclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testingMichaela Greiler
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Mozaic Works
 
Visual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoVisual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoDaniel Semedo
 
Testing Design System Changes Across Your Application -- Intuit Use Case -- w...
Testing Design System Changes Across Your Application -- Intuit Use Case -- w...Testing Design System Changes Across Your Application -- Intuit Use Case -- w...
Testing Design System Changes Across Your Application -- Intuit Use Case -- w...Applitools
 
Plugin-based IVI Architectures with Qt
Plugin-based IVI Architectures with Qt Plugin-based IVI Architectures with Qt
Plugin-based IVI Architectures with Qt ICS
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using addJavid iqbal hashmi
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 pptDr VISU P
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptitadmin33
 
Interfaces to ubiquitous computing
Interfaces to ubiquitous computingInterfaces to ubiquitous computing
Interfaces to ubiquitous computingswati sonawane
 

Similar to Model-based engineering of multi-platform, synchronous & collaborative UIs (20)

Interact2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable SystemsInteract2011 - Designing Inter-usable Systems
Interact2011 - Designing Inter-usable Systems
 
Unit ii
Unit   iiUnit   ii
Unit ii
 
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-endsMulti-Dimensional Context-Aware Adaptation of Service Front-ends
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
E3 chap-08
E3 chap-08E3 chap-08
E3 chap-08
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplified
 
HCI Chapter_2.pdf
HCI Chapter_2.pdfHCI Chapter_2.pdf
HCI Chapter_2.pdf
 
HCI Chapter_2.ppt
HCI Chapter_2.pptHCI Chapter_2.ppt
HCI Chapter_2.ppt
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
E3 chap-06
E3 chap-06E3 chap-06
E3 chap-06
 
EclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testingEclipseCon: Test Confessions - What Eclipsers think and do about testing
EclipseCon: Test Confessions - What Eclipsers think and do about testing
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
 
Visual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoVisual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximo
 
Testing Design System Changes Across Your Application -- Intuit Use Case -- w...
Testing Design System Changes Across Your Application -- Intuit Use Case -- w...Testing Design System Changes Across Your Application -- Intuit Use Case -- w...
Testing Design System Changes Across Your Application -- Intuit Use Case -- w...
 
Plugin-based IVI Architectures with Qt
Plugin-based IVI Architectures with Qt Plugin-based IVI Architectures with Qt
Plugin-based IVI Architectures with Qt
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using add
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 ppt
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.ppt
 
Interfaces to ubiquitous computing
Interfaces to ubiquitous computingInterfaces to ubiquitous computing
Interfaces to ubiquitous computing
 

More from Jean Vanderdonckt

To the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesTo the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesJean Vanderdonckt
 
Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...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
 
µ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...Jean Vanderdonckt
 
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...Jean Vanderdonckt
 
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 DevOpsJean Vanderdonckt
 
Engineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeEngineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeJean Vanderdonckt
 
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 MeasuresJean Vanderdonckt
 
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...Jean Vanderdonckt
 
Designing Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsDesigning Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsJean Vanderdonckt
 
Fundamentals of Gestural Interaction
Fundamentals of Gestural InteractionFundamentals of Gestural Interaction
Fundamentals of Gestural InteractionJean Vanderdonckt
 
Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Jean Vanderdonckt
 
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...Jean Vanderdonckt
 
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...Jean Vanderdonckt
 
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 WorkJean Vanderdonckt
 
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 GesturesJean Vanderdonckt
 
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 BodyJean Vanderdonckt
 
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 SmartphonesJean Vanderdonckt
 
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 RecognitionJean Vanderdonckt
 
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 gesturesJean Vanderdonckt
 

More from Jean Vanderdonckt (20)

To the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesTo the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User Interfaces
 
Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...
 
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
 

Recently uploaded

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Model-based engineering of multi-platform, synchronous & collaborative UIs

  • 1. Model-based engineering of multi-platform, George Vellisa Dimitrios Kotsalisa synchronous & Demosthenes Akoumianakisa Jean Vanderdoncktb collaborative UIs aDepartment of Applied Informatics & Multimedia, Technological Education Institution of Crete, Greece bUniversité catholique de Louvain, Extending UsiXML for Louvain Interaction Laboratory (www.lilab.eu) Louvain School of Management, Belgium polymorphic user interface specification
  • 2. Introduction • User interface challenges for software engineers – Programming intensive – Broad range of interaction components and widgets – Platform specificity (GUI objects, Web widgets, etc) – Lack of interoperability due to platform specificity • (Some) Model-based engineering claims – UI engineering = Model specification – Focus on design rather than implementation – Linking (rather than direct calls) to platform-specific libraries
  • 3. Introduction • User interface challenges for software engineers – UI development time takes a large portion of time System feasibility Validation Software plans and requirements UI Design occupied 45% of the total Validation Product design amount of time devoted to each activity Verification Detailed design Mean = 44% Verification Code Unit test 50% Integration Product verification Implementation System test Operations and maintenance 37% Revalidation
  • 4. Retrospective assessment • Claims proven useful – Model specifications can provide an engineering basis for UI engineering – Run-time linking alleviates the complexity of programming • Claims proven possible – Multi-platform execution – Relatively straightforward Uis (e.g., form-based UI)
  • 5. Retrospective assessment (Cont.) • Several initiatives – One of them is UsiXML which is used in this work • Reference Architectures – CAMELEON Reference framework www.usixml.eu www.usixml.org • Recommended by W3C Working Group on Model-based User Interface Design • UsiXML is compliant with this framework • Plethora of methods with some focus on collaboration – FlowiXML, AMENITES, CIAM, TOUCHE
  • 6. Retrospective assessment (cont.) • Challenges still pending attention – non-standard and customized widgets? – synchronous and collaborative UIs? – new affordances such as social awareness in distributed collaborative settings? – radically different interaction vocabularies? – design and run-time support tools for all the above?
  • 7. Research design • Theory development – Build abstraction to capture interaction components as assemblages of capabilities (or affordances) – Substantiate such capabilities (or affordances) to polymporphic instantiation schemes – Specify polymorphic properties in a model-based fashion • Engineering framework – Extend UsiXML as needed to support the new specification – Provide dedicated design tools and run-time components – Demonstrate the concept’s validity through pilot scenarios
  • 8. Why abstraction? • Consider various generations of ‘buttons’ – GUI buttons (in the 90s) • The (primitive) assemblage of button = {two-state device to exercise control over functionality}
  • 9. Why abstraction? • A continuum of abstractions (Cameleon Ref. Framework) Task & Task Method triggered: download file Concepts Classes Object: computer file Modality-independent AIO type Control AIO Abstract User Interface (AUI) Modality-dependent Software control AIO Physical control AIO AIO Platform- independent Graphical 2D push button Graphical 3D push button Physical push button Concrete User CIO type Interface (CUI) Platform- HTML pushbutton Windows OSF/Motif VRML97/X3D Software Function independent push button XmButton button key key CIO Code <input type=submit value=“Download" name=btnG> Final User Interface (FUI) Rendering Download Down Download Loa d
  • 10. ‘Adding’ social scent • Scented button (cf. Willett et al., 2007) • The (augmented) assemblage of ‘scented’ button = { Two-state device to exercise control } + { Collectivity (i.e., who else is in the same state of mind)}
  • 11. ‘Adding’ expression of intention • ‘Like’ buttons (in the Web 2.0) • The (new) assemblage of the ‘like’ button = {Two-state devices to exercise control} + {Expression of opinion (i.e. I like this)}
  • 12. Putting them all together • ‘Like’ buttons with social scent • The (combined) assemblage = {Two-state device to exercise control} + {Expression of opinion (i.e. I like this)} + {Collectivity (i.e., who else is in the same state of mind)}
  • 13. Generalizing the concept • Why limit our creativity to conventional widgets? – elastic buttons and their interactive behaviour Note the embedded affordances
  • 14. Adding to complexity • What happens when an elastic button is to be instantiated across devices and platforms
  • 15. Motivating question • How can we … – model digital assemblages in interaction components? – instantiate them as the need arises and depending on context / platform capabilities – integrate them into specifications as first class elements / properties – compile specs that are general enough
  • 16. (One) Answer: Polymorphic instantiation • A scheme that relies on implementation agnostic (i.e., abstract) specifications of UIs – i.e. an abstract button can be instantiated as • a conventional GUI button when implemented with the ‘primitive’ assemblage • a scented button when implemented with the ‘augmented’ assemblage • a ‘like’ button when implemented with the ‘combined’ assemblage • At run-time and once user and usage context parameters are discovered, the implementation agnostic spec is translated to context-specific interaction vocabularies using dedicated tools
  • 17. Polymorphic Widget Specifications Basic concept • Introduce new widgets and their properties as first- class design elements WSL Libraries Resources Widget Archive
  • 18. The role of MBUI engineering • Specify complex capabilities & affordances in a model-based fashion – Devise required properties – Define model elements – Create specification – Mapping models
  • 19. The role of MBUI engineering the case of a socially aware button
  • 20. A new set of models • Extend UsiXML as needed to support the new specification – New set of models • Widget Resource Model • Behavior model – Additional models for collaborative work • Squad model • Consistency model • Abstraction model • Session model
  • 21. A new design tool
  • 22. A new run-time environment UI-1 UI-N Design Environment UI Design Tool deployUI 6.attachStates 5.buildUI Widget Spec Tool Platform 4.getArchives Runtime Environment Server Widget Archives Repository P.S WSL Resources 1.initPS Dependencies Collaboration Plugin Collaboration Plugin UI-Model Repository Social Social Abstraction 2.join Social Social Abstraction Social Abstraction Abstraction Notification Queue Social Abstraction Abstraction Proxy Proxy Classes Proxy Proxy Classes Proxy Classes Classes Proxy Classes Classes Session Manager applyChanges Web-Services Layer distributeChanges Polling Polling trackChanges Axis2-Framework Client-1 Server Side Framework (SSF) Client-N
  • 24. MDSD’12 multiplatform scenario (in the paper) Player-1:Desktop/PC Player-2: Android/mobile Viewer-1: Desktop/PC
  • 25. Post MDSD’12 scenario • Collaborative assembly of vacation packages • User roles – Business partner (desktop) – Administrator (desktop or mobile – Platforms (desktop/swing, mobile/Android) – Context (synchronous and collaborative) • Complex and custom widgets (i.e., elastic buttons) • Synchronous collaboration
  • 26. The desktop case administrator’s view of vacation package / swing
  • 27. The desktop case business partners’ view of vacation package / swing
  • 28. The mobile case administrator’s view of vacation package - Android Due to space constraints certain functions become automatically adapted to vocal interaction
  • 29. The designer’s role? Designing for certain affordances 1 2 3 4 5 6
  • 30. The run-time instantiation the specified affordances enabled 1 2 3 4 5 6 2
  • 31. Future work & acknowledgements • Current and on-going work – Advanced toolkits (i.e., visualization) – Run-time adaptivity and UI plasticity in distributed and ubiquitous settings – ‘Social’ games • Acknowledgements – The work is supported by ARCHIMEDES III – Thanks to Université catholique de Louvain (UCL) for supporting the first two authors’ PhD dissertations • Due to be submitted in 2013