SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Evolution of the mashup ecosystem
             by copying


    Michael Weiss                       Technology Innovation
                                            Management (TIM)
    Solange Sari
                                          www.carleton.ca/tim
 weiss@sce.carleton.ca   Mashups 2010                           1
Objective

  • Mashups are applications that combine data and
    services provided through APIs with user data
  • New application development model: opportunistic
    programming, uses a bricolage approach
  • Creation of mashups supported by an ecosystem of
    data providers, mashup platforms, and users

  • Research questions
       – How do mashup developers select APIs?
       – How do mashup developers learn to develop mashups?



  weiss@sce.carleton.ca       Mashups 2010                    2
Relevance

 • Users/platforms: can benefit from/offer tools that
   better support the way users work
 • Directory providers: their role is to facilitate the
   selection of APIs and learning of developers
 • Data providers: need to understand which APIs their
   APIs are used together most (interoperability)




  weiss@sce.carleton.ca      Mashups 2010                 3
Previous work

  • Examined structure and growth of mashup
    ecosystem using visualization and network analysis
    to identify members and their relationships
  • Opportunistic programming studies how developers
    use online resources in problem solving
  • Research on innovation: (re)combination shortens
    learning curve, modularity allows mix-and-match
  • Models of network growth: preferential attachment
  • Copying and duplication mechanisms in describing
    the growth of the web and biological networks


  weiss@sce.carleton.ca   Mashups 2010                   4
Hypothesis

                     • As answer to research questions, we examine to
                       what degree developers create mashups by copying
                       other mashups: copy of the mashup “blueprint”
                                       Number of copies/mashup
Not copied
                                                                                                              Snapshot on 08/16/10
                                            Amazon/GoogleMaps/YouTube
                                                                                                              ProgrammableWeb
                               5e-01




                                                                GoogleMaps/Twitter                            Mashups      4983 100%
      Cumulative probability

                               5e-02




                                                                          Flickr/GoogleMaps                   Not copied   1528   31%
                                       Amazon/
                                                                                Flickr
                                                                                                              Blueprints    341      7%
                               5e-03




                                       GoogleMaps
                                                                                                              Copies of    3114   62%
                               GoogleMaps/YouTube
                                                                                              GoogleMaps
                                                                                                              blueprints
                               5e-04




                                                      YouTube
                                       1     5   10             50       100     500   1000

                                                      Number of copies




                                weiss@sce.carleton.ca                                          Mashups 2010                           5
Copying model

 • Mashup ecosystem as network of mashups and APIs:
   a link indicates that a mashup uses an API
 • Assumption: mashups all have m APIs
 • Initialize network:
       – Create m0 ≥ m APIs, one mashup

 • Grow network from t=m0 + 1 to t=N:
       – Add new API with probability p
       – With probability 1-p, choose a mashup as a template
       – For each API in template, copy the API with probability α, or
         choose a new API at random with probability 1-α


  weiss@sce.carleton.ca          Mashups 2010                        6
Example

 • Initial network: APIs 1 and 2, mashup 3
 • Thin solid lines indicate random selection



                                  1




                          3

                                                     t   API


                              2                      t   Mashup



  weiss@sce.carleton.ca               Mashups 2010                7
Example

 • Growth: add a new mashup (4)
 • Thick solid lines indicate “copies” relationship
 • Thin dashed lines indicate copying

                                  1




                          3           4    Full copy


                                                       t   API


                              2                        t   Mashup



  weiss@sce.carleton.ca               Mashups 2010                  8
Example

 • Growth: add a new API (5)



                                                            5
                                  1




                          3           4    Full copy


                                                       t   API

                              2                        t   Mashup



  weiss@sce.carleton.ca               Mashups 2010                  9
Example

 • Growth: add a new mashup (6)
 • Thin solid lines indicate random selection

                                                            5
                                  1
                                               6     Partial copy



                          3           4    Full copy


                                                       t   API

                              2                        t   Mashup



  weiss@sce.carleton.ca               Mashups 2010                  10
Research method

 • Calibrate simulation parameters
       – N: combined actual number of APIs and mashups
       – m = 2: good approximation of average actual APIs / mashup
       – p: number of APIs / N (all as of 08/16/10)
 • Simulate mashup ecosystem evolution
       – Vary α over range 0.0 to 1.0, keep m = 2 fixed
       – Run each simulation multiple times and terminate when 95%
         confidence interval is sufficient for the optimization

 • Determine best fit of simulated distribution of
   mashups / API with actual using two fitting methods:
   sum of squared error fit, and power law fit

  weiss@sce.carleton.ca          Mashups 2010                   11
Actual distribution

  • Distribution of mashups / API follows Zipf’s law:
    plotting frequency of mashups relative to rank results
    in a line with slope close to -1 in a log-log plot

      GoogleMaps                                                                             Actual
                                                    Flickr
                                                          Twitter
                                      500




                                            YouTube
                  Number of mashups

                                      100




                                                                                -0.990
                                      50
                                      10
                                      5
                                      1




                                            1   2     5    10   20         50    100   200   500

                                                                    Rank



   weiss@sce.carleton.ca                                                    Mashups 2010              12
Sum of squared error fit
                • Underestimates contribution of top-ranked API
                • Overestimates the number of APIs used by at least
                  one mashup by 45% (1020 vs 703)
                                                                                                                                        Actual

                                α = 0.798
                                                                                                                                        Simulated (sum of squared error)
                        1e+07




                                                                                                         500
                        8e+06
 Sum of squared error




                                                                                     Number of mashups

                                                                                                         100
                        6e+06




                                                                                                         50
                        4e+06




                                                                                                         10
                                                                                                         5
                        2e+06




                                                                                                         1




                                  0.2           0.4                0.6     0.8                                 1   2   5   10   20      50     100    200       500

                                                      Copying factor (!)                                                         Rank


                        weiss@sce.carleton.ca                                    Mashups 2010                                                                     13
Power law fit
                      • Slightly overestimates contribution of top API
                      • Overestimates the number of APIs used by at least
                        one mashup by 22% (859 vs 703)
                               2.5




                                                                                                                                                          Actual

                                                                                  α = 0.855
                                                                                                                                                          Simulated (power law)
                               2.0




                                                                                                                    500
 Power law coefficient error

                               1.5




                                                                                                Number of mashups

                                                                                                                    100
                                                                                                                    50
                               1.0




                                                                                                                    10
                               0.5




                                                                                                                    5
                               0.0




                                                                                                                    1




                                         0.2           0.4                0.6         0.8                                 1   2   5   10   20      50   100   200      500

                                                             Copying factor (!)                                                             Rank


                               weiss@sce.carleton.ca                                        Mashups 2010                                                                 14
Cumulative contribution of APIs
  • Sum of squared error fit underestimates number of
    APIs that contributed to 50% of API uses
  • Power law fit overestimates number of APIs that
    contributed to 50% of API uses
                          Cumulative contribution

                                                    1.0
                                                    0.8
                                                    0.6
                                                    0.4
                                                    0.2




                                                          1   2   5   10   20      50   100   200   500

                                                                            Rank


  weiss@sce.carleton.ca                                               Mashups 2010                        15
Discussion

  • Both methods obtained their best fit for a high
    copying factor: this suggests that most mashups are
    created by modifying the an existing blueprint
  • Power law fit more closely approximates actual Zipf
    distribution, however, sum of squared error fit offers a
    better match of actual degrees of APIs in midrange




  weiss@sce.carleton.ca     Mashups 2010                  16
Insights for stakeholders

  • Confirmation of practices directories follow:
       – List combinations of APIs into mashups
       – Keep track of developers of mashups
       – Provide tutorials on mashup development
  • Directory providers should make blueprints more
    apparent: also list frequency of blueprints
  • Users benefit as they can look at blueprints to select
    APIs that work well together and as examples
  • API providers learn which other APIs are frequently
    combined with their API: incentive to interoperate


  weiss@sce.carleton.ca         Mashups 2010                 17
Conclusion
  • Results indicate that copying plays a significant role
    in the evolution of the mashup ecosystem
  • However, we cannot rule out other factors that could
    explain how mashup ecosystem grows
  • Copying hypothesis in line with current thinking about
    innovation: eg MacArthur’s Nature of Technology
  • Other current and future work:
       – Extend simulation to include mashups of different size
       – Test copying hypothesis empirically: we currently examine
         hereditary relationships between mashups
       – Examine link between copying and diversity of ecosystem


  weiss@sce.carleton.ca          Mashups 2010                        18

Contenu connexe

Similaire à Evolution of the mashup ecosystem by copying

“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOpsRui Quintino
 
Apache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning Models
Apache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning ModelsApache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning Models
Apache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning ModelsAnyscale
 
magellan_mongodb_workload_analysis
magellan_mongodb_workload_analysismagellan_mongodb_workload_analysis
magellan_mongodb_workload_analysisPraveen Narayanan
 
Pitfalls of machine learning in production
Pitfalls of machine learning in productionPitfalls of machine learning in production
Pitfalls of machine learning in productionAntoine Sauray
 
Improve ml predictions using graph algorithms (webinar july 23_19).pptx
Improve ml predictions using graph algorithms (webinar july 23_19).pptxImprove ml predictions using graph algorithms (webinar july 23_19).pptx
Improve ml predictions using graph algorithms (webinar july 23_19).pptxNeo4j
 
Asynchronous Hyperparameter Search with Spark on Hopsworks and Maggy
Asynchronous Hyperparameter Search with Spark on Hopsworks and MaggyAsynchronous Hyperparameter Search with Spark on Hopsworks and Maggy
Asynchronous Hyperparameter Search with Spark on Hopsworks and MaggyJim Dowling
 
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...Bill Liu
 
Real-time Machine Learning Analytics Using Structured Streaming and Kinesis F...
Real-time Machine Learning Analytics Using Structured Streaming and Kinesis F...Real-time Machine Learning Analytics Using Structured Streaming and Kinesis F...
Real-time Machine Learning Analytics Using Structured Streaming and Kinesis F...Databricks
 
A Survey of Machine Learning Methods Applied to Computer ...
A Survey of Machine Learning Methods Applied to Computer ...A Survey of Machine Learning Methods Applied to Computer ...
A Survey of Machine Learning Methods Applied to Computer ...butest
 
The Analytics Frontier of the Hadoop Eco-System
The Analytics Frontier of the Hadoop Eco-SystemThe Analytics Frontier of the Hadoop Eco-System
The Analytics Frontier of the Hadoop Eco-Systeminside-BigData.com
 
Asynchronous Hyperparameter Optimization with Apache Spark
Asynchronous Hyperparameter Optimization with Apache SparkAsynchronous Hyperparameter Optimization with Apache Spark
Asynchronous Hyperparameter Optimization with Apache SparkDatabricks
 
Scalable machine learning
Scalable machine learningScalable machine learning
Scalable machine learningArnaud Rachez
 
ODSC West 2022 – Kitbashing in ML
ODSC West 2022 – Kitbashing in MLODSC West 2022 – Kitbashing in ML
ODSC West 2022 – Kitbashing in MLBryan Bischof
 
Ml ops intro session
Ml ops   intro sessionMl ops   intro session
Ml ops intro sessionAvinash Patil
 

Similaire à Evolution of the mashup ecosystem by copying (20)

“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps
 
Apache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning Models
Apache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning ModelsApache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning Models
Apache ® Spark™ MLlib 2.x: How to Productionize your Machine Learning Models
 
magellan_mongodb_workload_analysis
magellan_mongodb_workload_analysismagellan_mongodb_workload_analysis
magellan_mongodb_workload_analysis
 
Pitfalls of machine learning in production
Pitfalls of machine learning in productionPitfalls of machine learning in production
Pitfalls of machine learning in production
 
Improve ml predictions using graph algorithms (webinar july 23_19).pptx
Improve ml predictions using graph algorithms (webinar july 23_19).pptxImprove ml predictions using graph algorithms (webinar july 23_19).pptx
Improve ml predictions using graph algorithms (webinar july 23_19).pptx
 
Asynchronous Hyperparameter Search with Spark on Hopsworks and Maggy
Asynchronous Hyperparameter Search with Spark on Hopsworks and MaggyAsynchronous Hyperparameter Search with Spark on Hopsworks and Maggy
Asynchronous Hyperparameter Search with Spark on Hopsworks and Maggy
 
Using Apache Spark with IBM SPSS Modeler
Using Apache Spark with IBM SPSS ModelerUsing Apache Spark with IBM SPSS Modeler
Using Apache Spark with IBM SPSS Modeler
 
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...
AISF19 - Building Scalable, Kubernetes-Native ML/AI Pipelines with TFX, KubeF...
 
DevOps for DataScience
DevOps for DataScienceDevOps for DataScience
DevOps for DataScience
 
Real-time Machine Learning Analytics Using Structured Streaming and Kinesis F...
Real-time Machine Learning Analytics Using Structured Streaming and Kinesis F...Real-time Machine Learning Analytics Using Structured Streaming and Kinesis F...
Real-time Machine Learning Analytics Using Structured Streaming and Kinesis F...
 
Model checking
Model checkingModel checking
Model checking
 
A Survey of Machine Learning Methods Applied to Computer ...
A Survey of Machine Learning Methods Applied to Computer ...A Survey of Machine Learning Methods Applied to Computer ...
A Survey of Machine Learning Methods Applied to Computer ...
 
The Analytics Frontier of the Hadoop Eco-System
The Analytics Frontier of the Hadoop Eco-SystemThe Analytics Frontier of the Hadoop Eco-System
The Analytics Frontier of the Hadoop Eco-System
 
Asynchronous Hyperparameter Optimization with Apache Spark
Asynchronous Hyperparameter Optimization with Apache SparkAsynchronous Hyperparameter Optimization with Apache Spark
Asynchronous Hyperparameter Optimization with Apache Spark
 
Developing apps faster
Developing apps fasterDeveloping apps faster
Developing apps faster
 
Recommendation engine
Recommendation engineRecommendation engine
Recommendation engine
 
Scipy, numpy and friends
Scipy, numpy and friendsScipy, numpy and friends
Scipy, numpy and friends
 
Scalable machine learning
Scalable machine learningScalable machine learning
Scalable machine learning
 
ODSC West 2022 – Kitbashing in ML
ODSC West 2022 – Kitbashing in MLODSC West 2022 – Kitbashing in ML
ODSC West 2022 – Kitbashing in ML
 
Ml ops intro session
Ml ops   intro sessionMl ops   intro session
Ml ops intro session
 

Dernier

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Dernier (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Evolution of the mashup ecosystem by copying

  • 1. Evolution of the mashup ecosystem by copying Michael Weiss Technology Innovation Management (TIM) Solange Sari www.carleton.ca/tim weiss@sce.carleton.ca Mashups 2010 1
  • 2. Objective • Mashups are applications that combine data and services provided through APIs with user data • New application development model: opportunistic programming, uses a bricolage approach • Creation of mashups supported by an ecosystem of data providers, mashup platforms, and users • Research questions – How do mashup developers select APIs? – How do mashup developers learn to develop mashups? weiss@sce.carleton.ca Mashups 2010 2
  • 3. Relevance • Users/platforms: can benefit from/offer tools that better support the way users work • Directory providers: their role is to facilitate the selection of APIs and learning of developers • Data providers: need to understand which APIs their APIs are used together most (interoperability) weiss@sce.carleton.ca Mashups 2010 3
  • 4. Previous work • Examined structure and growth of mashup ecosystem using visualization and network analysis to identify members and their relationships • Opportunistic programming studies how developers use online resources in problem solving • Research on innovation: (re)combination shortens learning curve, modularity allows mix-and-match • Models of network growth: preferential attachment • Copying and duplication mechanisms in describing the growth of the web and biological networks weiss@sce.carleton.ca Mashups 2010 4
  • 5. Hypothesis • As answer to research questions, we examine to what degree developers create mashups by copying other mashups: copy of the mashup “blueprint” Number of copies/mashup Not copied Snapshot on 08/16/10 Amazon/GoogleMaps/YouTube ProgrammableWeb 5e-01 GoogleMaps/Twitter Mashups 4983 100% Cumulative probability 5e-02 Flickr/GoogleMaps Not copied 1528 31% Amazon/ Flickr Blueprints 341 7% 5e-03 GoogleMaps Copies of 3114 62% GoogleMaps/YouTube GoogleMaps blueprints 5e-04 YouTube 1 5 10 50 100 500 1000 Number of copies weiss@sce.carleton.ca Mashups 2010 5
  • 6. Copying model • Mashup ecosystem as network of mashups and APIs: a link indicates that a mashup uses an API • Assumption: mashups all have m APIs • Initialize network: – Create m0 ≥ m APIs, one mashup • Grow network from t=m0 + 1 to t=N: – Add new API with probability p – With probability 1-p, choose a mashup as a template – For each API in template, copy the API with probability α, or choose a new API at random with probability 1-α weiss@sce.carleton.ca Mashups 2010 6
  • 7. Example • Initial network: APIs 1 and 2, mashup 3 • Thin solid lines indicate random selection 1 3 t API 2 t Mashup weiss@sce.carleton.ca Mashups 2010 7
  • 8. Example • Growth: add a new mashup (4) • Thick solid lines indicate “copies” relationship • Thin dashed lines indicate copying 1 3 4 Full copy t API 2 t Mashup weiss@sce.carleton.ca Mashups 2010 8
  • 9. Example • Growth: add a new API (5) 5 1 3 4 Full copy t API 2 t Mashup weiss@sce.carleton.ca Mashups 2010 9
  • 10. Example • Growth: add a new mashup (6) • Thin solid lines indicate random selection 5 1 6 Partial copy 3 4 Full copy t API 2 t Mashup weiss@sce.carleton.ca Mashups 2010 10
  • 11. Research method • Calibrate simulation parameters – N: combined actual number of APIs and mashups – m = 2: good approximation of average actual APIs / mashup – p: number of APIs / N (all as of 08/16/10) • Simulate mashup ecosystem evolution – Vary α over range 0.0 to 1.0, keep m = 2 fixed – Run each simulation multiple times and terminate when 95% confidence interval is sufficient for the optimization • Determine best fit of simulated distribution of mashups / API with actual using two fitting methods: sum of squared error fit, and power law fit weiss@sce.carleton.ca Mashups 2010 11
  • 12. Actual distribution • Distribution of mashups / API follows Zipf’s law: plotting frequency of mashups relative to rank results in a line with slope close to -1 in a log-log plot GoogleMaps Actual Flickr Twitter 500 YouTube Number of mashups 100 -0.990 50 10 5 1 1 2 5 10 20 50 100 200 500 Rank weiss@sce.carleton.ca Mashups 2010 12
  • 13. Sum of squared error fit • Underestimates contribution of top-ranked API • Overestimates the number of APIs used by at least one mashup by 45% (1020 vs 703) Actual α = 0.798 Simulated (sum of squared error) 1e+07 500 8e+06 Sum of squared error Number of mashups 100 6e+06 50 4e+06 10 5 2e+06 1 0.2 0.4 0.6 0.8 1 2 5 10 20 50 100 200 500 Copying factor (!) Rank weiss@sce.carleton.ca Mashups 2010 13
  • 14. Power law fit • Slightly overestimates contribution of top API • Overestimates the number of APIs used by at least one mashup by 22% (859 vs 703) 2.5 Actual α = 0.855 Simulated (power law) 2.0 500 Power law coefficient error 1.5 Number of mashups 100 50 1.0 10 0.5 5 0.0 1 0.2 0.4 0.6 0.8 1 2 5 10 20 50 100 200 500 Copying factor (!) Rank weiss@sce.carleton.ca Mashups 2010 14
  • 15. Cumulative contribution of APIs • Sum of squared error fit underestimates number of APIs that contributed to 50% of API uses • Power law fit overestimates number of APIs that contributed to 50% of API uses Cumulative contribution 1.0 0.8 0.6 0.4 0.2 1 2 5 10 20 50 100 200 500 Rank weiss@sce.carleton.ca Mashups 2010 15
  • 16. Discussion • Both methods obtained their best fit for a high copying factor: this suggests that most mashups are created by modifying the an existing blueprint • Power law fit more closely approximates actual Zipf distribution, however, sum of squared error fit offers a better match of actual degrees of APIs in midrange weiss@sce.carleton.ca Mashups 2010 16
  • 17. Insights for stakeholders • Confirmation of practices directories follow: – List combinations of APIs into mashups – Keep track of developers of mashups – Provide tutorials on mashup development • Directory providers should make blueprints more apparent: also list frequency of blueprints • Users benefit as they can look at blueprints to select APIs that work well together and as examples • API providers learn which other APIs are frequently combined with their API: incentive to interoperate weiss@sce.carleton.ca Mashups 2010 17
  • 18. Conclusion • Results indicate that copying plays a significant role in the evolution of the mashup ecosystem • However, we cannot rule out other factors that could explain how mashup ecosystem grows • Copying hypothesis in line with current thinking about innovation: eg MacArthur’s Nature of Technology • Other current and future work: – Extend simulation to include mashups of different size – Test copying hypothesis empirically: we currently examine hereditary relationships between mashups – Examine link between copying and diversity of ecosystem weiss@sce.carleton.ca Mashups 2010 18