DashMash: a Mashup Environment for End User Development

18
,#,# ,#.* (/$+)('(- !)+ ( ,+ /&)*'(- [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] 11th International Conference on Web Engineering June 20-24 2011, Paphos, Cyprus Cinzia CAPPIELLO Maristella MATERA Matteo PICOZZI Gabriele SPREGA Donato BARBAGALLO Chiara FRANCALANCI

description

Web mashups are a new generation of applications based on the “composition” of ready-to-use services. In different contexts, ranging from the consumer Web to Enterprise systems, the potential of this new technology is to make users evolve from passive receivers of applications to actors actively involved in the “creation of innovation”. Enabling end users to self-define applications that satisfy their situational needs is emerging as an important new requirement. In this paper, we address the current lack of lightweight development processes and environments and discuss models, methods, and technologies that can make mashups a technology for end user development.

Transcript of DashMash: a Mashup Environment for End User Development

Page 1: DashMash: a Mashup Environment for End User Development

��,#��,#������,#.*��(/$+)(' (-�!)+��(���, +�� / &)*' (-

[email protected]@[email protected]@[email protected]@elet.polimi.it

11th International Conference on Web EngineeringJune 20-24 2011, Paphos, Cyprus

Cinzia CAPPIELLOMaristella MATERA

Matteo PICOZZIGabriele SPREGA

Donato BARBAGALLOChiara FRANCALANCI

Page 2: DashMash: a Mashup Environment for End User Development

�)� +(�� ���**&$��-$)(,��(����� �

UI

Web Applications

public APIs

widgetsdata sources

Web 2.0

Active co-creation of new ideas, knowledge and simple

applications

Culture of participation

User involvement

in the creation of contents

End User Development

Web Mashups

Page 3: DashMash: a Mashup Environment for End User Development

� ��'�,#.*,Consumer Mashups Enterprise Mashups

Development of online applications starting from contents and functionality available on the Web in form of data sources, APIs, reusable services, …

Porting of the mashup paradigm to company intranets

Page 4: DashMash: a Mashup Environment for End User Development

�, +��+$/ (�$(()/�-$)(

• The desire of users to develop their own things is a driver for the mashup phenomenon- Mashup developers want to create solutions that satisfy

their situational needs

- Sometimes such solutions can be very effective, and worth to be reused by other users…

• User-driven innovation paradigm- Need for innovation toolkits: adequate processes and

tools, to let users build their own products and innovate

Mashup platform

Page 5: DashMash: a Mashup Environment for End User Development

�$"#-0 $"#-�� / &)*' (-�*+)� ,, ,

• Abstraction from technical details- A platform speaking the user language (functionality and

terminology), possibly through visual mechanisms

• Continuous feedback- Immediate visual feedback → immediate mashup execution

• Composition support- Assisted composition, e.g., by means of recommendations

• Domain specific focus - A platform restricted to a well-defined domain the user is

comfortable with

The need for composing an application, starting from resources responding to personal needs, and simply running it, without

worrying about what happens behind the scenes, arises

Page 6: DashMash: a Mashup Environment for End User Development

��,#��,#• A mashup tool for the construction of

dashboards• Integration of

- company internal services on top of local data warehouses

- public APIs- Web resources

• Recently specialized for sentiment analysis- Project funded by Milan Municipality on the analyses of

the reputation of the Milan city services- Emergent need for the integration of sentiment analysis

indicators with relevant external Web resources- We developed domain-specific services for the

computation of sentiment indicators and domain-specific rules for their composition

Do

mai

n sp

ecifi

c foc

us

Page 7: DashMash: a Mashup Environment for End User Development

��,#��,#�!)+�, (-$' (-��(�&1,$,�

Page 8: DashMash: a Mashup Environment for End User Development

Runtime engine

<uisdl> ...</uisdl>

Componentdescriptors

Component registryComposition repository

Wrappers

<xpil> ...</xpil>

Compositiondescriptors

Web

RemoteData SourcesComponent

Business Logic

LocalData Sources

autonomouscommunication

<smdl> ...</smdl>

Statusdescriptors

Event broker

Execution Handler

Composition Handler

Recommendation Manager

raises events

invokes operations

Visual Front End

��,#��,#��+�#$- �-.+ �Ab

stra

ction

from

tech

nica

l det

ails

Page 9: DashMash: a Mashup Environment for End User Development

�/ (-��+$/ (�*�+��$"'

Component 1

Component 2

Component 3

Component 4

Component 5

Event 1

Operation 2

Binding

Binding

Publisher: Component 1Event: Event 1

Subscriber: Component 3Operation: Operation 2

composition.xml

<comp><bind>

Abst

ract

ion fr

om te

chni

cal d

etai

ls

Page 10: DashMash: a Mashup Environment for End User Development

�.(-$' � ("$( ��

Runtime Engine

Event Broker

Recommendation Manager

CompositionHandler

Execution Handler

(immediate) execution

Automatic generation of the model descriptors

Intermixing between mashup composition and execution

Cont

inuo

us fe

edba

ck

Page 11: DashMash: a Mashup Environment for End User Development

• Default bindings- Automatic definition of basic couplings- Automatic synchronizations based on component

classification (domain dependent)

� +/$� ��$(�$("�� !$($-$)( ��Co

mpo

sition

supp

ort

Page 12: DashMash: a Mashup Environment for End User Development

• Default bindings- Automatic definition of basic couplings- Automatic synchronizations based on component

classification (domain dependent)

� +/$� ��$(�$("�� !$($-$)( ��Co

mpo

sition

supp

ort

Page 13: DashMash: a Mashup Environment for End User Development

• Default bindings- Automatic definition of basic couplings- Automatic synchronizations based on component

classification (domain dependent)

• Custom bindings- User defined- Additional component synchronizations to

accommodate further user needs- Assisted by recommendations

� +/$� ��$(�$("�� !$($-$)( ��Co

mpo

sition

supp

ort

Page 14: DashMash: a Mashup Environment for End User Development

�)'*),$-$)(�+ �)'' (��-$)(,

• Recommendations based on- syntactic and semantic compatibility- quality rankings of components- mashability measure

• Additional components and bindings for mashup completion

• How to improve quality

��Co

mpo

sition

supp

ort

Page 15: DashMash: a Mashup Environment for End User Development

�+ &$'$(�+1�/�&$��-$)(

• Execution of two tasks with incremental complexity with a sample of 35 users with different expertise- Performance (task completion time) - Ease of use (questionnaire)- Satisfaction (questionnaire)

All the users were able to complete both tasks

15% reduction of the mean time of execution between the two tasks (a measure of learning?)

No relevant differences between experts and non

experts

��

=> The users felt very confident about their

performance

Page 16: DashMash: a Mashup Environment for End User Development

�)(�&.,$)(,

• We have proposed our view over mashup tools as instruments for End Users Development - Lightweight development processes- Intelligible concepts- High degree of assistance

• There are still some open issues:- Easy-to-create components- Effectiveness of mechanisms assisting composition:

quality-based, task-based, wisdom of the mass… what else?

- Quality of both components and the overall mashups- Interoperability- Not only for dashboards: a Platform for End User

Development Of Mashups (PEUDOM)

��

Page 17: DashMash: a Mashup Environment for End User Development

�)(�&.,$)(,

• We have proposed our view over mashup tools as instruments for End Users Development - Lightweight development processes- Intelligible concepts- High degree of assistance

• There are still some open issues:- Easy-to-create components- Effectiveness of mechanisms assisting composition:

quality-based, task-based, wisdom of the mass… what else?

- Quality of both components and the overall mashups- Interoperability- Not only for dashboards: a Platform for End User

Development Of Mashups (PEUDOM)

��

Page 18: DashMash: a Mashup Environment for End User Development

�#�(%�1).���. ,-$)(,� �