An Introduction To Mashups
What Is A Mashup?
Wikipedia defines a mashup as "a web application that combines data from more than one source into a single integrated tool" [1]. Many popular examples of mashups use the Google Map service to provide a location display of data taken from another source.
Technical Concepts
As illustrated in a video clip on "What Is A Mashup?" [2] from a programmer's perspective a mashup is based on making use of APIs (application programmers interface). In a desktop PC environment, application programmers make use of operating system functions (e.g. drawing a shape on a screen, accessing a file on a hard disk drive, etc.) to make use of common functions within the application they are developing. A key characteristic of Web 2.0 is the notion of 'the network as the platform'. APIs provided by Web-based services (such as services provided by companies such as Google and Yahoo) can similarly be used by programmers to build new services, based on popular functions the companies may provide. APIs are available for, for example, the Google Maps service and the del.icio.us social book marking service.
Creating Mashups
Many mashups can be created by simply providing data to Web-based services. As an example, the UK Web Focus list of events is available as an RSS feed as well as a plain HTML page [3]. The RSS feed includes simple location data of the form:
<geo:lat>51.752747</geo:lat><long>-1.267138</geo:long>
This RSS feed can be fed to mashup services, such as the Acme.com service, to provide a location map of the talks given by UK Web Focus, as illustrated.
Tools For The Developer
More sophisticated mashups will require programming expertise. The mashup illustrated which integrates photographs and videos from Flickr and YouTube for a wide range of UK museums was produced as a prototype by Mike Ellis, a software developer [5].
However tools are being developed which will allow mashups to be created by people who may not consider themselves to be software developers - the best known is Yahoo Pipes [6] which "provides a graphical user interface for building data mashups that aggregate web feeds, web pages, and other services, creating Web-based apps from various sources, and publishing those apps" [7].
Allowing Your Service To Be 'Mashed Up'
Paul Walk commented that "The coolest thing to do with your data will be thought of by someone else" [8]. Mashups provide a good example of this concept: if you provide data which can be reused, this will allow others to develop richer services which you may not have the resources or expertise to develop. It can be useful, therefore, to seek to both provide structured data for use by others and to avoid software development if existing tools already exist. However you will still need to consider issues such as copyright and other legal issues and service sustainability.
References
- Mashup (web application hybrid, Wikipedia,
<http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)> - What is A Mashup?, ZDNet,
<http://news.zdnet.com/2422-13569_22-152729.html > - Forthcoming Events and Presentations, UK Web Focus, UKOLN,
<http://www.ukoln.ac.uk/web-focus/events/> - Location of UK Web Focus Event, UKOLN,
<http://www.acme.com/GeoRSS/?xmlsrc=http://www.ukoln.ac.uk/web-focus/events/presentations-2007.rss> - Mashed Museum Director,
<http://www.mashedmuseum.org.uk/mm/museumdirectory/v3/> - Yahoo Pipes, Yahoo,
<http://pipes.yahoo.com/pipes/> - Yahoo Pipes, Wikipedia,
<http://en.wikipedia.org/wiki/Yahoo!_Pipes> - The coolest thing to do with your data will be thought of by someone else, Paul Walk, 23 July 2007,
<http://blog.paulwalk.net/2007/07/23/>