Enabling End User Development through Mashups: Requirements

Download Report

Transcript Enabling End User Development through Mashups: Requirements

Theme 4: Quality-In-Use
End-User Development
From human crafters to human factors to human actors and
back again:
bridging the design time - use time divide
Maceli, M., Atwood, M.E.
Enabling End User Development through Mashups:
Requirements, Abstractions and Innovation Toolkits
Cinzia Cappiello, Florian Daniel, Maristella Matera, Matteo Picozzi and
Michael Weiss
We are faced with an interesting question, what are
Mashups?
• Web 2.0 applications.
– High user involvement.
– Contents and functionality from open APIs or
reusable services.
– Users involved in content creation process.
– Known as web mashups.
• Web 2.0 applications.
– High user involvement.
– Contents and functionality from open APIs or
reusable services.
– Users involved in content creation process.
– Known as web mashups.
• There are also Enterprise Mashups. Enables
enterprise members to play with company’s
internal services.
This sounds interesting! How does Enterprise
Software look like?
With Enterprise Mashups, we grant the power
of designing the application to the End Users.
Even less skilled End Users could evolve from
passive receivers of innovation to actors
actively involved in the creation of innovation.
With Enterprise Mashups, we grant the power
of designing the application to the End Users.
Even less skilled End Users could evolve from
passive receivers of innovation to actors
actively involved in the creation of innovation.
Something like…
End User involvement in Mashup development
scenarios.
Two different approaches.
End User involvement in Mashup development
scenarios.
Two different approaches.
• Mashup tools can be used by expert developers to deliver applications
quickly. End users are not directly involved in the construction of such
Mashups but benefit from the shorter turn-around time for new
applications.
• Expert developers create services in a format that can be more easily
consumed and combined into Mashups by users who are not themselves
developers. (Most challenging, but also biggest pay-off)
Fundamental ingredients enabling the end user
composition of mashups.
• Domain-specific focus and terminology.
Important to use terminology which the End Users understand.
SOAP web services? Why, was the service dirty?
RESTful software architecture? Was the architecture tired?
• Abstraction from technical details.
Example:
class HelloWorldApp { public static void main(String[] args) {
System.out.println("Hello World!");} }
In the eyes of End Users, this looks the same as
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm,jcL(I&%$#"`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43
Qsqq(Lnmkj"Fhg${z@>
This is HelloWorld in the language Malbolge.
The toolkit must hide the technical details.
• Continuous feedback.
End users typically have difficulties in understanding the difference between
design time and runtime.
• Composition support.
In order to achieve a tool that speaks the language of the user, it is also
important to aid those users that don’t speak the language of the tool.
Composition can be assisted or guided in multiple ways.
I am back!
Dashmash
Dashmash is an environment created by the authors of the paper.
It aims at an integration approach where a variety of different component
types and technologies, ranging from simple RSS feeds to complex SOAP
or RESTful Web services and UI components.
Questions:
•What is meant by 'design' and 'use' time?
•Can empowering users with the intent of bridging design and use time be a
cause of new challenges? If so, elaborate what are the challenges and to
whom...
•Can you come up with good examples of information systems (old or new)
that are successful in their design for use time in accordance with the
"Principles for Designing in Use"? How do they succeed?
Questions for you!
• Do you have any experience working with or creating Mashup toolkits?
• What kind of technical challenges do you think might occur when creating
a Mashup toolkit for End Users?
• Are there other challenges when involving End Users in the creation of the
application?