Web Services Mash-Up
O'Reilly ETech Conference 2005
Alan Taylor -
Kokogiak Media, Amazon Light
Cal Henderson -
Ludicorp, Flickr.com
Erik Benson -
Robot Co-op, Allconsuming.net
Mashup Intro (via Amazon Light 4)
Welcome!
- Amazon Light 4 - incorporates Amazon, Google, Yahoo, ties into Gmail, Blogger, Libraries, more.
- Intended to tie together as many services as reasonable
- Unintended Discoveries (news, related sites) & unintended restrictions (Amazon nixed commercial links)
- Positive feedback - Interoperability and ease-of-use
A couple of Definitions
- Most web services mentioned here are small "w" services. Beta/Restricted/Possibly Unreliable
- SOAP/REST - whatever, for this tutorial it's all just XML and XML is good (right?)
Resources - What's Available?
- Amazon, Google, Technorati, Flickr
(the ones we'll focus on)
- eBay, salesforce.com (crm), Paypal, Safari (O'Reilly Catalog), Nat'l Weather Service, GigaBlast
- [Unofficial] RSS Feeds like Craigslist, Yahoo News, Upcoming.org (use with care)
- [Even more unofficial] Screen Scrapes, Include files (best for personal-use tools)
Mash 'em up!
- Complementary data is your friend
- Overlaps, Intersections, Keywords, Tags, Categories, etc.
- Use a common "key" to fetch multiple results (technorati tags)
- Chain results together, building on each call (Google Categories -> Flickr tags)
- Add your own information into the mix
Amazon
- http://amazon.com/gp/aws/sdk
- Fetch almost any info about Amazon items (Price, Title, Reviews, Details, etc.)
- Additional Services - Remote Shopping Cart, XSL Transformation, Simple Queue Service, Alexa Info
- Free, requires Dev Token, Limited to 1 call per second.
Google
- http://www.google.com/apis
- Google Search, Google Cache, Spelling
- Accepts Advanced Search Queries like "Mars site:nasa.gov filetype:doc"
- Free, requires Dev Token, Limited to 1,000 queries per day
- SOAP Only
Considerations, part I
- Terms of Use, Attribution/credit/licensing
- Acting conservatively (when using others' resources)
- Reliability/Graceful failure (esp. when results are chained)
Considerations, part II
- Caching (wisdom of and methods of)
- Using RSS as an API, screen-scraping
- Encourage opening up other APIs, make it business-wise
Real-world Mashup Examples I
- Mappr - Based on Flickr.com API and US Gov't ZIP99 database.
- Matches location-name tags to Lat/Long and Maps them out
Real-world Mashup Examples II
- Dropcash - Uses TypeKey for authentication, Paypal for transactions.
- Fundraising tool - allow multiple individuals to "pitch-in" toward a goal.
Real-world Mashup Examples III
- Allconsuming.net - Uses blo.gs, Amazon and Google.
- Monitors weblogs for Book mentions, gathers them together, displays mentions, links, metadata
Cal Henderson, Ludicorp
Cal Henderson
- Lead Developer, Ludicorp
Erik Benson, The Robot Co-op
Erik Benson
- Chief Janitorial Officer, The Robot Co-op
Mashup Hackathon Ideas
- Locale-based (travel, events, "What just happened?")
- tie-in to GoogleMaps and/or A9Local?
- Big-Name based (celebrity, pop culture icons)
- Create an Insta-portal and/or store.
- Topical (Current Events, Today in History)
- tie into Personal Calendaring app?
- Flickr Games: "MadLibs" Take a story/poem/quote, swap in flickr images for words, letters --
"Where is this?" Use location-name-tagged images, force people to guess locations.
Hackathon Description, Kickoff
- 90 Minutes
- Using any combo of services - what can you come up with?
- Client-side DHTML app - or whatever toolset you wish.
- At least three groups. Erik, Cal and I will be diving in as well.
Guided Hackathon Resources