Mashup (web application hybrid)

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

Disambiguation of mashup

In web development, a mashup is a web application that combines data from more than one source into a single integrated tool; an example is the use of cartographic data from Google Maps to add location information to real-estate data, thereby creating a new and distinct web service that was not originally provided by either source.

Contents

Overview

Content used in mashups is typically sourced from a third party via a public interface or API (web services). Other methods of sourcing content for mashups include Web feeds (e.g. RSS or Atom), and screen scraping. Many people are experimenting with mashups using Amazon, eBay, Flickr, Google, Microsoft, Yahoo and YouTube APIs, which has led to the creation of the mashup editor.

The architecture of mashup web applications is always composed of three parts:
- The content provider: it is the source of the data. Data is made available using an API and different Web-protocols such as RSS, REST, and Web Service
- The mashup site: is the web application thatprovides the new service using different data sources that are not owned by it.
- The client web browser: is the user interface of the mashup. In a web-application, the content can be mashed by the client web browsers using client side web language for example JavaScript.

Mashups should be differentiated from simple embedding of data from another site to form compound documents. A site that allows a user to embed a YouTube video for instance, is not a mashup site. As outlined above, the site should itself access third party data using an API, and process that data in some way to increase its value to the sites's users.

Quotes

a lot of talk about Web 2.0, web mashups, Ajax etc., which in my mind are all facets of the same phenomenon: that information and presentation are being separated in ways that allow for novel forms of reuse.

The mashup part of this equation, is the offspring of an environment where application developers see it in their own selfish interest to facilitate the creation of integrated, yet highly derivative application hybrids by third parties, something they do by providing rich public APIs to their user base.

(Popfly is) a (mashup) tool for end users, not necessarily codeheads.

Mashup was a good word for perhaps 2003-2007, but it implies limitations and barriers that simply no longer exist.

Types of mashups

There many types of mashups, such as consumer mashups, data mashups, and business mashups. The distinction is somewhat arbitary because the underlining technology is the same regardless of the use case.

The most common mashup is the consumer mashup. Consumer mashups combine different forms of media from multiple sources and combine them into a single graphical interface. Consumer mashups are aimed at the general public, that is, consumers. Examples of consumer mashups include the many Google Maps applications, Radioclouds [1] and Reelz Review [2]

Another common mashup is a data mashup. Data mashups combine similar types of media and information from multiple sources into a single graphical representation. An example of a data mashup is the Havaria Information Services' AlertMap [3]. which combines current data from over 200 sources related to severe weather conditions, biohazard threats and seismic information from around the world, and displays them on a single map of the world. Another example of a data mashup is Yahoo Pipes

Business mashups focus on various forms of data aggregation into a single presentation, but also allow for collaborative functionability amongst businesses and developers. Serena Softwares [4] are a company involved in the business mashup industry.

Examples

The potential use cases for mashups are as wide and varied as the web. Some of the most common early use cases include mapping, video and photo, search and shopping, and news.

Some examples of each are:

Mapping

The Chicago Police Department has a mashup which integrates the department’s database of reported crimes with Google Maps in order to help stop crime in areas and warn citizens of areas where the crime rate is high.

TheCampingMap.com is a simple but effective site that shows camp-sites in Europe.

WikiCrimes is a wiki-style website where internet users can report crimes by placing pins on a GoogleMaps based map. The website classifies crimes as robbery, theft or other by pin colour

Video and Photo

Flickr is an image storage site that allows users to organise their collection of images and share them. Through the use of its Application Programming Interface (API) the content can be used by other sites to create a mashup. Flickrvision is an example of a mashup made using Flickr's API.

Search and Shopping

Travature is a travel portal which has integrated airfare meta search engines, wiki travel guides, hotel reviews. It also allows the user to share photos and discuss experiences with other travellers.

News aggregation

Digg is a mashup of various news websites controlled almost entirely by the users of the website.

Telecom mashups

A "telecom mashup" is a telecommunications service where service elements come from more than one source and are combined into an integrated experience. For example, one could get the base service from company A, a ringback tone from company B, a voicemail service from company C, etc. Microsoft's Connected Services Sandbox is an example of a "service development environment" (also referred to as a "service development platform" or a "service development framework") that enables developers to more easily create telecom mashups.

Nested, embedded, sequential or recursive telecom mashups, where a large number of services are used, are considered risky or "over-the-top" (OTT) by network operators. Because of their complexity, such mashed up services can be difficult to control and charge, and therefore may cause operators to lose revenues. In addition, operators are subject to government fines or customer litigation from lax or overzealous conformance to Lawfully Authorized Electronic Surveillance (LAES) in the management of OTT mashups.

The following example of an over-the-top mashup is found in the online version of Pipeline magazine: "an address book lookup gives a name which is used to find a person’s location which brings up a map of reasonable trip routing, resulting in a call, once connected, linking in web co-browsing, with a location, type search to find for a restaurant along the trip route, clicking the restaurant’s advertisement, resulting in a reservation, and a message to social-network shared friends to met [sic] them with directions inserted from that person’s location."

Mashups versus portals

Mashups and portals are both content aggregation technologies. Portals is an older technology designed as an extension to traditional dynamic web applications, in which the process of converting data content into marked-up web pages is split into two phases - generation of markup "fragments" and aggregation of the fragments into pages. Each of these markup fragments is generated by a "portlet", and the portal combines them into a single web page. Portlets may be hosted locally on the portal server or remotely on another server.

Portal technology defines a complete event model covering reads and updates. A request for an aggregate page on a portal is translated into individual read operations on all the portlets that form the page ("render" operations on local, JSR 168 portlets or "getMarkup" operations on remote, WSRP portlets). If a submit button is pressed on any portlet on a portal page, that is translated into a single update operation on that portlet alone ("processAction" on a local, JSR 168 portlet or "performBlockingInteraction" on a remote, WSRP portlet). The update is then immediately followed by a read on all portlets on the page.

Portal technology is about server-side, presentation-tier aggregation. It cannot be used to drive more robust forms of application integration such as the one using two-phase commit.

Mashups differ from portals in the following respects:

Portal Mashup
Classification Older technology, extension to traditional web server model using well defined approach Using newer "Web 2.0" techniques
Philosophy/Approach Approaches aggregation by splitting role of web server into two phases - markup generation and aggregation of markup fragments Uses APIs provided by different content sites to aggregate and reuse the contents in another way
Content dependencies Aggregates presentation-oriented markup fragments (HTML, WML, VoiceXML, etc.) Can operate on pure XML content and also on presentation-oriented content (e.g., HTML)
Location dependencies Traditionally content aggregation takes place on the server Content aggregation can take place either on the server or on the client
Aggregation style "Salad bar" style - Aggregated content is presented 'side-by-side' without overlaps "Melting Pot" style - Individual content may be combined in any manner, resulting in arbitrarily structured hybrid content
Event model Read and update event models are defined through a specific portlet API CRUD operations are based on REST architectural principles, but no formal API exists
Relevant standards Portlet behaviour is governed by standards JSR 168, JSR 286 and WSRP, although portal page layout and portal functionality are undefined and vendor-specific Base standard is XML Data Interchange with REST semantics. RSS and Atom are commonly used. More specific mashup standards are expected to emerge.

The portal model has been around longer and has seen greater investment and product research. The technology is therefore more standardised and mature. Over time, increasing maturity and standardisation of mashup technology may propel it beyond portal technology in popularity. Alternatively, the two technologies may converge, with newer versions of current portal products resembling mashup servers using mashup techniques while still supporting legacy portlet applications.

Mashups in a business environment

Mashups can have a big role in the business environment. This section will discuss a few of the practical uses that could be made of this technology; with specific reference to, the end-user desire for personalised information services, addressing information overload issues, and the need for technology integration.

Mashups create new services for consumers which allow them to create a lot of new possibilities. It is becoming more straightforward for end-users to create mashup sites regardless of their technical skill level by using a site’s Application Programming Interface (API). This provides a simple way to implement mashups and new consumers can create a mashup easily. With all APIs available, developers can easily build applications that are cheaper, more reusable and more maintainable. "Web 2.0" is all about the personalisation of information. In that context, mashups can grow faster because every mashup can offer new features from existing websites. It is easy to imagine how you can create a personalised information service when you have the ability to add features with mashups. As they are a part of "Web 2.0," mashups increase the level of personalization of the Internet. Many people are convinced in the power of mashups and view mashups as the future of the web.

Mashups are a form of technology integration as they can be adapted to join together many technologies and use many types of implementation languages. Some mashups can be as simple as mixing together some JavaScript code with XML to create a new and innovative web-based service. Other larger mashups that are the main focus of their respective website will take advantage of services such as Google Maps and a database which uses street addresses to link the two together and project information onto the map.

In London (UK) an event called 'mashup* Event' ([5]) focuses on discussion, debate and demos from companies in the digital mashup sector. The annual 'Being-Digital' ([6] event specifically addresses the digital mashup theme.

Architectural aspects of mashups

It would seem that a mashup is a variation of a Facade pattern ( see Design Patterns: Elements of Resuable Object-Oriented Software (ISBN 0-201-63361-2) by the GoF, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides ). That is, it is a software engineering design pattern that provides a simplified interface to a larger body of code (in this case the code to aggregate the different feeds with different APIs).

Remediation

If we look at Mashups from a new media point of view, we can see that these applications share a lot in common with the theory of ‘Remediation’.

According to Bolter and Grusin (2000) “no medium … can now function independently and establish its own separate and purified space of cultural meaning” (55:2000). Essentially, this means that all forms of current and future media can be considered as altered forms of already existing types of media. For example, photographs are simply a remediation of paintings, film is a remediation of stage productions and photography, and television is a remediation of film, vaudeville and radio. [7]

Flew (2008), in an alternative, widely applicable version of the term, considers remediation to be the “extent to which digital media content is generated by the combination and collage of already existing media content that is reassembled in the digitally networked environment”.

Media ecologist Paul Levenson defines remediation as the “anthropotropic” process by which new media technologies improve on or remedy prior technologies. [www.seminar.net/reviews/moving-media-studies-remediation-revisited]

While originally the term ‘remediation’ was aimed mostly towards ‘traditional’ mediums such as photography and television, the basic theory can also be applied to original web content and the mashup applications that alter and expand on them.

Effectively, mashups are remediations of whatever media the mashup is based on. For example, Diaroogle [www.diaroogle.com/] is a mashup allowing the user to search for public toilets in the New York, NY metropolitan area over the Internet or through their mobile phone, using Google Maps technologies and a database of public toilet locations. This makes Diaroogle a remediation of Google Maps technologies as well as the public toilet database. Also, Visual Headlines [www.visualheadlines.com/], is a remediation of news outlet CNN and photographs (mostly from flickr.com), as it pulls the main news headlines of the day from CNN, and combines them with an image search of key-word related photos.

Information overload

The theory of information overload with regards to the Internet revolves around the idea that so much information is stored on the Internet that effectively, too much information is there, making it considerably harder to find what is relevant, significant and even true.

Mashups can help to overcome this problem by concisely displaying detailed information derived from a multitude of sources.

For example, a user looking for images of a certian category could spend hours looking through multiple websites, Flickr accounts and so forth. But with mashups such as Tag Galaxy [8], this can be done quickly and through a single source.

Mashup editors

There are already several mashup platforms that help user create mashups. Examples include (alphabetically):


External links

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net