A Study of Mashup as a Software Application Development Technique with Examples from an End-User Programming Perspective
Ahmed Patel, Liu Na, Rodziah Latih, Christopher Wills, Zarina Shukur and Rabia Mulla
DOI : 10.3844/jcssp.2010.1406.1415
Journal of Computer Science
Volume 6, Issue 12
The purpose of this study is to present, introduce and explain the principles, concepts and techniques of mashups through an analysis of mashup tools from End-user Development (EuD) software engineering perspectives, since it is a new programming paradigm. Problem statement: Although mashup tools supporting the creation of mashups rely heavily on data integration, they still require users to have reasonable programming skills, rather than simply enabling the integration of content in a template approach. Mashup tools also have their lifespan in a fast moving technology-driven world which requires meta-application handling. Some developers have discontinued their mashup tools but others are still available in the mashup space. It has been noted that there is a steady increase of new mashups on a daily basis with a concomitant increase of new Application Programming Interface (APIs) to support meta-mashup application EuD. Approach: Both qualitative and quantitative research methods have been utilized. After introducing the basic principles, concepts and techniques of mashups, we develop and present a categorization of mashups and mashup tools and summarize the ten most popular currently used mashup tools against seven indictors from end-user software engineering perspectives ranging from programming skill requirement, prompt suggestion of features use, operability, ‘share-ability’ and reuse, service, type and target user, in order to evaluate how these mashup tools support end-user development. To perform the evaluation and produce the final results, the selected indicators’ features have been horizontally compared and comprehensively analyzed. Results: The philosophy of mashup is aimed at providing simple rapid program development by end-users with minimum programming skills. However, we observe that mashup tools typically follow four data processing styles: Webpage customization, wire paradigm, spreadsheet and programming by demonstration. These mashup tools are supposed to seamlessly and effortlessly assist end-users programming but this is not the case. Conclusion: From our research we concluded that some mashup tools are not really simple enough to handle and still require end-users to have a computer programming background to learn and understand its platform infrastructures and mechanisms. These might all change in the near future. There are some companies that are now involved with mashup development which provide huge opportunities to both individual and organizational customers. Mashup have now become a commercial opportunity rather than a simple way of integrating data from Web 2.0 platforms.
© 2010 Ahmed Patel, Liu Na, Rodziah Latih, Christopher Wills, Zarina Shukur and Rabia Mulla. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.