Reusable Decision Space for
             Mashup Tool Design

         Saeed Aghaee, Marcin Nowak, and Cesare Pautasso


                            Faculty of Informatics
                          University of Lugano (USI)
                                 Switzerland


Homepage: http://www.saeed-aghaee.info/
Email: saeed.aghaee@usi.ch
2
Web Mashups



       Web mashups mix
       reusable, programmable
       elements
       on the Web




                                3
http://www.domlia.com/   4
●   DNS Tools API

●   DNSimple API

●   Domain API

●   DomainTool API

●   Google AJAX
    Language API




          http://www.domlia.com/   5
End-user Mashup Development




             Create & use
               mashups
  End-user                  Mashup Tool




                                          6
Yahoo! Pipes   7
●   Wiring Paradigm

●   Online Community

●   One-Click & Run

●   Advanced non-
    programmers




                       Yahoo! Pipes   8
Dapper   9
●   Programming by
    Demonstration

●   No online
    Community

●   One-Click & Run

●   Absolute non-
    programmers




                      Dapper   10
11
Design
Decision
 Space




           12
1) Classify and explain the
             heterogeneity of existing
 Design      mashup tools
Decision
 Space     2) Provide a guidance
             model to mashup tool
             designers




                                    13
Extract design issues and alternatives




  +60 mashup tools                         9 Design Issues

                                            Design
Mashup Tools                               Decision
                                            Space
                                          27 Alternatives


        Validate design issues and alternatives
                                                             14
Extract design issues and alternatives




  +60 mashup tools                         9 Design Issues

                                            Design
Mashup Tools                               Decision
                                            Space
                                          27 Alternatives


        Validate design issues and alternatives
                                                             15
Design Decision Space: Issues
    Strategic           Environment                Language
                        specific

●   Specificity         ●   Liveness           ●   Interaction
                                                   Technique
●   Target end-users    ●   Online community
                                                   ●   Visual language
●   Automation degree   ●   Collaborative
                            development                ●   Control flow




                                                                     16
Design Decision Space: Issues
    Strategic           Environment                Language
                        specific

●   Specificity         ●   Liveness           ●   Interaction
                                                   Technique
●   Target end-users    ●   Online community
                                                   ●   Visual language
●   Automation degree   ●   Collaborative
                            development                ●   Control flow




                                                                     17
Design Issue


    Alternative    Alternative




●   Examples:      ●   Examples:

                                   18
Strategic: Target End-user [Nardi, 1993]

Non             Local            Programmers
programmers     developers




Examples:      Examples:         Examples:
● Dapper       ● JOpera          ● Swashup
● Piggy bank   ● JackBe Presto   ● WMSL

                                             19
Strategic: Target End-user [Nardi, 1993]

Non             Local            Programmers
programmers     developers




Examples:      Examples:         Examples:
● Dapper       ● JOpera          ● Swashup
● Piggy bank   ● JackBe Presto   ● WMSL

                                             20
Strategic: Automation Degree

Automatic           Semi-automatic




Example:            Examples:
● Piggy bank        ● MashArt
                    ● IBM Mashup Center
                                          21
Language: Interaction Technique


Example      Form_based   PbD       Spreadsheets
modification



Textual DSL   Visual      WYSIWYG    Natural
              language               language

                                             22
Language: Interaction Technique

               Form-based




                 FeedRinse        23
Language: Interaction Technique

        Programming by Demonstration




                   Vegemite            24
Language: Interaction Technique

             Spreadsheets




                 Karma            25
Language: Interaction Technique

               WYSIWYG




               ServFace builder   26
Language: Interaction Technique

             Natural Language




               EnglishMash        27
Language: Interaction Technique

               Textual DSL




                 Swashup          28
Language: Interaction Technique

            Example Modification




                  d.mix            29
Language: Interaction Technique
Alternative: Visual Language




      Wiring              Iconic




                                   30
Language: Visual Language

               Iconic




                SABRE       31
Language: Visual Language

               Wiring




                JOpera      32
Language: Visual Language
Alternative: Wiring




  Explicit Control Flow   Implicit Control Flow




                                                  33
Language: Control Flow

                Explicit




               Kapow Katalyst   34
Language: Control Flow

                Implicit




               JackBe Presto   35
Environment: Liveness [Tanimoto, 1990]

Blueprint (L1) Executable     One-Click & Live (L4)
               Blueprint (L2) Run (L3)

      D         D        R     D   R          D   R




   MS Visio     Petals        JackBe       DashMash
                BPM           Presto                  36
Environment: Collaboration

Fork & Edit        Wiki              Blackboard




●   Yahoo! Pipes   ●   Lively Wiki   ●   Sqwelch
                                                   37
Environment: Online Community SKIP

Public              Private




 ●   Yahoo! Pipes   ●   IBM Mashup Center

                                            38
39
Mashup Tool Design Space   40
Mashup Tool Design Space   41
Mashup Tool Design Space   42
Mashup Tool Design Space   43
Mashup Tool Design Space   44
Mashup Tool Design Space   45
Mashup Tool Design Space   46
Mashup Tool Design Space   47
Mashup Tool Design Space   48
Mashup Tool Design Space   49
Mashup Tool Design Space   50
Reusable Decision Space for
             Mashup Tool Design

         Saeed Aghaee, Marcin Nowak, and Cesare Pautasso


                            Faculty of Informatics
                          University of Lugano (USI)
                                 Switzerland


Homepage: http://www.saeed-aghaee.info/
Email: saeed.aghaee@usi.ch
SAW: http://saw.inf.unisi.ch

Reusable Decision Space for Mashup Tool Design