Transcript EUP - TKK

End User Mashup
Programming Environments
Oleg Beletski
HUT, Telecommunications Software
and Multimedia Laboratory
28.03.2008
Content
Introduction
Approach – mashup methods and ways to
compare
Case study – overview of mashup
environments
Results + Discussions
Conclusions
Introduction
Mashup – web application that combines data
from online sources of data and perform new
tailored task
Mashup creation
– Hard way – programmer skills required
– Easy way – use end user programming tools and
visual environments
Approach
Find environments for a comparison
Define criteria for comparison
Analyze each site
Sum-up and analyze results (drop if
environment does not fit well to our scope)
Make conclusions
Approach – criteria for comparison
Lifecycle
Richness of functionality
Usability
Target type of users
Publishing formats
Technologies
Data sources
Case study – list of environments
Yahoo! Pipes
Microsoft’s Popfly
Marmite
Dapper
Google mashup editor
Mashmaker
QEDWiki
Case study – Yahoo! Pipes
Pipes is a powerful composition tool to aggregate,
manipulate, and mashup content from around the web.
Visual drag and drop environment
Does not require knowledge of programming languages
Requires good understanding of a data formats.
Sample application:
– Combine many feeds into one, then sort, filter and translate it.
– Geo code your favorite feeds and browse the items on an interactive
map (use location extractor)
– Power widgets/badges on your web site.
– Grab the output of any Pipes as RSS, JSON, KML, and other formats.
Case study – Yahoo! Pipes
Case study – Microsoft Popfly
Microsoft® Popfly™ is a web site and tool to help people create and share
web sites, mashups, and other kinds of experiences. Popfly is the fun and
easy way to build and share mashups, gadgets, and Web pages.
It’s made up of online visual tools for building Web pages and mashups
and a social network where you can host, share, rate, comment and even
remix creations from other Popfly users.
It is fun, it is simple
Uses Silverlight runtime
Has a lot of predefined modules for existing services and social network
Cool visualizations
Case study – Microsoft Popfly
Case study – Microsoft Popfly
Case study – Marmite
Marmite, a tool that will let everyday end-users create mashups by making it easy to extract
content from web pages, process it in a data-flow manner, integrate it with other data
sources, and direct it to a variety of useful sinks, such as databases, map services, and
compilable source code that can be further customized.
This proposal focuses on three high-risk issues:
–
–
–
making it easy to select what content to crawl
developing a hybrid dataflow / spreadsheet UI that shows what content has been extracted and how
that content is transformed
developing techniques for handling exceptions in the dataflow.
Structure comprises of sources, processors, sinks
Sources: add data into Marmite by querying databases, extracting information from web
pages, and so on.
Processors: modify, combine, or delete existing rows/columns (geocoding, filtering).
Sinks: redirect the flow the data out of Marmite. (showing data on a map, saving it to a
file/web page)
Ownership: Jason I. Hong
Human Computer Interaction Institute
School of Computer Science
Carnegie Mellon University
Case study – Marmite
Case study – Dapper
Dapper stands for data mapper. The main purpose of the service is to
convert any type of content into standard form that can be reused (RSS,
XML). It also has the set of publishing features that turn that content into
Google Gadget, Netvibes Module, iCalendar, Flash widgets and so on.
Visually it run is a wizard mode
Results is to create a dapp (data imported).
Dapps can be shared and there are many of then for popular services
Dapp often is sufficient and can be tuned in map mashup or image loop
Output or visualization is defined by user
Next level of development is to combine those dapps into aggregator
service. The typical example is to combine search result from several
search engines or video clips from alternative video services similar to
magg movie aggregator (http://www.dapper.net/dapplications/Magg/).
Case study – Dapper
Case study – GME
Google Mashup Editor is an AJAX development framework
and a set of tools that enable developers to quickly and easily
create simple web applications and mashups with Google
services like Google Maps and Google Base. Google Mashup
Editor is a great tool for grabbing information from feeds and
letting users see and manipulate it.
Creating applications with Google Mashup Editor is “simple”
for developer
This is a software developer tools and not an end user
mashup environment.
Google mashup editor will be excluded from the section
where we compare different mashup environment because it
did not quite fit to out purpose.
Case study – GME
Case study – Mashmaker
Intel® Mash Maker is an extension to your existing web browser that allows you to
easily augment the page that you are currently browsing with information from
other websites. As you browse the web, the Mash Maker toolbar suggests
Mashups that it can apply to the current page in order to make it more useful for
you. For example: plot all items on a map, or display the leg room for all flights.
Community can contribute to mashup DB. Any user can teach Mash Maker new
mashups, using a simple copy and paste interface,
New user created mashups are suggested to other users.
Relies on the community to teach it about the structure and semantics of web
pages, using a built in structure editor.
There is no dedicated page on the web where to have to go and construct the
mashup application. All what user has to do is to install the toolbar and start
browsing pages. So the paradigm could be called “annotate and mix while
browsing”.
Users themselves tell to Mashmaker servers about the page structures that they
visit and purpose content from other sites to mix with current page.
The service is in beta and not available to wide public at the moment.
Case study – Mashmaker
Case study – QEDWiki
QEDWiki is a browser-based assembly canvas used to create simple
mashups.
The same steps: Assemble, Wire, Share
A mashup maker is an assembly environment in which the creator of a
mashup uses software components (or services) made available by
content providers.
Wiki framework in that it provides both Web users and developers with a
single Web application framework for hosting and developing a broad
range of Web 2.0
Sample applications
– Web content management for a typical collection of Wiki pages
– traditional form processing for database-oriented CRUD
(Create/Read/Update/Delete) applications
– document-based collaboration
– rich interactive applications that bind together disparate services
– situational applications (or mashups).
Case study – QEDWiki
Results + Discussions
Programming paradigm
Richness of functionality
Technology
Ease of use
Openness for integration
Results table 1/2
Pipes
PopFly
Marmite
Dapper
QEDWiki
Mashmaker
Paradigm
Data flow
Data flow
Flow + spreadsheet
Flow + wizard
Application on
canvas
Browsing
enrichment
Maturity
Mature
Mature(beta)
Research project
Mature
Mature
Close, beta
Functionality
Rich but
techy
Rich, integrated with
services
Poor
Limited
Rich
N/A
Easy of use
For
coders,
not for an
end users
Simple and friendly, makes
a suggestion about linking
parts together
Cryptic
Easy, but still not
100% end user
tool
Easy, lazy
developer tool
Toolbar is simple to
use if site structure
know
Technology
Standard
web, YUI
Silverlight, proprietary
Browser plug-in, runs in
own windows, allows
point at the parts of web
pages to scrap
Standard and/or
popular WEB
technologies
Standard
In browser mashing
up, needs a toolbar,
enabled by
community
maintained DB of
sites structure
Results table 2/2
Openness for
integration
Html code to embed in
blog, RSS,
JSON
HTML code to
embed
n/a
New API creator.
Export to
Google
gadget,
RSS,
XML,
Flash
Widget
Extensibility
Yes
Yes, user can
contribut
e
n/a
Dapps can be
reused by
other
dapps
Extension by
JavaScri
pt
?
Advanced features
Other
Claim to have unique
web page
scrapping
approach
Can embed
public
WEB
services
and
widgets
N/A
New sites and
widgets can
be added
Results – programming paradigm
Data flow with various visual coding
– Wizard based
Dapper
– Visual connected functional
Pipes
Popfly
– Spreadsheet
Marmite
Visual widget assembly
Mashmaker
QEDWiki
Results – richness of functionality
Data sources
– RSS, ATOM feeds (low level that is supported by all tools)
– Page scrapping (Most tools support, except Mashmaker & QEDWiki)
– Service wrappers (Pipes, POPfly)
Data processing options
–
–
–
–
Feed merging
Location extraction
Numeric operation
String manipulation
Visualization of results and output formats
–
–
–
–
Multiple visualization alternatives (POPFly only)
Visual appeal
Export to external services via RSS/ATOM feeds, XML, JSON
Blog integration
Results - technology
AJAX – standard web technologies, runs in
any browser (Pipes)
Silverlight – proprietary but highly visual
technology from Microsoft (Popfly)
Browser add-on, dependent on browser
(Mashmaker, Marmite)
Results – ease of use
User roles
– Mashup author
– Mashup user
– Environment developer
Mashup author is the user of tools we analyze
– Average user that uses provided blocks
– Advanced user that adds modules and new services to the
environment
Goal – make system as simple as possible for use
by average user
Results – openness for integration
Can results of the mashup be reused?
Popfly – supports only html code for adding to
external blogs
Pipes are more open -RSS, KML, JSON
Dapper is designed for integration - XML,
RSS, Google Gadget, Flash, Google Map,
Image Loop, iCalendar
Mashmaker and QEDWiki is a bit out of scope
Conclusions
Mashup environments target different user groups –
programmers, technology enthusiasts, non technical
users
Best visual tools for non technical users hide data
exchange formats and provide blocks for every
service that user is likely to integrate
Advanced functionality will keep environments on the
float by letting users provide support for new
services
Standard technologies are preferred
New direction – enhancing browsing experience