SlideShare a Scribd company logo
Multichannel
    User Interfaces
         Pedro J. Molina, PhD.   pjmolina@icinetic.com
                                 @pmolinam

         Rubén Jiménez           rjimenez@icinetic.com
                                 @rubenjmarrufo
Contents
   Introduction
   UIs and multichannel
   UI Technologies
   UI Model & Code Generation
   Demos
   Conclusions
   Q&A

      © Icinetic 2012            2
Introduction



 We do MDSD Tools for developers
 Focused on .NET technologies &
  Architecture services
 HQ in Seville, Spain, EU


                       © Icinetic 2012   3
Introduction
 Pervasive User Interfaces
 Contextual

 Services across devices

 Costs of making and distributing Software



                       © Icinetic 2012        4
UIs and multichannel




       © Icinetic 2012   5
UIs and multichannel
 One day in the future:
     There could be a unique SW language
     And a unique HW platform
     Able to drive all your gadgets and devices
     Contextual
     Able to follow you across changing your context,
      location or device



                          © Icinetic 2012                6
UIs and multichannel
 However, in the meanwhile, we have:
   Many devices
   Many HW choices
   Many SW platforms to build for

             Difficult choice: Where to invest?




                        © Icinetic 2012           7
UIs and multichannel
 Businesses need to provide
   Access to product and services to the great market-
    share as possible
   Different platforms: fragment the market when
    launching a new product or service
   Technology is just a commodity
   Technology diversity increases the costs of market
    acquisition


                        © Icinetic 2012                   8
UI Technologies
 Choose your flavour:

                                                          ?
                         Smartphone        Smartphone
                             Tablet          Tablet


                                                v 3.1.3
                                                v 4.2.1
                                                  v 5.1



                         © Icinetic 2012                  9
UI Development

 Then
   Hire a good development team
   Don’t forget designers and UX
   Keep them focused and happy!




                    © Icinetic 2012   10
Required UI programming skills
 Main platforms:
Platform         Languages                         IDE
The Web          HTML5 + CSS3 + JavaScript         None/Many
                 + Server side lang.
Windows          XAML + C#                         Visual Studio, Expression Blend
Apple            Objective-C + Cocoa               XCode
Java / Android   Java + UI toolkit                 Eclipse


                                     Difficult to master all of them!

                                 © Icinetic 2012                                     11
UI Technologies
 Variable and moving target
    Hardware: new devices every 6 months
    Software: new OS mobile versions every
     year
    APIs: new APIs, all the time!




    Not an easy train to follow!


                              © Icinetic 2012   12
UI Style-guides
 iOS

 Android

 WP7 / W8 Metro




                   © Icinetic 2012   13
UI Style-guides
 Each platform provides a differentiated one
   Involving not only aesthetics aspects

   But also UX aspects on device accordingly to the style of
    interaction

   Application on a device should behave coherent with the
    platform


   Not all applications fits well on each device

                             © Icinetic 2012                    14
Is there space for modelling
           and code generated UIs?
 Probably
    not for “radically original” games
    and not for new interaction styles


 But convenient and efficient for day to day
    Information Systems
    Information production / consumption needs
    Business Software

                          © Icinetic 2012         15
Once again: Art or Engineering?




             © Icinetic 2012      16
Once again: Art or Engineering?




                               Both!
             © Icinetic 2012           17
© Icinetic
             18
2012
© Icinetic
             19
2012
UIs and plumbing
 Behind a good User Interface
   There is a lot of plumbing


 Definition: (Developer) Plumbing
   Repetitive infrastructure code with small
    variations
   Boring to write, source of bugs
   Low added value
   But: needed to run the full application

                             © Icinetic 2012    20
Plumbing samples: UI Architecture
 UI frameworks
   MVC

   MVVM

   MVP
      Supervising Controller
      Passive View


                           © Icinetic 2012   21
Plumbing sample: Comms
 Service invocation

    RPC / Binary

    Web Services / SOAP

    REST / JSON

    HTTP / HTTPS / SPEEDY
     / WebSockets

                           © Icinetic 2012   22
UI Modelling Hypothesis
 So:
  1.    Can we raise the level of abstraction and capture
        the essence of the UI in a model?

  2. Can we alleviate the developers plumbing pain?

  3. Can we expose this UI on multiple channels and
     technologies?


                           © Icinetic 2012                  23
What’s changes in a UI?
 Technology

 Style guides

 Widgets and concrete interaction

 Plumbing: platform/tech specific



                       © Icinetic 2012   24
What’s remains immutable in a UI?
 Patterns & UX principles
     A Master-Detail will be always a Master-Detail
     A Filter
     A collection of objects
     Navigation
     Command
     Selection
     Task …

                          © Icinetic 2012              25
Conceptual UI Patterns
       Login
       Instance
       Population
       Master/Detail
       Service
       Wizard
       Filter
       …                     pjmolina.com/cuip

            © Icinetic 2012                  26
CUIP: Population
 Set of objects                   Rendering
      Filter                        Grid
      Order criteria                Table
      Display set                   List
      Actions
      Navigation




                © Icinetic 2012                 27
CUIP: Population
 Set of objects                   Rendering
      Filter                        Grid
      Order criteria                Table
      Display set                   List
      Actions
      Navigation




                © Icinetic 2012                 28
CUIP: Population
 Set of objects                   Rendering
      Filter                        Grid
      Order criteria                Table
      Display set                   List
      Actions
      Navigation




                © Icinetic 2012                 29
CUIP: Population
 Set of objects                   Rendering
      Filter                        Grid
      Order criteria                Table
      Display set                   List
      Actions
      Navigation




                © Icinetic 2012                 30
A sample: Personal Banking
 Oriented to: banking end users
    Easy to use

 Targeting frequent operations
    Check accounts balance
    Order a transfer
    Review account entries

 Multi-device: pc, mobile, tablet, etc.
                        © Icinetic 2012    31
Structure: Class Model




        © Icinetic 2012   32
UI Navigational Model




        © Icinetic 2012   33
Code Generation




     © Icinetic 2012   34
Demo Time

 Modelling domain
 Generated Services

 Modelling UI
 Generated UI



                       © Icinetic 2012   35
So far, we have seen:
 Default UI/Inferred (when nothing was specified)
 Graphical and textual notations combined for UI
 Services consumption and composition
   From a model exposed by a system in runtime
 Device independent UI modelling
 WYSIWYG modelling approach



                       © Icinetic 2012               36
Applications
 UI prototyping
   “Wizard of Oz” Technique

 Rapid multichannel Service delivery

 UIs via Service composition (Mashups)

 Ubiquitous & contextual interfaces

                       © Icinetic 2012    37
Multi-channel
                          Datatabase



                          Data Access
                             Layer


                         Business Logic
                             Layer



                         Services Layer




            App 1


    User Interface                        User Interface
        Layer                                 Layer

             Views                                 Views


           Controllers                           Controllers


          View Models                           View Models




    UI-1                                  UI-2
    © Icinetic 2012                                            38
MD Composed UIs (Mashups)
         Datatabase                                                Datatabase



         Data Access                                               Data Access
            Layer                                                     Layer


        Business Logic                                            Business Logic
            Layer                                                     Layer



        Services Layer                                            Services Layer




App 1                                      App 2


                                             User Interface
                                                 Layer

                                                      Views


                                                    Controllers


                                                   View Models




                                             Composed App UI
                         © Icinetic 2012                                           39
Conclusions



 Pervasive devices are already here to stay

 While we found “the platform” to rule them’all
    we need to deal with diversity of HW, SW and APIs


                        © Icinetic 2012                  40
Conclusions
 So far, today we have seen:
   1.   How to raise the level of abstraction and capture
        the essence of a User Interface in a model

   2. How to alleviate the developer plumbing pain

   3. How to target multiple channels and
      technologies


                          © Icinetic 2012                   41
Conclusions
 MDSD applied to UI
   can makes the difference in terms of time to
    market, quality & productivity

   provide new forms of UIs not possible in the
    traditional way i.e. contextual ones



                     © Icinetic 2012               42
Conclusions
 Looking for flights to Seychelles on the bathroom
 Finishing the purchase, later, in the car




        © Icinetic 2012                       43
Questions &         (might be)   Answers




                           www.radarc.net
                           pjmolina.com/essential
                           pjmolina.com/cuip
         © Icinetic 2012                        44

More Related Content

PDF
COCOMO Model By Dr. B. J. Mohite
PPT
Object Oriented Analysis and Design
PPT
Mobile application development
PDF
Software project management
PDF
Behavioral Design Patterns
PPT
PPTX
Software quality assurance
PPTX
Day: 1 Introduction to Mobile Application Development (in Android)
COCOMO Model By Dr. B. J. Mohite
Object Oriented Analysis and Design
Mobile application development
Software project management
Behavioral Design Patterns
Software quality assurance
Day: 1 Introduction to Mobile Application Development (in Android)

What's hot (20)

PPTX
Development of Mobile Application -PPT
PPTX
Achieving quality contraints
PDF
Introduction to Mobile Application Development
PPTX
Android User Interface
PPTX
Mobile application development ppt
PPTX
Publishing and delivery of mobile application
PPT
Designing applications with multimedia capabilities
DOCX
Android Based Application Project Report.
PPT
Architecture of Mobile Computing
PPT
Software estimation
ODP
The Art Of Debugging
PPTX
Introduction to Android ppt
PPTX
System testing
PPTX
User interface (UI) for mobile applications
PPT
android activity
PPTX
Learning set of rules
PPT
Unit1
PPTX
PPT
USER INTERFACE DESIGN PPT
PDF
Lecture 1 - Introduction to IoT
Development of Mobile Application -PPT
Achieving quality contraints
Introduction to Mobile Application Development
Android User Interface
Mobile application development ppt
Publishing and delivery of mobile application
Designing applications with multimedia capabilities
Android Based Application Project Report.
Architecture of Mobile Computing
Software estimation
The Art Of Debugging
Introduction to Android ppt
System testing
User interface (UI) for mobile applications
android activity
Learning set of rules
Unit1
USER INTERFACE DESIGN PPT
Lecture 1 - Introduction to IoT
Ad

Viewers also liked (7)

PPTX
MortgageFlex System Solutions
ODP
Transforming a 15 year old model-driven application from C++ to Java
PDF
Mission: Impossible --- Purely declarative User Interface Modeling
PDF
Modeling on the Web
PPTX
Experiences and requirements for a User Interaction Modeling Language
PDF
Modelling and code generation in .NET at Icinetic
PDF
Mobile computing unit 5
MortgageFlex System Solutions
Transforming a 15 year old model-driven application from C++ to Java
Mission: Impossible --- Purely declarative User Interface Modeling
Modeling on the Web
Experiences and requirements for a User Interaction Modeling Language
Modelling and code generation in .NET at Icinetic
Mobile computing unit 5
Ad

Similar to Multichannel User Interfaces (20)

PDF
Introduction to Reddo Webinar
PDF
Redefining Perspectives 4 - Metro ui Session 1
PPT
ANDROID presentation prabal
PPTX
Introduction to MAUI - by Ye Maung Maung
PDF
Cerutti--Web Information Systems (postgrad seminar @ University of Brescia)
PDF
The Promise of Interoperability
PPTX
UGIdotNET App Modernisation Keynote
PDF
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
PDF
Collaborative and agile development of mobile applications
PPTX
Introduction of operating system(latest)
PPTX
The App Evolution Continues
PDF
Integration solution: Instant access to Web Services into IMS applications
PDF
Designing Rich Mobile Apps in a Fragmented World
PDF
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
PPTX
Linda maleki
PDF
Ionic App Platform Overview
PPTX
2012.09.11 w3 c html5 mobile paradies
PDF
Native vs Hybrid - Options to develop your mobile application
PPTX
INT Inc | Benefits of a Microservices Architecture
PPTX
Web based, mobile enterprise applications
Introduction to Reddo Webinar
Redefining Perspectives 4 - Metro ui Session 1
ANDROID presentation prabal
Introduction to MAUI - by Ye Maung Maung
Cerutti--Web Information Systems (postgrad seminar @ University of Brescia)
The Promise of Interoperability
UGIdotNET App Modernisation Keynote
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Collaborative and agile development of mobile applications
Introduction of operating system(latest)
The App Evolution Continues
Integration solution: Instant access to Web Services into IMS applications
Designing Rich Mobile Apps in a Fragmented World
ACM SIGCHI EICS-2019 Keynote. Quid, Pedro J. Molina
Linda maleki
Ionic App Platform Overview
2012.09.11 w3 c html5 mobile paradies
Native vs Hybrid - Options to develop your mobile application
INT Inc | Benefits of a Microservices Architecture
Web based, mobile enterprise applications

Recently uploaded (20)

PPTX
Spectroscopy.pptx food analysis technology
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation theory and applications.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Empathic Computing: Creating Shared Understanding
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
Spectroscopy.pptx food analysis technology
Understanding_Digital_Forensics_Presentation.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Chapter 3 Spatial Domain Image Processing.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
20250228 LYD VKU AI Blended-Learning.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The AUB Centre for AI in Media Proposal.docx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Spectral efficient network and resource selection model in 5G networks
Programs and apps: productivity, graphics, security and other tools
Network Security Unit 5.pdf for BCA BBA.
Building Integrated photovoltaic BIPV_UPV.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation theory and applications.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Empathic Computing: Creating Shared Understanding
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Unlocking AI with Model Context Protocol (MCP)

Multichannel User Interfaces

  • 1. Multichannel User Interfaces Pedro J. Molina, PhD. pjmolina@icinetic.com @pmolinam Rubén Jiménez rjimenez@icinetic.com @rubenjmarrufo
  • 2. Contents  Introduction  UIs and multichannel  UI Technologies  UI Model & Code Generation  Demos  Conclusions  Q&A © Icinetic 2012 2
  • 3. Introduction  We do MDSD Tools for developers  Focused on .NET technologies & Architecture services  HQ in Seville, Spain, EU © Icinetic 2012 3
  • 4. Introduction  Pervasive User Interfaces  Contextual  Services across devices  Costs of making and distributing Software © Icinetic 2012 4
  • 5. UIs and multichannel © Icinetic 2012 5
  • 6. UIs and multichannel  One day in the future:  There could be a unique SW language  And a unique HW platform  Able to drive all your gadgets and devices  Contextual  Able to follow you across changing your context, location or device © Icinetic 2012 6
  • 7. UIs and multichannel  However, in the meanwhile, we have:  Many devices  Many HW choices  Many SW platforms to build for Difficult choice: Where to invest? © Icinetic 2012 7
  • 8. UIs and multichannel  Businesses need to provide  Access to product and services to the great market- share as possible  Different platforms: fragment the market when launching a new product or service  Technology is just a commodity  Technology diversity increases the costs of market acquisition © Icinetic 2012 8
  • 9. UI Technologies  Choose your flavour: ? Smartphone Smartphone Tablet Tablet v 3.1.3 v 4.2.1 v 5.1 © Icinetic 2012 9
  • 10. UI Development  Then  Hire a good development team  Don’t forget designers and UX  Keep them focused and happy! © Icinetic 2012 10
  • 11. Required UI programming skills  Main platforms: Platform Languages IDE The Web HTML5 + CSS3 + JavaScript None/Many + Server side lang. Windows XAML + C# Visual Studio, Expression Blend Apple Objective-C + Cocoa XCode Java / Android Java + UI toolkit Eclipse Difficult to master all of them! © Icinetic 2012 11
  • 12. UI Technologies  Variable and moving target  Hardware: new devices every 6 months  Software: new OS mobile versions every year  APIs: new APIs, all the time!  Not an easy train to follow! © Icinetic 2012 12
  • 13. UI Style-guides  iOS  Android  WP7 / W8 Metro © Icinetic 2012 13
  • 14. UI Style-guides  Each platform provides a differentiated one  Involving not only aesthetics aspects  But also UX aspects on device accordingly to the style of interaction  Application on a device should behave coherent with the platform  Not all applications fits well on each device © Icinetic 2012 14
  • 15. Is there space for modelling and code generated UIs?  Probably  not for “radically original” games  and not for new interaction styles  But convenient and efficient for day to day  Information Systems  Information production / consumption needs  Business Software © Icinetic 2012 15
  • 16. Once again: Art or Engineering? © Icinetic 2012 16
  • 17. Once again: Art or Engineering? Both! © Icinetic 2012 17
  • 18. © Icinetic 18 2012
  • 19. © Icinetic 19 2012
  • 20. UIs and plumbing  Behind a good User Interface  There is a lot of plumbing  Definition: (Developer) Plumbing  Repetitive infrastructure code with small variations  Boring to write, source of bugs  Low added value  But: needed to run the full application © Icinetic 2012 20
  • 21. Plumbing samples: UI Architecture  UI frameworks  MVC  MVVM  MVP  Supervising Controller  Passive View © Icinetic 2012 21
  • 22. Plumbing sample: Comms  Service invocation  RPC / Binary  Web Services / SOAP  REST / JSON  HTTP / HTTPS / SPEEDY / WebSockets © Icinetic 2012 22
  • 23. UI Modelling Hypothesis  So: 1. Can we raise the level of abstraction and capture the essence of the UI in a model? 2. Can we alleviate the developers plumbing pain? 3. Can we expose this UI on multiple channels and technologies? © Icinetic 2012 23
  • 24. What’s changes in a UI?  Technology  Style guides  Widgets and concrete interaction  Plumbing: platform/tech specific © Icinetic 2012 24
  • 25. What’s remains immutable in a UI?  Patterns & UX principles  A Master-Detail will be always a Master-Detail  A Filter  A collection of objects  Navigation  Command  Selection  Task … © Icinetic 2012 25
  • 26. Conceptual UI Patterns  Login  Instance  Population  Master/Detail  Service  Wizard  Filter  … pjmolina.com/cuip © Icinetic 2012 26
  • 27. CUIP: Population  Set of objects  Rendering  Filter  Grid  Order criteria  Table  Display set  List  Actions  Navigation © Icinetic 2012 27
  • 28. CUIP: Population  Set of objects  Rendering  Filter  Grid  Order criteria  Table  Display set  List  Actions  Navigation © Icinetic 2012 28
  • 29. CUIP: Population  Set of objects  Rendering  Filter  Grid  Order criteria  Table  Display set  List  Actions  Navigation © Icinetic 2012 29
  • 30. CUIP: Population  Set of objects  Rendering  Filter  Grid  Order criteria  Table  Display set  List  Actions  Navigation © Icinetic 2012 30
  • 31. A sample: Personal Banking  Oriented to: banking end users  Easy to use  Targeting frequent operations  Check accounts balance  Order a transfer  Review account entries  Multi-device: pc, mobile, tablet, etc. © Icinetic 2012 31
  • 32. Structure: Class Model © Icinetic 2012 32
  • 33. UI Navigational Model © Icinetic 2012 33
  • 34. Code Generation © Icinetic 2012 34
  • 35. Demo Time  Modelling domain  Generated Services  Modelling UI  Generated UI © Icinetic 2012 35
  • 36. So far, we have seen:  Default UI/Inferred (when nothing was specified)  Graphical and textual notations combined for UI  Services consumption and composition  From a model exposed by a system in runtime  Device independent UI modelling  WYSIWYG modelling approach © Icinetic 2012 36
  • 37. Applications  UI prototyping  “Wizard of Oz” Technique  Rapid multichannel Service delivery  UIs via Service composition (Mashups)  Ubiquitous & contextual interfaces © Icinetic 2012 37
  • 38. Multi-channel Datatabase Data Access Layer Business Logic Layer Services Layer App 1 User Interface User Interface Layer Layer Views Views Controllers Controllers View Models View Models UI-1 UI-2 © Icinetic 2012 38
  • 39. MD Composed UIs (Mashups) Datatabase Datatabase Data Access Data Access Layer Layer Business Logic Business Logic Layer Layer Services Layer Services Layer App 1 App 2 User Interface Layer Views Controllers View Models Composed App UI © Icinetic 2012 39
  • 40. Conclusions  Pervasive devices are already here to stay  While we found “the platform” to rule them’all  we need to deal with diversity of HW, SW and APIs © Icinetic 2012 40
  • 41. Conclusions  So far, today we have seen: 1. How to raise the level of abstraction and capture the essence of a User Interface in a model 2. How to alleviate the developer plumbing pain 3. How to target multiple channels and technologies © Icinetic 2012 41
  • 42. Conclusions  MDSD applied to UI  can makes the difference in terms of time to market, quality & productivity  provide new forms of UIs not possible in the traditional way i.e. contextual ones © Icinetic 2012 42
  • 43. Conclusions  Looking for flights to Seychelles on the bathroom  Finishing the purchase, later, in the car © Icinetic 2012 43
  • 44. Questions & (might be) Answers www.radarc.net pjmolina.com/essential pjmolina.com/cuip © Icinetic 2012 44