11th International Conference on Web Engineering
                                   June 20-24 2011, Paphos, Cyprus




    Cinzia CAPPIELLO    cappiell@elet.polimi.it
    Maristella MATERA   matera@elet.polimi.it
      Matteo PICOZZI    picozzi@elet.polimi.it
      Gabriele SPREGA   gabriele.sprega@mail.polimi.it
Donato BARBAGALLO       barbagallo@elet.polimi.it
Chiara FRANCALANCI      francala@elet.polimi.it
UI        b Ma  hAPIss
                   s up
             e public
                                              Active co-

         W                              creation of new ideas,
                                        knowledge and simple
                 data sources                applications
                widgets
                                                          User
                                                     involvement
                                                   in the creation
                                                      of contents

                              En d User
                             D evelop ment

                                                   Culture of
                                                  participation


Web Applications                    Web 2.0
Consumer Mashups                             Enterprise Mashups




                                       Porting of the
                                     mashup paradigm to
                                     company intranets


Development of online applications starting from contents and
functionality available on the Web in form of data sources, APIs,
reusable services, …
• The desire of users to develop their own
  things is a driver for the mashup phenomenon
 -   Mashup developers want to create solutions that satisfy
     their situational needs
 -   Sometimes such solutions can be very effective, and
     worth to be reused by other users…

                           Mashup
                           platform

• User-driven innovation paradigm
 -   Need for innovation toolkits: adequate processes and
     tools, to let users build their own products and innovate
The need for composing an application, starting from resources
 responding to personal needs, and simply running it, without
       worrying about what happens behind the scenes, arises

• Abstraction from technical details
  -   A platform speaking the user language (functionality and
      terminology), possibly through visual mechanisms
• Continuous feedback
  -   Immediate visual feedback → immediate mashup execution
• Composition support
  -   Assisted composition, e.g., by means of recommendations
• Domain specific focus
  -   A platform restricted to a well-defined domain the user is
      comfortable with
Domain specific focus


                        • A mashup tool for the construction of
                          dashboards
                        • Integration of
                         -   company internal services on top of local data
                             warehouses
                         -   public APIs
                         -   Web resources
                        • Recently specialized for sentiment analysis
                         -   Project funded by Milan Municipality on the analyses of
                             the reputation of the Milan city services
                         -   Emergent need for the integration of sentiment analysis
                             indicators with relevant external Web resources
                         -   We developed domain-specific services for the
                             computation of sentiment indicators and domain-specific
                             rules for their composition
Abstraction from technical details


                                     Runtime engine                                                   Visual Front End




                                             Execution                       Recommendation
                                              Handler                           Manager
                                                              Composition
                                        Event broker            Handler




                                                                                      raises events
                                                                            invokes operations
                                                                                                                                Local
                                                                                                                            Data Sources

                                       <xpil>            <smdl>                  <uisdl>                     autonomous
                                        ...               ...                     ...                       communication
                                       </xpil>           </smdl>                 </uisdl>
                                                                                                 Wrappers
                                                                                                                    Web
                                       Composition         Status                Component
                                       descriptors       descriptors             descriptors

                                     Composition repository                   Component registry
                                                                                                                              Remote
                                                                                                         Component          Data Sources
                                                                                                        Business Logic
Abstraction from technical details


                                                    Component 1


                                                                                      Component 2
                                                       Publisher: Component 1
                                                           Event: Event 1
                                         Event 1       Subscriber: Component 3
                                                        Operation: Operation 2



                                                   Binding
                                                                                                        <comp>

                                                                          Binding                       <bind>


                                                                                                    composition.xml


                                     Operation 2

                                                    Component 3


                                                                                            Component 5

                                                                            Component 4
Continuous feedback


                      Intermixing between
                      mashup composition                (immediate) execution
                      and execution
                                                                           Automatic generation of
                                                                             the model descriptors




                                Execution Handler                           Recommendation
                                                                                Manager

                                                    Composition
                         Event Broker                 Handler

                       Runtime Engine
Composition support




                      • Default bindings
                       -   Automatic definition of basic couplings
                       -   Automatic synchronizations based on component
                           classification (domain dependent)
Composition support




                      • Default bindings
                       -   Automatic definition of basic couplings
                       -   Automatic synchronizations based on component
                           classification (domain dependent)
Composition support




                      • Default bindings
                       -   Automatic definition of basic couplings
                       -   Automatic synchronizations based on component
                           classification (domain dependent)
                      • Custom bindings
                       - User defined
                       - Additional component synchronizations to
                         accommodate further user needs
                       - Assisted by recommendations
Composition support


                      • Recommendations based on
                       -   syntactic and semantic compatibility
                       -   quality rankings of components
                       -   mashability measure
                      • Additional components and bindings for mashup
                        completion
                      • How to improve quality
• Execution of two tasks with incremental
  complexity with a sample of 35 users
  with different expertise
 -   Performance (task completion time)
 -   Ease of use (questionnaire)
 -   Satisfaction (questionnaire)
                                               The users felt very

 All the users were able to      =>           confident about their
                                                 performance
    complete both tasks
                                 15% reduction of the mean time
       No relevant differences     of execution between the two
      between experts and non     tasks (a measure of learning?)
              experts
• We have proposed our view over mashup tools
  as instruments for End Users Development
 -   Lightweight development processes
 -   Intelligible concepts
 -   High degree of assistance
• There are still some open issues:
 -   Easy-to-create components
 -   Effectiveness of mechanisms assisting composition:
     quality-based, task-based, wisdom of the mass… what
     else?
 -   Quality of both components and the overall mashups
 -   Interoperability
 -   Not only for dashboards: a Platform for End User
     Development Of Mashups (PEUDOM)
• We have proposed our view over mashup tools
  as instruments for End Users Development
 -   Lightweight development processes
 -   Intelligible concepts
 -   High degree of assistance
• There are still some open issues:
 -   Easy-to-create components
 -   Effectiveness of mechanisms assisting composition:
     quality-based, task-based, wisdom of the mass… what
     else?
 -   Quality of both components and the overall mashups
 -   Interoperability
 -   Not only for dashboards: a Platform for End User
     Development Of Mashups (PEUDOM)
DashMash: a Mashup Environment for End User Development

DashMash: a Mashup Environment for End User Development

  • 1.
    11th International Conferenceon Web Engineering June 20-24 2011, Paphos, Cyprus Cinzia CAPPIELLO cappiell@elet.polimi.it Maristella MATERA matera@elet.polimi.it Matteo PICOZZI picozzi@elet.polimi.it Gabriele SPREGA gabriele.sprega@mail.polimi.it Donato BARBAGALLO barbagallo@elet.polimi.it Chiara FRANCALANCI francala@elet.polimi.it
  • 2.
    UI b Ma hAPIss s up e public Active co- W creation of new ideas, knowledge and simple data sources applications widgets User involvement in the creation of contents En d User D evelop ment Culture of participation Web Applications Web 2.0
  • 3.
    Consumer Mashups Enterprise Mashups Porting of the mashup paradigm to company intranets Development of online applications starting from contents and functionality available on the Web in form of data sources, APIs, reusable services, …
  • 4.
    • The desireof users to develop their own things is a driver for the mashup phenomenon - Mashup developers want to create solutions that satisfy their situational needs - Sometimes such solutions can be very effective, and worth to be reused by other users… Mashup platform • User-driven innovation paradigm - Need for innovation toolkits: adequate processes and tools, to let users build their own products and innovate
  • 5.
    The need forcomposing an application, starting from resources responding to personal needs, and simply running it, without worrying about what happens behind the scenes, arises • Abstraction from technical details - A platform speaking the user language (functionality and terminology), possibly through visual mechanisms • Continuous feedback - Immediate visual feedback → immediate mashup execution • Composition support - Assisted composition, e.g., by means of recommendations • Domain specific focus - A platform restricted to a well-defined domain the user is comfortable with
  • 6.
    Domain specific focus • A mashup tool for the construction of dashboards • Integration of - company internal services on top of local data warehouses - public APIs - Web resources • Recently specialized for sentiment analysis - Project funded by Milan Municipality on the analyses of the reputation of the Milan city services - Emergent need for the integration of sentiment analysis indicators with relevant external Web resources - We developed domain-specific services for the computation of sentiment indicators and domain-specific rules for their composition
  • 8.
    Abstraction from technicaldetails Runtime engine Visual Front End Execution Recommendation Handler Manager Composition Event broker Handler raises events invokes operations Local Data Sources <xpil> <smdl> <uisdl> autonomous ... ... ... communication </xpil> </smdl> </uisdl> Wrappers Web Composition Status Component descriptors descriptors descriptors Composition repository Component registry Remote Component Data Sources Business Logic
  • 9.
    Abstraction from technicaldetails Component 1 Component 2 Publisher: Component 1 Event: Event 1 Event 1 Subscriber: Component 3 Operation: Operation 2 Binding <comp> Binding <bind> composition.xml Operation 2 Component 3 Component 5 Component 4
  • 10.
    Continuous feedback Intermixing between mashup composition (immediate) execution and execution Automatic generation of the model descriptors Execution Handler Recommendation Manager Composition Event Broker Handler Runtime Engine
  • 11.
    Composition support • Default bindings - Automatic definition of basic couplings - Automatic synchronizations based on component classification (domain dependent)
  • 12.
    Composition support • Default bindings - Automatic definition of basic couplings - Automatic synchronizations based on component classification (domain dependent)
  • 13.
    Composition support • Default bindings - Automatic definition of basic couplings - Automatic synchronizations based on component classification (domain dependent) • Custom bindings - User defined - Additional component synchronizations to accommodate further user needs - Assisted by recommendations
  • 14.
    Composition support • Recommendations based on - syntactic and semantic compatibility - quality rankings of components - mashability measure • Additional components and bindings for mashup completion • How to improve quality
  • 15.
    • Execution oftwo tasks with incremental complexity with a sample of 35 users with different expertise - Performance (task completion time) - Ease of use (questionnaire) - Satisfaction (questionnaire) The users felt very All the users were able to => confident about their performance complete both tasks 15% reduction of the mean time No relevant differences of execution between the two between experts and non tasks (a measure of learning?) experts
  • 16.
    • We haveproposed our view over mashup tools as instruments for End Users Development - Lightweight development processes - Intelligible concepts - High degree of assistance • There are still some open issues: - Easy-to-create components - Effectiveness of mechanisms assisting composition: quality-based, task-based, wisdom of the mass… what else? - Quality of both components and the overall mashups - Interoperability - Not only for dashboards: a Platform for End User Development Of Mashups (PEUDOM)
  • 17.
    • We haveproposed our view over mashup tools as instruments for End Users Development - Lightweight development processes - Intelligible concepts - High degree of assistance • There are still some open issues: - Easy-to-create components - Effectiveness of mechanisms assisting composition: quality-based, task-based, wisdom of the mass… what else? - Quality of both components and the overall mashups - Interoperability - Not only for dashboards: a Platform for End User Development Of Mashups (PEUDOM)