@phdthesis {phd:2014:saeed.aghaee,
	title = {End-User Development of Mashups Using Live Natural Language Programming},
	volume = {PhD},
	year = {2014},
	month = {February},
	school = {University of Lugano},
	type = {PhD},
	address = {Lugano, Switzerland},
	abstract = {The emergence of the long-tail in the market of software applications is shifting the role of end-users from mere consumers to becoming developers of applications addressing their unique, personal, and transient needs. On the Web, a popular form of such applications is called mashup, built out of the lightweight composition of Web APIs (reusable software components delivered as a service through the Web). To enable end-users to build mashups, there is a key problem that must be overcome: End-users lack programming knowledge as well as the interest to learn how to master the complex set of Web technologies required to develop mashups. End-User Development (EUD) is an emerging research field dealing with this type of problems. Its main goal is to design tools and techniques facilitating the development of software applications by non-programmers.

In this dissertation, we designed and implemented NaturalMash, an EUD system that empowers end-users to develop mashups. NaturalMash adopts a novel hybrid end-user programming technique combining natural language programming with a what-you-see-is-what-you-get interface in a live programming environment. We followed an iterative user-centered design process, in which three formative evaluations drove the incremental design of our system. At the end of the process, we conducted a summative usability evaluation, whose results suggest that the system is highly usable by non-programmers. Also, we proposed a novel benchmarking framework to evaluate mashup tools against each other. Using the framework, we conducted a comparative evaluation of 28 state-of-the-art mashup tools (NaturalMash included) against their expressive power. According to the results, our proposed system has a moderate yet competitive level of expressiveness. All in all, NaturalMash contributes a novel design featuring a unique combination of end-user programming techniques, a suitable metaphor, and the ability to enable an optimal learning experience. Our extensive evaluation results indicate that NaturalMash is located at a sweet spot along the classical trade-off between expressiveness and usability/learnability.
},
	keywords = {end-user software engineering, live programming, natural language programming, NaturalMash, Web mashups},
	url = {http://doc.rero.ch/record/210369/files/2014INFO002.pdf},
	author = {Saeed Aghaee}
}
@conference {aghaee2013iseud,
	title = {Guidelines for Efficient and Effective End-User Development of Mashups},
	booktitle = {Fourth International Symposium on End-User Development (IS-EUD 2013)},
	year = {2013},
	month = {June},
	pages = {260-265},
	address = {Copenhagen, Denmark},
	abstract = {End-User Development (EUD) is an emerging research area aiming at empowering non-technical users to somehow create or design software artifacts. Mashups provide a high potential for EUD activities on the Web. Users on the Web can tap into a vast resource of off-the-shelf components in order to rapidly compose new lightweight software applications called mashups. In this paper, we provide a set of guidelines to design EUD systems for mashups that are widely referred to as mashup tools. The guidelines are derived from our experience with the (ongoing) design and evaluation of NaturalMash, a novel mashup tool targeted for a wide range of users to create feature-rich mashups.},
	keywords = {end-user software engineering, NaturalMash, Web mashups},
	doi = {10.1007/978-3-642-38706-7_23},
	author = {Saeed Aghaee and Cesare Pautasso}
}
@inproceedings {aghaee2013live,
	title = {Live Mashup Tools: Challenges and Opportunities},
	year = {2013},
	month = {May},
	address = {San Francisco, CA, USA},
	abstract = {Live programming is a programming style in which the repetitive task of compiling and running the software being programmed is managed automatically. This style can be a helpful practice in End-User Development (EUD) where the non-professional end-users are to be supported through techniques and tools that empower them to create or modify software artifacts. Mashups {\textemdash} a form of lightweight Web applications composing reusable content and functionalities available on the Web {\textemdash} are a popular target for EUD activities on the Web. EUD for mashups is enabled by intuitive composition environments, called mashup tools. In this paper, we introduce live mashup tools, a new class of mashup tools based on the live programming style. We give a comprehensive definition and classification of live mashup tools, giving examples of how well existing tools fit in this category and discuss open research challenges and opportunities.},
	keywords = {live programming, NaturalMash, Web mashups},
	doi = {10.1109/LIVE.2013.6617338},
	author = {Saeed Aghaee and Cesare Pautasso}
}
@conference {naturalmash:vlhcc:2013,
	title = {Natural End-User Development of Web Mashups},
	booktitle = {IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2013)},
	year = {2013},
	month = {September},
	pages = {111 - 118 },
	publisher = {IEEE},
	organization = {IEEE},
	address = {San Jose, CA, USA},
	abstract = {End-User Development (EUD) can be exploited on the Web, where users have the opportunity to create niche {\textquotedblleft}Web Mashup{\textquotedblright} applications as a means to address their long tail of situational needs in different domains of application. In this paper, we describe the design and evaluation of NaturalMash, an innovative EUD system for mashups. NaturalMash provides a high level of expressive power while it is still usable by non-professional users. This clearly distinguishes NaturalMash from existing mashup EUD tools that are either too limited or highly specialized for inexperienced users. The NaturalMash user interface efficiently combines different techniques such as live programming, natural language programming, What You See Is What You Get (WYSIWYG), and Programming by Demonstration (PbD). The design of NaturalMash adopts a formative evaluation approach, and has completed two design and evaluation iterations. The paper reports the results of the last formative evaluation and discusses the implications of the findings. The results are promising and suggest that the proposed system has a short and gentle learning curve and enables even non-professional users to rapidly build useful mashups.},
	keywords = {end-user software engineering, natural language processing, NaturalMash, service composition, Web mashups},
	doi = {10.1109/VLHCC.2013.6645253},
	author = {Saeed Aghaee and Cesare Pautasso and Antonella De Angeli}
}
@inproceedings {naturalmash:cweb:2012,
	title = {EnglishMash: Usability Design for a Natural Mashup Composition Environment},
	volume = {7703},
	year = {2012},
	month = {July},
	pages = {109-120},
	publisher = {Springer},
	address = {Berlin, Germany},
	abstract = {The design of mashup tools combines elements from end-user development and software composition in the context of the Web. The challenge for mashup tool designers is to provide end-users with suitable abstractions, programming models and tool support for easily composing mashups out of existing Web services and Web data sources. In this paper we describe the design of a natural mashup composition environment based on the EnglishMash controlled natural language. The environment proactively supports users as they are learning the syntax of the EnglishMash language with features such as auto-completion, immediate feedback, live preview of the mashup execution and component discovery and selection based on natural language descriptions.},
	keywords = {NaturalMash, Web mashups},
	doi = {10.1007/978-3-642-35623-0_12},
	author = {Saeed Aghaee and Cesare Pautasso}
}
@conference {DBLP:conf/eics/AghaeeNP12,
	title = {Reusable decision space for mashup tool design},
	booktitle = {4th ACM SIGCHI symposium on Engineering interactive computing systems (EICS 2012)},
	year = {2012},
	month = {June},
	pages = {211-220},
	address = {Copenhagen, Denmark},
	abstract = {Mashup tools are a class of integrated development environments that enable rapid, on-the-fly development of mashups - a type of lightweight Web applications mixing content and services provided through the Web. In the past few years there have been growing number of projects, both from academia and industry, aimed at the development of innovative mashup tools. From the software architecture perspective, the massive effort behind the development of these tools creates a large pool of reusable architectural decisions from which the design of future mashup tools can derive considerable benefits. In this paper, focusing on the design of mashup tools, we explore a design space of decisions comprised of design issues and alternatives. The design space knowledge not only is broad enough to explain the variability of existing tools, but also provides a road-map towards the design of next generation mashup tools.},
	keywords = {architectural decisions, design space, survey, Web mashups},
	doi = {10.1145/2305484.2305520},
	author = {Saeed Aghaee and Marcin Nowak and Cesare Pautasso}
}
@article {DBLP:conf/icwe/AghaeeP11a,
	title = {End-User Programming for Web Mashups - Open Research Challenges},
	volume = {7059},
	year = {2011},
	month = {June},
	pages = {347-351},
	publisher = {Springer},
	address = {Paphos, Cyprus},
	abstract = {Mashup is defined as the practice of lightweight composition, serendipitous reuse, and user-centric development on the Web. In spite of the fact that the development of mashups is rather simple due to the reuse of all the required layers of a Web application (functionality, data, and user interface), it still requires programming experience. This is a significant hurdle for non-programmers (end-users with minimal or no programming experience), who constitute the majority of Web users. To cope with this, an End-User Programming (EUP) tool can be designed to reduce the barriers of mashup development, in a way that even non-programmers will be able to create innovative, feature-rich mashups. In this paper, we give an overview of the existing EUP approaches for mashup development, as well as a list of open research challenges.},
	keywords = {end-user software engineering, Web mashups},
	doi = {10.1007/978-3-642-27997-3_38},
	author = {Saeed Aghaee and Cesare Pautasso}
}
@conference {naturalmash:iiwas:2012,
	title = {The mashup component description language},
	booktitle = {13th International Conference on Information Integration and Web-based Applications and Services  (iiWAS 2011)},
	year = {2011},
	month = {December},
	pages = {311-316},
	address = {Ho Chi Minh City, Vietnam},
	abstract = {Mashups can be seen as the result of software composition applied to the Web. One of the characteristics of mashup development is the heterogeneity of its building components in terms of logical layering (e.g., user interface, application logic, and data), access method (e.g., REST, SOAP), and composition technique (e.g., scraping vs. clipping, synchronous vs. asynchronous interaction, discrete vs. streaming). This poses a challenge towards the design of mashup tools aiming at lowering the barriers of mashup development, as this heterogeneity needs to be abstracted. In this paper, we address this challenge by proposing a new JSON-based domain-specific language for describing heterogeneous mashup components, called the Mashup Component Description Language (MCDL). MCDL lies at the core of a meta-model for mashup component modeling, and can be used for component discovery and classification but also for user-centric mashup development as it decouples the interface of a mashup component from its underlying implementation technologies.},
	keywords = {natural language processing, NaturalMash, service contracts, Web mashups},
	doi = {10.1145/2095536.2095591},
	author = {Saeed Aghaee and Cesare Pautasso}
}
@article {5453330,
	title = {Information Quality in Mashups},
	journal = {Internet Computing},
	volume = {14},
	number = {4},
	year = {2010},
	month = {July-August},
	pages = {14-22},
	abstract = {Modern Web 2.0 applications are characterized by high user involvement: users receive support for creating content and annotations as well as "composing" applications using content and functions from third parties. This latter phenomenon is known as Web mashups and is gaining popularity even with users who have few programming skills, raising a set of peculiar information quality issues. Assessing a mashup{\textquoteright}s quality, especially the information it provides, requires understanding how the mashup has been developed, how its components look alike, and how quality propagates from basic components to the final mashup application.},
	keywords = {component quality, information quality, mashup patterns, mashups, quality metrics, Web 2.0 applications, Web mashups},
	issn = {1089-7801},
	doi = {10.1109/MIC.2010.60},
	author = {Cinzia Cappiello and Florian Daniel and Maristella Matera and Cesare Pautasso}
}
@proceedings {mashups09,
	title = {Third international workshop on web APIs and services Mashups (Mashups{\textquoteright}09)},
	year = {2009},
	pages = {695-696},
	address = {Orlando, Florida},
	keywords = {proceedings, Web mashups},
	doi = {http://doi.acm.org/10.1145/1639950.1639969},
	url = {http://mashup.inf.unisi.ch/mashups09/index.php},
	author = {Cesare Pautasso and Stefan Tai and E. Michael Maximilien}
}
@proceedings {mashups:2008,
	title = {Introduction: Second International Workshop on Web APIs and Services Mashups (Mashups 2008)},
	volume = {5472},
	year = {2008},
	month = {December},
	pages = {133-135},
	publisher = {Springer},
	address = {Sidney, Australia},
	keywords = {Web mashups},
	doi = {10.1007/978-3-642-01247-1_12},
	author = {Cesare Pautasso and Stefan Tai and E. Michael Maximilien}
}
@inproceedings {mashups08:atelier,
	title = {The Mashup Atelier},
	volume = {5472},
	year = {2008},
	month = {December},
	pages = {155-165},
	publisher = {Springer},
	address = {Sydney, Australia},
	abstract = {Can mashups be used to make high school students interested in studying computer science? To answer this question, we have designed the mashup atelier. The goal of this experimental lecture is to make students realize that the Web is not only a medium for passively consuming information but it can be actively reprogrammed as they see fit. The atelier introduces the topic of Web 2.0 Mashups to students without any formal pre-existing computer science education. After giving the atelier several times, we report on the results of a student evaluation survey showing that, if supported with right kind of mashup tools, creative students can become very productive developing interesting mashups in a short timeframe. The feedback we gathered from the students can also be used to improve existing mashup languages and tools, with the ultimate goal of understanding what makes them intuitive and fun to use.},
	keywords = {end-user software engineering, Web mashups},
	doi = {10.1007/978-3-642-01247-1_15},
	author = {Cesare Pautasso and Monica Frisoni}
}
@inproceedings {jopera:mashups07,
	title = {Let it flow: Building Mashups with Data Processing Pipelines},
	volume = {4907},
	year = {2007},
	month = {September},
	pages = {15-28},
	publisher = {Springer},
	address = {Vienna, Austria},
	abstract = {Mashups are a new kind of interactive Web application, built out of the composition of two or more existing Web service APIs and data sources. Whereas "pure" mashups are built relying entirely on the Web browser as a platform for integration at the presentation layer, this approach is not always feasible and part of the mashup integration logic must be deployed on the Web server instead. In the case study presented in this paper, we explore a novel approach to build mashups out of heterogeneous sources of streaming data. In particular, we introduce a layered mashup architecture, with a clear separation between the mashup user interface and the mashup integration logic run by a mashup engine. To do so, we show how to build a mashup application that displays in real time the location of visitors connecting to a Website. The integration logic feeding a map widget by processing the Web site logs is developed using a data flow model that connects a set of reusable and heterogeneous components into a data processing pipeline. We conduct a brief performance evaluation of the mashup showing that the pipeline introduces minimal delay and discuss several extensions of the mashup.},
	keywords = {JOpera, streaming, Web mashups},
	doi = {10.1007/978-3-540-93851-4_3},
	author = {Bi{\"o}rn Bi{\"o}rnstad and Cesare Pautasso}
}
