<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>End User Development of Multidevice and Collaborative Mashups</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matteo Picozzi</string-name>
          <email>picozzi@elet.polimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Politecnico di Milano Dipartimento di Elettronica</institution>
          ,
          <addr-line>Infrmazione e Bioningegneria</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2013</year>
      </pub-date>
      <abstract>
        <p>Web 2.0 and the consequent revolution influenced not only the technologies but also the way of thinking of end users, now “participating” in the creation of contents and more and more of applications. Mashups are applications that integrate contents, behaviors and interfaces of diverse resources, whether public of proprietary and are based on a simplified development process, based on the reuse of ready-to-use components. In the last years, in order to allow end users to create mashups, many tools have been proposed but the most of them had not a long life. With this research, we want to define models, composition methods and implement tools for end user development of mashups.</p>
      </abstract>
      <kwd-group>
        <kwd>Mashups</kwd>
        <kwd>End User Development</kwd>
        <kwd>Personal Information Spaces</kwd>
        <kwd>Common Information Spaces</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Within the Web 2.0 revolution, among a pletora of novelties, new technologies, new
standards and new development practices were introduced. In particular, the use of
scripting languages, the diffusion of Web Services, public APIs, the increasing diffusion
of basic skills in the development of Web applications and the rise of the culture of
participation [
        <xref ref-type="bibr" rid="ref12 ref16">12, 16</xref>
        ] delineate the scenario in which mashups were born. Mashups are
applications that integrate, at different levels, data, functionality and user interfaces from
different resources which include Web Services, public APIs or enterprise databases.
Mashups emerged in response to the need of users, not necessarily experts of
technology, to quickly assemble Web resources to create new Web applications solving their
situational needs. For their situational nature, mashups are often developed by users,
i.e., the people who need them are also their users. This aspect was also a great
limitation for the diffusion of mashups. In fact, to open mashup development to a larger class
of users, in the last years, a number of tools, based on easy composition languages, have
been proposed. Unfortunately, the most of such tools, after a couple of years of activity,
were dismissed.
      </p>
      <p>My research aims at investigating composition models, paradigms and tools for the
end user development of mashups. It originates from the need of end users in some
specific communities to create applications able to satisfy flexibly their need. I indeed</p>
      <p>
        applied the results of my work to the enterprise context [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] first, and then to a Cultural
Heritage scenario where professional guides of archeological parks need to create
applications to support their guided tours [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Some of the causes of the failure of many
mashup tools are the incompleteness with respect to the users needs and the difficulty of
use. For these reason the approach I’m working on aims at covering the whole mashup
life cycle and includes a new composition paradigm that supports the End User
Development. We have developed a new visual template-based model which allow users,
through a visual paradigm, to: integrate data belonging to diverse resources, create
components that can be used in a mashup composition dashboard, or generate a standalone
mashup that can be executed on different kind of devices (e.g., tablet or multitouch
screens). Finally, we have introduced collaboration in the mashup life cycle,
allowing groups of users to collaborate real-time. All these techniques and visual paradigms
allow end users to participate to the social innovation by integrating data from third
parties, building mashup applications with different difficulty levels and collaborate by
sharing contents and editing those contents together in real-time.
      </p>
      <p>This paper is structured as follows. Firstly the research question of my work and the
research problem are stated. Than, on the basis of the state of the art and the adopted
research methodology, some preliminary results and the definition of the approach for
the end user development of mashups are presented. The results so far achieved are
shortly illustrated and the conclusions outlined.
1.1</p>
      <sec id="sec-1-1">
        <title>Research Question</title>
        <p>The general research question that guides our research is the following:</p>
        <p>How can we enable end users to develop mashups?
This implies conceiving methods, visual paradigms and metaphors to enable end users,
who might also be unskilled, to develop applications that meet their situational needs
by reusing already available resources with a very low effort and in a reasonable time.
As described in the next session, there is a need of appropriate models, technologies
and tools to support such user needs.
2</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>State of the Art</title>
      <p>There are several kinds of mashups: they could consist of just a resource inclusion in
a page, at one of the three tiers of a Web application (i.e. data, logic and interface), or
could be composite applications whose modules, called components, are orchestrated
and synchronized in a sophisticated manner. In the literature, a lot of tools have been
proposed to allow the development of diverse kinds of mashups by end users. However,
most of those tools were dismissed after a couple of years of activity or were research
projects that have never been really adopted.</p>
      <p>
        Some projects have focused on easing the creation of effective presentations on top
of Web services, to provide a direct channel between the user and the service. SOA4All
[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] is a tool that facilitates the creation of service infrastructures and increases the
interoperability between large numbers of distributed and heterogeneous functionalities
Proc. of CHItaly 2013 Doctoral Consortium, Trento (Italy), September 16th 2013 (published at http://ceur-ws.org).
Copyright © 2013 for the individual papers by the papers' authors. Copying permitted for private and academic purposes.
This volume is published and copyrighted by its editors.
      </p>
      <p>
        on the Web. SOA4All concentrates on the establishment of an instance of a service
delivery platform that is optimized and tailored to the needs of Web services. ServFace
[
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] adopts a model-driven development approach that applies Service annotations to
a visual authoring of Service-based interactive applications. Dynvoker [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] is a tool
that allows users to generate forms dynamically to invoke services in many scenarios,
including rapid service testing and dynamic inclusion of services as plugins into
applications. However, such approaches do not allow the composition of multiple services
into an integrated application.
      </p>
      <p>
        There is also a considerable body of research on mashup tools, the so-called mashup
makers, which provide graphical user interfaces for combining mashup services.
Yahoo! Pipes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is one of the most popular mashup tools. Pipes is a wired environment
in which mashup feeds are accessed and “piped” through user-selected functionality
(combine, filter, sort, split, count, truncate and so on) to process the feed. It provides
also a community for building, sharing, rating and modifying mashups. MashArt [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is
a Web tool that provide universal composition as a service in form of an easy-to-use
graphical development tool equipped with an environment for fast deployment and
execution of composite Web applications though the pipe metaphor.
      </p>
      <p>
        With respect to manual programming, such platforms certainly alleviate the mashup
composition tasks. However, to some extent they still require an understanding of the
integration logic (e.g. data flow, parameter coupling, and composition operator
programming). In some cases, building a complete Web application equipped with a user
interface requires the adoption of additional tools or technologies. Even when they
offer an easy composition paradigm, they do not guide at all the composition process. A
study about users’ expectations and usability problems of a composition environment
for the the ServFace tool provides evidence of a fundamental issue concerning
conceptual understanding of service composition (i.e. end users do not think about connecting
services) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>
        Dapper [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is a tool powered by Yahoo! that allows one to collect information from
web pages or feeds and create a Dapp. A Dapp is a container of content that could be
of different formats, e.g., XML, CSV, JSON, HTML but also Google Gadget, Google
Maps and iCal. Dapper therefore produces customized contents using Web pages data.
Our tools also allow users to combine such data with other resources. We can thus
consider Dapper as useful addition to the Component Editor (see Section Ideas and
Results); we are indeed planning to include Dapps into our Mashup Dashboard and
allow users to use them as mashup components.
      </p>
      <p>
        JackBe Presto and IBM Damia are enterprise-oriented tools which offer support to
integration, reporting and visualization of enterprise data. JabkBe Presto [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] is a
RealTime Operational Intelligence software with real-time Business Intelligence analytic.
IBM Damia [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] is a data integration platform that allows business users to quickly
and easily create data mashups that combine data from desktop, web, and traditional IT
sources into feeds that can be consumed by AJAX and other types of web applications.
It is easy to customize our platform in order to obtain an environment similar to the
two previous tools. If enterprise databases are queried by an ad hoc service, it is easy
to wrap components able to visualize data. In particular we have chart component that
can visualize data aggregations through diverse kind of information visualizations.
Proc. of CHItaly 2013 Doctoral Consortium, Trento (Italy), September 16th 2013 (published at http://ceur-ws.org).
Copyright © 2013 for the individual papers by the papers' authors. Copying permitted for private and academic purposes.
This volume is published and copyrighted by its editors.
      </p>
      <p>
        Another investigated aspect in the state of the art is the collaborative nature of
mashups. For example some tools, as e.g. Yahoo! Pipes, also provide a community
for mashups developers. Collaboration in mashup-based development can be beneficial
in collective intelligence scenarios [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], where teams of people co-create knowledge by
sharing integrated information spaces with professional peers, in meta-design
environments [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], where end users shape up their tools in collaboration with expert developers,
or in scenarios where people, not able to develop by themselves their own applications,
ask for help and advice from experts within reference communities in a kind of
crowdsourced Web Engineering [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. In [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] Heinrich et al. describe widgets for collaborative
Web applications which can be re-used in different applications. Such collaboration
approaches are similar to the ones we adopt in our tools because they are inspired to the
collaboration mechanisms that nowadays are offered by the most popular collaborative
environments, one for all Google Documents. However in our tools we do not only
capture the real-time information in order to notify what other users are doing, but we also
provide other kinds of asynchronous collaboration, such as annotations [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Research Methodology</title>
      <p>The methodology applied in this research is composed by the following steps: (i)
analysis of the state of the art and outline of lacks or not considered aspects; (ii) proposal
of solutions to fill the lacks, e.g., models, composition paradigms and technology
solutions; (iii) implementation of the proposed solutions; (iv) validation through user
experiments; (v) refinements trough iterations of the previous points.</p>
      <p>
        We set our research with an incremental method. The first part of the research
focused on technological solutions for the composition of mashups and the
synchronization among components by means of a tool for mashup delevopent [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The second part
focused on the component creation, with particular attention to the execution of the
created components by standalone execution environments on different devices. The last
part was related to the collaborative creation of mashups and components. At the end of
each part of the research, we conducted an experiment in order to evaluate and validate
the achieved results and proceed by resolving the emerged issues. In the next section,
ideas and results emerged from the research are presented and, in the following section,
the user-based evaluation will be described.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4 Ideas and Results</title>
      <p>
        The analysis of the state of the art, in particular the aforementioned tools and [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
suggests a critical analysis on the life cycle of mashups. If we consider the life cycle
of collaboration-oriented mashups in Figure 1, we can notice that most of the mashup
tools so far proposed do not cover many of the development activities.
      </p>
      <p>We identified the activities reported in Figure 1 as fundamentals for providing users
with feasible approaches where they are enabled to create components, not only to
compose them, and to collaborate with their peers. For this reason we have concentrated
on trying to develop a tool that aims at being more complete, flexible and as easy-to-use
as possible. Our conclusion was that such tool must (i) cover the whole mashup life
Proc. of CHItaly 2013 Doctoral Consortium, Trento (Italy), September 16th 2013 (published at http://ceur-ws.org).
Copyright © 2013 for the individual papers by the papers' authors. Copying permitted for private and academic purposes.
This volume is published and copyrighted by its editors.</p>
      <sec id="sec-4-1">
        <title>Mashup idea</title>
        <p>Resource
Selection and
Registration</p>
      </sec>
      <sec id="sec-4-2">
        <title>Dismissal</title>
        <p>Use, Reuse</p>
        <p>and
Mantainance</p>
        <p>Component</p>
        <p>Editing</p>
        <p>Mashup</p>
        <p>Composition
Mashup
Sharing
cycle; (ii) be able to cover as many component types as possible; (iii) be flexible, i.e.,
must allow users to add more resources that are deemed relevant for their applications;
(iv) support the deployment of mashups on as more devices as possible and (v) be social
and collaborative.
Given the previous objectives, we propose PEUDOM, a Platform for End User
Development of Mashups. PEUDOM is composed by two main environments, i.e. Component
Editor and Mashup Dashboard and supports the sharing of components and the live
collaboration among users. Figure 2 illustrate the overall architecture that we describe
in detail inn the sequel of the section.</p>
        <p>
          Component Editor The Component Editor allows end users to register REST
services in the platform, to query them in order to use their data to assemble components.
Component descriptors can be exported and executed on the Mashup Dashboard or
as standalone application, coded according to the target device technology, able to
interpret it, retrieve data and instantiate the component schema on the specific device.
Those applications could be deployed on diverse devices like smartphones, tablets or
large multitouch displays. Figure 2 shows a screenshot of the Component Editor.
Selecting different services the data will be fused in the visual template, according to a
lightweight, client-side data integration technique [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Through the Service Manager
module (Figure 2), the Component Editor offers support for querying REST services,
displaying the retrieved results in a visual format, and visually defining selection and
projection queries over such results. A visual mapping process indeed allows the user
to select data attributes and associate them to user interface elements playing the role
of data collectors. The association of data from multiple services to a same UI data
Proc. of CHItaly 2013 Doctoral Consortium, Trento (Italy), September 16th 2013 (published at http://ceur-ws.org).
Copyright © 2013 for the individual papers by the papers' authors. Copying permitted for private and academic purposes.
This volume is published and copyrighted by its editors.
        </p>
        <p>Component Editor
Visual Mapping</p>
        <p>Manager
Service Manager</p>
        <p>Event Handler</p>
        <p>Mashup Engine
Service
descriptor</p>
        <p>Component</p>
        <p>schema
Client
Server</p>
        <p>Sharing Server
User/Group
Manager</p>
        <p>Versioning
System</p>
        <p>Visual
Templates</p>
        <p>Live Editing Client
Communication Client
Collaboration Layer
Live Editing</p>
        <p>Server
Editing Action</p>
        <p>Queue</p>
        <p>Component
Execution
Engine</p>
        <p>Component
schema</p>
        <p>Composition</p>
        <p>schema</p>
        <p>Communication Server
Notification</p>
        <p>Server</p>
        <p>Annotation</p>
        <p>Server</p>
        <p>Chat
Server</p>
        <p>Repository Server
Service Descriptor</p>
        <p>Repository</p>
        <p>Component Schema Composition Schema</p>
        <p>Repository Repository</p>
        <p>Web Services</p>
        <p>
          and APIs
collector also defines integration queries [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. The editor, through the Visual Mapping
Manager, translates the visual actions into an XML-based component schema. At
runtime the execution engines will be able to interpret this rule and to render the selected
data, retrieved by the service querying, at the right place in the visual template.
Mashup Dashboard In our mashup platform, component integration complies with
an event-driven, publish-subscribe paradigm that enables the synchronization of
components behaviors at the presentation level. Components wrap (remote or local)
services and expose events and operations. The coupling of components within an
integrated workspace is based on the subscription of operations, which become listeners for
events exposed by other components. Subscriptions are expressed through a
composition schema represented in an XML-based domain specific language [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], which is then
used to govern the execution of the mashup, i.e., the synchronization of the different
Proc. of CHItaly 2013 Doctoral Consortium, Trento (Italy), September 16th 2013 (published at http://ceur-ws.org).
Copyright © 2013 for the individual papers by the papers' authors. Copying permitted for private and academic purposes.
This volume is published and copyrighted by its editors.
components according to the defined listeners. The Mashup Dashboard is a Web
environment where users can create new mashups or modify already exiting ones, which
could be developed by the same end user or by other users and shared with him/her.
Components are represented as windows (as shown in the Mashup Dashboard
screenshot in Figure 2) and can be dragged around the workspace. A left-handed palette allows
the inclusion of other registered components. In the top-left corner of the component
window, there is the component icon: when other components are included in the same
mashup, users can drag this icon of a component (source) on another component
(target) and, if the target component is compatible, it will be possible to drop the icon on
it, enabling the subscription of the target component operation to the source component
event, by selecting the event and the operation from two drop down lists.
        </p>
        <p>As shows in Figure 2, from an architectural point of view, an Event Handler on the
client-side intercepts the visual composition actions executed by the end user, and
automatically translates them into elements, i.e., listeners and property values, of the
mashup. Based on the so created schema, the Mashup Engine acts as an event bus: it
listens and handles the events raised by the interaction with each single components,
and activates the subscribed operations as prescribed by the listeners in the composition
schema.</p>
        <p>
          A relevant characteristic of our approach is the interleaving of the design and
execution phases [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]: users immediately experience the effect of their composition actions
(i.e., the composition schema is immediately interpreted and executed); thus they can
iteratively and interactively refine the resulting applications. This is in line with some
end user development principles, which state that immediate and continuous feedback
of what end users are doing, help them in the development.
        </p>
        <p>Proc. of CHItaly 2013 Doctoral Consortium, Trento (Italy), September 16th 2013 (published at http://ceur-ws.org).
Copyright © 2013 for the individual papers by the papers' authors. Copying permitted for private and academic purposes.
This volume is published and copyrighted by its editors.</p>
        <p>Collaboration Modules PEUDOM exploits a “lightweight” execution paradigm,
hosting all the modules for composing and executing the composite information spaces at
the client-side. As highlighted in Figure 2, server-side modules instead manage the
sharing of resources by multiple users and the synchronous and asynchronous
communication. A schema versioning, an annotation system and an activity log system
support a synchronous communication. Instant messaging and live editing then enable
synchronous collaboration. For example, if a user performs an action on a client that
modifies locally a shared mashup, this action is propagated (through the Live Editing Client)
to a Live Editing Server in charge of updating the composition schema on each listening
client. The server maintains a representation of all the distributed editing actions: every
editing session on a shared mashup is associated with an Editing Action Queue from
which messages are broadcasted to all the active shared mashup instances, except the
one where the modification originated. On a client listening to modification actions, the
Live Editing Client interprets the received actions and actuates the changes on the local
schema. The server-side management of the editing action queue ensures the
synchronized evolution of all the active mashup instances. With respect to the paradigm adopted
for mashup construction, the shared mashup composition schema is now enriched with
status meta-data (e.g., parameter values to query single components, items selected in a
given data set), so that each instance is synchronized not only with respect to the
composition structure (i.e., components and listeners), but also with respect to behavioral
aspects, e.g., the displayed data set filtered out by different actions of concurrent users.
Therefore, the composite application is now long-lasting and stateful: both structure
and state variables are maintained across different sessions.</p>
        <p>
          Domain Specificity The composition paradigm illustrated above is not tied to any
specific domain. Our platform is indeed open in its nature, being it conceived for the
integration of heterogeneous services, based on different visual templates and user
interfaces supporting mashup composition. This openness facilitates the customization
of the platform with respect to the characteristics and needs of specific communities
of end users. Customization, for example, occurs by selecting and registering into the
platform services and data sources (public or private) that can provide content able to
fulfill relevant user information needs. Service registration is kept simple, to allow even
inexperienced users to add new services as they need them. Registration requires the
user to input, by means of visual forms, the service URI and the value of some search
keys to execute basic service queries. Domain specificity is also obtained by the
development of execution engines for the components created by the Component Editor,
using specific terminology and customizing the interaction on the target users needs, as
outlined by Casati in [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>New visual templates for data visualization can also be easily added, by
instrumenting the design environment for the mashup composition based on the new templates,
and by extending the execution environments with mechanisms for the instantiation of
the corresponding user interface. In our current version of the platform, we have
implemented map-based, list-based and graphic-based templates. It is worth noting that the
schema generated by the Component Editor makes use of conceptual elements, called
visual renderers, which are independent of the chosen visual template. Visual renderers
Proc. of CHItaly 2013 Doctoral Consortium, Trento (Italy), September 16th 2013 (published at http://ceur-ws.org).
Copyright © 2013 for the individual papers by the papers' authors. Copying permitted for private and academic purposes.
This volume is published and copyrighted by its editors.</p>
        <p>are generic receptors of data that, based on the user choice, act as placeholders for data
visualization during the component execution. The component schema consists of a set
of visual renderers, each one representing the integration of data items coming from
different resources. The way visual renderers are displayed according to a given layout
then depends on the visual template selected by the user at design time, which in turn
implies a specific mapping between the visual renderers in the abstract model and the
widgets in the concrete visualization layout. The addition of a new template basically
requires the definition of a new visualization layout, and of the mapping between the
abstract visual renderers and the concrete elements of the layout that will be used to
instantiate the component user interface. The composition paradigms and the rule for
schema generation remain unchanged. Different from service registration, the definition
of new visual templates necessarily requires the intervention of technicians (typically
platform administrators). Nevertheless, this extra-effort is justified by the fact that the
customization of visual templates introduces a level of specificity, in relation to
specific domains, that is needed to increase the value of the platform with respect to the
addressed end users.
4.2</p>
        <sec id="sec-4-2-1">
          <title>User Study Evaluation</title>
          <p>In order to evaluate our approach, so far we have conducted three user studies to test
the main parts of the platform, following the incremental flow described in the Section
Research Methodology. Each part ended with a user study session to evaluate the
current step. The first study was about the composition of mashups on the first version of
the Mashup Dashboard, the second study was about the component creation and the
exporting and use of the created component on mobile devices and the last study is
about the collaboration mechanisms. All the evaluations follow the same four-phase
methodology: (i) pre-experience and placement questionnaire; (ii) brief explanation of
the experience and demo of the tool; (iii) user experience and observation; (iv)
postexperience evaluation questionnaire.</p>
          <p>With the user study we want to answer to three main questions in order to understand
if the tool it is intuitive and easy to use and if end users would use again the tool in the
future.
1. Do end users feel comfortable with the tool?
2. Are they able to accomplish to some tasks that let them to use the most important
features and functionalities of the tool?
3. Are they satisfied with the use of the tool and with the work done through it?</p>
          <p>During the experiments we observed two different categories of users: the novice
users and the expert users with respect to mashups and, in general, to Web application
development. We measured their performance in terms of task execution time and
number and type of errors. From the analysis of the data collected through questionnaires
and observation, it emerged that there is not a relevant difference in the behaviors of
these two categories of users. This can be considered on aspect in favor of the
ease-ofuse of our tools for inexperienced users, who are enabled to achieve a similar
performance as the more skilled users. Moreover, we already considered the user’s comments
Proc. of CHItaly 2013 Doctoral Consortium, Trento (Italy), September 16th 2013 (published at http://ceur-ws.org).
Copyright © 2013 for the individual papers by the papers' authors. Copying permitted for private and academic purposes.
This volume is published and copyrighted by its editors.</p>
          <p>and the reactions that we relieved during the evaluation session and we corrected
accordingly the platform. In order to conclude the evaluation we will organize other user
studies by comparing the behavior of expert users versus novice users and also with
respect to another, already existing and successful, tool, e.g. Yahoo! Pipes, in order to
evaluate and validate our approach and platform and understand other user needs and
how to improve our work.
5</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>
        The research illustrated in this paper aims at enabling end users to develop mashup
applications by their own. Thanks to tools like the one we propose, end users can build
customized applications that fulfill their specific needs in a reasonable time and with
a limited effort. We, in particular, propose PEUDOM, a platform that allows end users
to develop their mashup applications by visual paradigms, which allow users to
accomplish different development activities, from the services registration and creation
of components to the mashup composition and the collaboration with other users. The
platform covers as much as possible the life cycle of the mashup development and
enable the reuse of components and mashups created and shared by other users.
Comparing our tool with other tools in literature we notice that there are not other tools
that cover all these phases and there are not other tools that support a live
collaboration paradigm. Moreover, the creation of components integrates data from different
resources and produces a XML-based descriptor that can be used also by standalone
applications developed for diverse devices from mobile devices to large multi-display
screens. As future work we will (i) improve the real-time collaborative editing; (ii)
enable the registration of different kind of services other than REST services; (iv) apply
recommendation techniques in order to help users selecting adequate resources [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and
(v) increase the flexibility and usability of our environments.
      </p>
      <p>Proc. of CHItaly 2013 Doctoral Consortium, Trento (Italy), September 16th 2013 (published at http://ceur-ws.org).
Copyright © 2013 for the individual papers by the papers' authors. Copying permitted for private and academic purposes.
This volume is published and copyrighted by its editors.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>1. Yahoo! pipes. http://pipes.yahoo.com/pipes/.</mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Ardito</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bottoni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Costabile</surname>
            ,
            <given-names>M. F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Desolda</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matera</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Piccinno</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Picozzi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Enabling end users to create, annotate and share personal information spaces</article-title>
          .
          <source>In IS-EUD</source>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Ardito</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Costabile</surname>
            ,
            <given-names>M. F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Desolda</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matera</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Piccinno</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Picozzi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Composition of situational interactive spaces by end users: a case for cultural heritage</article-title>
          .
          <source>In Proceedings of the 7th Nordic Conference on Human-Computer Interaction: Making Sense Through Design</source>
          ,
          <source>NordiCHI '12</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (New York, NY, USA,
          <year>2012</year>
          ),
          <fpage>79</fpage>
          -
          <lpage>88</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cappiello</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matera</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Picozzi</surname>
            ,
            <given-names>M. End</given-names>
          </string-name>
          <article-title>User Development of Mashups</article-title>
          .
          <source>In Proc. of CHIInternational</source>
          , LNCS, in print, Springer (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Cappiello</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matera</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Picozzi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Daniel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Fernandez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Quality-aware mashup composition: issues, techniques and tools</article-title>
          .
          <source>In Quality of Information and Communications Technology (QUATIC)</source>
          , 2012 Eighth International Conference on the,
          <source>IEEE</source>
          (
          <year>2012</year>
          ),
          <fpage>10</fpage>
          -
          <lpage>19</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Cappiello</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matera</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Picozzi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sprega</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barbagallo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Francalanci</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Dashmash: a mashup environment for end user development</article-title>
          .
          <source>In Web Engineering</source>
          . Springer,
          <year>2011</year>
          ,
          <fpage>152</fpage>
          -
          <lpage>166</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <article-title>How end-user development will save composition technologies from their continuing failures</article-title>
          .
          <source>In End-User Development</source>
          . Springer,
          <year>2011</year>
          ,
          <fpage>4</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Daniel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Shan</surname>
          </string-name>
          , M.-C.
          <article-title>Hosted universal composition: Models, languages and infrastructure in mashart</article-title>
          .
          <source>In Conceptual Modeling-ER 2009</source>
          . Springer,
          <year>2009</year>
          ,
          <fpage>428</fpage>
          -
          <lpage>443</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Daniel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matera</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Weiss</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Next in mashup development: User-created apps on the web</article-title>
          .
          <source>IT Professional 13</source>
          ,
          <issue>5</issue>
          (
          <year>2011</year>
          ),
          <fpage>22</fpage>
          -
          <lpage>29</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Daniel</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matera</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Weiss</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <article-title>Next in mashup development: User-created apps on the web</article-title>
          .
          <source>IT Professional 13</source>
          ,
          <issue>5</issue>
          (
          <year>2011</year>
          ),
          <fpage>22</fpage>
          -
          <lpage>29</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Dapper</surname>
          </string-name>
          . http://open.dapper.net.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Fischer</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>Understanding, fostering, and supporting cultures of participation</article-title>
          .
          <source>Interactions</source>
          <volume>18</volume>
          ,
          <issue>3</issue>
          (
          <year>2011</year>
          ),
          <fpage>42</fpage>
          -
          <lpage>53</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Grasso</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Convertino</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>Collective intelligence in organizations: Tools and studies</article-title>
          .
          <source>Comput. Supported Coop. Work</source>
          <volume>21</volume>
          ,
          <fpage>4</fpage>
          -
          <lpage>5</lpage>
          (Oct.
          <year>2012</year>
          ),
          <fpage>357</fpage>
          -
          <lpage>369</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Heinrich</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Gru¨ neberger,
          <string-name>
            <given-names>F. J.</given-names>
            , Springer, T., and
            <surname>Gaedke</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Reusable awareness widgets for collaborative web applications - a non-invasive approach</article-title>
          . In ICWE (
          <year>2012</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>15. JackBePresto. http://jackbe.com.</mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Jenkins</surname>
            ,
            <given-names>H. Confronting</given-names>
          </string-name>
          <article-title>the challenges of participatory culture: Media education for the 21st century</article-title>
          . Mit Press,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Krummenacher</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Norton</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simperl</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Pedrinaci</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Soa4all: enabling web-scale service economies</article-title>
          .
          <source>In Semantic Computing</source>
          ,
          <year>2009</year>
          . ICSC'09. IEEE International Conference on,
          <source>IEEE</source>
          (
          <year>2009</year>
          ),
          <fpage>535</fpage>
          -
          <lpage>542</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Namoun</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nestler</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>De Angeli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Conceptual and usability issues in the composable web of software services</article-title>
          .
          <source>In Current Trends in Web Engineering</source>
          . Springer,
          <year>2010</year>
          ,
          <fpage>396</fpage>
          -
          <lpage>407</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Nebeling</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Norrie</surname>
          </string-name>
          , M. C.
          <article-title>Crowdsourced web engineering and design</article-title>
          . In Web Engineering. Springer,
          <year>2012</year>
          ,
          <fpage>31</fpage>
          -
          <lpage>45</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Nestler</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feldmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Hu¨ bsch, G.,
          <string-name>
            <surname>Preußner</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Jugel</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          <article-title>The servface builder-a wysiwyg approach for building service-based applications</article-title>
          . In Web Engineering. Springer,
          <year>2010</year>
          ,
          <fpage>498</fpage>
          -
          <lpage>501</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Simmen</surname>
            ,
            <given-names>D. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Altinel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Markl</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Padmanabhan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Singh</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Damia: data mashups for intranet applications</article-title>
          .
          <source>In Proceedings of the 2008 ACM SIGMOD international conference on Management of data, ACM</source>
          (
          <year>2008</year>
          ),
          <fpage>1171</fpage>
          -
          <lpage>1182</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Spillner</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feldmann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Braun</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , Springer, T., and
          <string-name>
            <surname>Schill</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Ad-hoc usage of web services with dynvoker</article-title>
          .
          <source>In Towards a Service-Based Internet</source>
          , P. Ma¨h o¨nen, K. Pohl, and T. Priol, Eds., vol.
          <volume>5377</volume>
          of Lecture Notes in Computer Science. Springer Berlin Heidelberg,
          <year>2008</year>
          ,
          <fpage>208</fpage>
          -
          <lpage>219</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>