CMPS277 - Project Description
The goal of the project is to familiarize you with various issues arising
in data integration on the web.
You will evaluate various recently introduced mashup editors
and use this knowledge in implementing your own
mashup application.
A mashup is essentially a web data integration application,
where several data sources are combined to give rise to a new and distinct application
which was not originally envisioned by either source.
WalkScore and Zillow constitute inspiring examples.
All projects are to be carried out individually.
We encourage you to propose and implement your own mashup.
However, an example mashup description is provided
just in case you are out of ideas.
You may also propose an alternative project (implementation or survey),
but you must clear the topic with the instructor first.
Project requirements:
- Familiarize yourself with at least two or three existing mashup editors (see resources below).
Most of these provide a set of example mashups which will help in getting
you up to speed with each editor, as well as inspire you in creating your own mashup.
You may employ the mashup editor of your choice in developing parts or your entire mashup application.
Developing your mashup from scratch, without using any editor is also acceptable.
However, you should be able to draw a comparison between various editors,
as well as justify your choice of editor used
(or your choice of not using an editor) in the project report.
- The mashup should combine data from at least three data sources.
Usually, data sources on the web provide various kinds of content such as
(semi-)structured text information, music, video, photos, location information (i.e., maps).
At least two of the data sources involved should provide similar content
(e.g., combine listings from Facebook and LinkedIn to aggregate a list of friends on these two social networks).
Preferably, the formats of these data sources should also be different.
For example, you may use an RSS feed as one data source and content scraped from a website as another data source.
Some other examples include relational databases, atom feeds or Excel files.
At least two of the data sources involved should differ in the type of content they provide.
For example, a mashup that combines apartment listings from Craigslist and San Jose Mercury News
with Google Maps is satisfactory.
However, a mashup that simply aggregates apartment listings from three distinct data sources,
or one that combines Craigslist apartment listings, Google Maps and Flickr are not acceptable.
- A variety of appropriate search criteria (and combinations of various criteria)
for the output data should be provided
(e.g., keyword search, search by price, proximity to a given location).
It should be possible to sort the output based on the given criteria.
Extra credit:
- Combining at least three different kinds of content.
For example, text, maps and photos, or text, music and photos. (5%)
- Ability to support both registered and unregistered users.
Users should be able to bookmark results as well as retrieve and remove their bookmarks
whenever they subsequently login (registered users)
or during the current session (unregistered users). (5%)
Project deliverables:
- Brief (~1 page) description of proposed mashup application. Due in class Tuesday, October 16.
- Project presentation and demo. Due in class, around last week of classes.
- Your documented mashup code and instructions on how to run the mashup. Due in class, around last week of classes.
- Short (5-7 pages) project report. Due Monday, December 10. The project report should include:
- The architecture of the mashup application and a description of each component (~1-2 pages).
- Features comparison (e.g., usability, types of data sources supported, operators for manipulating data, etc.)
between various mashup editors that you are familiar with (~2-3 pages).
- Justification of the choice of mashup editor used in development (if any)
and the list of features which could not be implemented using the editor
(and you had to develop on your own) (~1 page).
- Discussion of other editor features
(not yet implemented by the editors you have evaluated)
that you think would be useful in integrating web data,
based on your experience in developing your mashup (~1 page).
Example mashup:
- The mashup will aggregate news from various sources (e.g., Reuters, NY Times, Google News)
and display them as a list sorted by the publishing date.
The news will be combined with a maps service such as Google Maps or Yahoo Locals
and displayed as placeholders on a map.
Users should be able to search news related to a certain state, country or continent.
For extra credit (5%), you may integrate Flickr photos taken in the proximity of the news location.
For an additional 5% credit, the mashup will support both registered and unregistered users
and provide them with bookmarking capabilities (as in the above extra credit description).
Resources: