Title: Mashing It Up
1Mashing It Up
by Tom Zillner
- Annual WAAL Conference
- April 18, 2007
2Slides will be available after the conference
athttp//www.wils.wisc.edu/tzillner/waal07
3A presentation somewhat in the telegraphic
schizophrenic manner of tales of the planet
Tralfamadore, where the flying saucers come from.
Kurt Vonnegut
4As they step into the same rivers, different and
still different waters flow upon them.
Heraclitus (ca. 540 B.C. - ca. 475 B.C.)
5(No Transcript)
6What Ill Talk About
- Definitions of mashups and APIs
- A set of general mashup examples, including where
to find them - Some library-related examples
- A slightly deeper look at a few library-related
mashups - A plug for exposure of library data
- Making a mashup
7Wikipedia Definition
- A mashup is a website or web application that
seamlessly combines content from more than one
source into an integrated experience.
8Top Mashup Tags at ProgrammableWeb.com
9How Mashups Work(Actually, how one type of
mashup works. Sort of. Well, okay, not exactly,
but close enough for our purposes.)
Data
Data
Web Software or Service
Web Software or Service
Javascript Code
Web Page
10APIs
http//lifeandhealth.guardian.co.uk/consumer/story
/0,,1965050,00.html?gusrcrssfeed1
11API? Whats an API?
- API stands for application programming interface.
(Thats a big help.) - APIs provide a standardized way for programs (and
web services) to communicate data to each other
(speaking the same language). - APIs have been used historically to either
encourage or discourage development of
complementary hardware or software. (Thats still
true today.)
12The Two Types of API Conversation
1. I ask for some information, you send me what
I want.
2. I send you some information, you ___________.
- Store it
- Display it
- Modify/transform it
13Lets look at some examples
14Map Mashups
15Map Mashups
Geo Data
Data
Web Page
Web Software or Service (usually Google Maps)
Javascript Code
16Top 50 US Medical Schools
http//www.mibazaar.com/education/medical_school.h
tml
17http//coolmaps.7wonders.googlepages.com/
18More Mashups
19How Mashups Work (Redux)
Data
Data
Web Software or Service
Web Software or Service
Javascript Code
Web Page
20http//www.truliaholic.com/
API Trulia
21Weather Bonk
http//www.weatherbonk.com/
APIs Google AdWords Google Maps hostip.info
Microsoft Virtual Earth NASA NOAA Weather
Service WeatherBug Yahoo Geocoding Yahoo
Maps Yahoo Traffic
22http//baebo.francisshanahan.com/
APIs Amazon A9 OpenSearch Amazon E-commerce
eBay Flickr Google Search Technorati
Yahoo Audio Search Yahoo Image Search Yahoo
Shopping YouTube
23Why Mashups are Important
- They free data from isolated silos through their
use of APIs. - They bring together data from disparate sources
to inform, entertain and enlighten.
24Some Book and Library Related Mashups
25Booksearch
http//kokogiak.com/booksearch/
APIs Amazon A9 Google Microsoft Live Search
26E41st
http//www.amitgupta.info/E41ST/RIA/E41ST.html
API Amazon (Developed in Flash)
27Amazon Light 4.0
http//www.kokogiak.com/amazon4/
APIs Amazon del.icio.us
28More Details on Some Library Mashups
29Wall of Books(New Fiction at Ann Arbor
District Library)
http//www.monkey.org/emv/superpatron/aadlnewfict
ion.html
API Syndetics
30Ann Arbor District Library New Items List
http//www.aadl.org/feeds?typenewitemsampmata
ampsubfictionampdisp100
31A Word On Terms
- RSS Really Simple Syndication/Rich Site Summary
- A format for content distribution over time
- Often called a feed
- Can be aggregated with other feeds and viewed
using a computer program or web site (news
readers or aggregators)
32Locating Feeds
At the bottom of nytimes.com
http//www.nytimes.com/services/xml/rss/index.html
33A Word On Terms
- Screen Scraping
- Programmatically capturing a stream of data that
is meant to be displayed by an application and
extracting selected content - Fragile
34Wall of Books
- Screen scrape the new books RSS feed from AADL
to get ISBNs and links to library catalog - Dynamically create a web page of new books
- For each new book
- Construct image URL with ISBN and feed to
Syndetics to get book cover thumbnails - e.g., http//syndetics.com/hw7.pl?isbn068987040X
A/SC.gif - Make the image link to the library catalog record
- e.g., http//www.aadl.org/cat/seek/record1257872
-
- Display the page!
35Mystery Carousel(New mysteries listing,
Cambridge, Ontario Libraries)
http//www2.cambridgelibraries.ca/newmat/carousel.
php
API Syndetics
36Mystery Carousel
- Uses
- Yahoos Carousel Component
- reflection.js
- Both of these are pieces of Javascript that can
be incorporated into scripts running in the web
browser.
37Tools for Mashup Writers
- There are many Javascript presentation tools that
are available for free. - Most are high-quality
- Open Source
- Some from big companies (e.g., Yahoo UI Library)
- Others from independent developers
- User communities report problems/bugs
38http//www.wils.wisc.edu/searchMe/
APIs Amazon Google Screen Scraping
39The Problem
- Recall that screen scraping is fragile.
- My program has broken on a number of occasions
because of changes to MadCat web page design. - It would be more desirable to use an API.
- I dont have access to an API for MadCat. (I
dont think one exists.)
40Amazon Light 4.0 Again
http//www.kokogiak.com/amazon4/
APIs Amazon del.icio.us
41How About Library Light?
- Clifford Lynch predicted that with the advent of
Z39.50 a multiplicity of custom clients for the
catalog would emerge. - That prediction can come true through APIs and
mashups.
42But wait, Tom
- were academic librarians. All of your examples
are from public libraries. - We dont need no stinking dust jackets.
43Youd be surprised at what users actually want
- or more likely you wouldnt.
- There are as many ways of searching as there are
library patrons (customers) - There is a paucity of examples of academic
library mashups
44(No Transcript)
45(No Transcript)
46(No Transcript)
47Affordances
- The word "affordance" was originally invented by
the perceptual psychologist J. J. Gibson (1977,
1979) to refer to the actionable properties
betweenthe world and an actor (a person or
animal).
Doorknobs
http//www.jnd.org/dn.mss/affordances_and.html
48Catalog Affordances
- The more and varied affordances to the catalog
available to users the more chance there is that
the user will succeed. - APIs are critical.
49The Broader Problem for Libraries
- There is a paucity of APIs available for ILSs and
other library products. - This creates problems for the libraries
themselves if they want to create novel
services for their users. - It also interferes with other efforts at
customization, internal and external.
50The Broader Problem for Libraries (cont.)
- Where APIs are available, they are almost never
exposed to the public. - Non web-based APIs
- Therefore, interested third-party developers
cannot get easy access to library data. - May resort to screen scrapers, which are slower
and break easily.
51Public Access Through APIs
- Where APIs are available from vendors, libraries
must make a choice whether they want to expose
their data in a way that can be
sliced/diced/aggregated by others
52Public Access via APIs
- Many libraries already release some of their
information via Z39.50 or SRU/SRW. - This is just one more way to expose data.
53Why Is Lack of Public Access to Library APIs A
Problem?
- It is in a librarys best interests to have its
data exposed in a multiplicity of ways - Potential patrons inhabit a number of
information spaces, e.g. Second Life, MySpace. - There will be more superpatrons.
- More patrons will want data in a format matching
their needs, rather than what the librarys ILS
dictates. - Peer pressure if gadgets and mashups and web
services work with other libraries data, patrons
will ask why they dont work for their library.
54Part of Library 2.0
Key Principles from Wikipedia definition of
Library 2.0
- Browser Web 2.0 Applications Connectivity
Full-featured OPAC - Harness the library user in both design and
implementation of services - Library users should be able to craft and modify
library provided services - Companies wanting to do business with public or
academic libraries should not be creating
proprietary software Library 2.0 is not a closed
concept. - Constant change is replacing the older model of
upgrade cycles
55Perhaps Open Source Systems Are the Answer.
(Or at least one answer.)
56Rolling Your Own?
57Doing this stuff presupposes a technical
background
- Librarians have a broad range of expertise in
information technology. - Most users/patrons/customers are not technical
experts in computers.
58But, writing mashups and dealing with APIs
requires lots of computer savvy.
(Doesnt it?)
59Maybe, Maybe Not
- Yahoo Pipes
- http//pipes.yahoo.com/
60The Flow of a Program
Get Some Input
Do Something With It
Produce Some Output
61Step 1 Set up a source
62Step 2 Connect to output
63Step 3 Save the pipe
64Step 4 Preview the Pipe
65The Flow of a Program
Get Some Input
Do Something With It
Produce Some Output
66Step 5 Add Flickr as source
67Step 6 Add the union operator
68Step 7 Make the connections
69Some of the Flickr Portion of the Output
70The Flow of a Program
Get Some Input
Do Something With It
Produce Some Output
71Step 8 Add user input
72Step 9 Connect user input to Yahoo and Flickr
73Step 10 Save, then try it out
74 New Easily Create Map Mashups
- Google Maps now offers an easy way to put
together map mashups - No Programming Required!!!
- Can write descriptions and add links using HTML
or Rich Text - Can add photos and videos
- Google provides great examples
75 Oral Histories of Route 66
http//maps.google.com/maps/ms?ieUTF8hlenmsa0
msid103763259662194171141.000001119b4b42bf062c2
76 2004 Presidential Elections
http//maps.google.com/maps/ms?ieUTF8hlenz3l
l52.908902,-112.148437spn64.760765,142.03125om
1msid103763259662194171141.000001119b4ce1e8e0f7
6msa0
77Mashup Makers I havent talked about
- openkapow
- Powerful
- Requires a separate standalone program
- Starts simply but difficulty ramps up very
quickly - dapper
- Powerful
- Clear understanding of your data is required
- Can do much fairly simply, but also has powerful
options - Many possible output formats (RSS, xml, HTML,
email, etc.)
78A Few Pertinent References
- Roy Tennant, If It Doesn't Have an API, It's Not
Worth Having - Wikipedia Mashup (web application hybrid)
- programmableweb.com
- How to Create a Google Map
79Slides will be available after the conference
athttp//www.wils.wisc.edu/tzillner/waal07
80Fini
Tom Zillner tzillner_at_wils.wisc.edu