Doing More with Less: Mash Your Way to Productivity


Published on

Overview of mashup services and strategies for libraries. Presented at SLA-NY Workshop in Manhattan on January, 21, 2010.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Doing More with Less: Mash Your Way to Productivity

  1. 1. Doing More with Less:Mash your Way to Productivity<br />Kevin Reiss<br />University Systems Librarian<br />Office of Library Services<br />City University of New York<br />SLA-NY Panel 1-21-2010<br />
  2. 2. Mashups are more than just:<br />
  3. 3. Why Mashups?<br />Low-cost/low-risk development<br />Rapid development cycle<br />Do something fresh quickly<br />Typically do not require a huge amount of staff time<br />Utilize someone else’s computing power, i.e. “the cloud”<br />More and more information service providers are enabling their content to be “mashable”<br />Subscription content vendors<br />“Free” Internet services<br />
  4. 4. What is a Mashup?<br />A web application that combine data and code from content sources out on the web to produce:<br />Modest improvements to an existing web services (ex: embedded a list of relevant links from a third party service in an existing websites)<br />An entirely new web application<br />Mashups are typically made up of both:<br />Local Content<br />Remote Content<br />A mashup is composite web application<br />Can be thought of as “Remixing the web”<br />Presents the user with a new view or service built on top of existing data and services<br />Executed with lightweight web programming techniques<br />Web services<br />Application Programming Interfaces (APIs)<br />
  5. 5. What do you need to know (technically speaking)?<br />Basic HTML<br />Widgets<br />“&lt;embed&gt;” a service or data<br />RSS <br />Collating and parsing feed data is an integral part of many mashups<br />Many “web services” return data as feeds<br />Basic javascript<br />Work with simple APIs and XML as a data format<br />Server side scripting languages<br />Allows you to fully interface with APIs in your application<br />Integrate local and remote content on a complex scale<br />
  6. 6. Who’s Doing It?<br />Just about everyone<br />Yahoo<br />Many services<br />Google<br />Book/MAPS<br />Amazon <br />Libraries and library content vendors<br />Federated search providers/designers (these maybe the original library mashup)<br />Even the Library of Congress -<br />
  7. 7. Web Services at Yahoo<br />
  8. 8. Web Services at OCLC<br />
  9. 9. App Services at flickr<br />
  10. 10. What Does one Look Like? – A Google Maps Mashup<br />
  11. 11. Or This? A Twitter Mashup<br />
  12. 12. Which is possible because:<br />Which brings you to RSS:<br />Which is the basis for everything on the last slide<br />
  13. 13. Mashup Building Blocks<br />Data that lives somewhere on the web and a good idea on what to do with it<br />Feeds (RSS, Atom, RDF) are often the key ingredient<br />Websites as a service provide content in:<br />XML<br />JSON<br />Code that lives on the web<br />Application Programming Interfaces<br />
  14. 14. Mashup Levels<br />Basic<br />Widget Based Mashups<br />Intermediate<br />Working with feeds<br />Working with a mashup aware editor (ex: Yahoo Pipes)<br />Advanced<br />Working with Web Services<br />Working with Application Programming Interfaces (APIs)<br />Building your own web application<br />
  15. 15. Widgets<br />The Simplest Mashups<br />
  16. 16. The Simplest Mashups<br />Widgets<br />No coding required<br />Copy and paste<br />May need security clearance to run remote javascript hosted on the widget providers web server<br />
  17. 17. Explore Widgets at delicious<br />
  18. 18. Widgetize Your Content<br />
  19. 19. Copy and Paste<br />&lt;script type=&quot;text/javascript&quot; src=&quot;;&gt;&lt;/script&gt;<br />Into the webpage of your choice<br />
  20. 20. Embedded Delicious<br />
  21. 21. Librarything Widgets<br />Get Your Widget<br />Select Your Options<br />
  22. 22. Slideshare<br />
  23. 23. Which Can Give You:<br />The Widget<br />Embeddable Code<br />This strategy works for youtube, google video, flickr, and most of the “social” web<br />
  24. 24. Feed Based Mashups<br />Repackaging and Repurposing Data<br />
  25. 25. Feed-based Mashups<br />General strategy:<br />Identify a bunch of feeds you want to keep track of<br />Organize them or mine them for useful data<br />Process them regularly<br />Keep track of when they fail<br />Present the results back to your users<br />
  26. 26. Basic Feed Content<br />RSS -<br />JSON -<br />
  27. 27. Basic Example - Community Planet or the Feed of Feeds<br />
  28. 28. Experiment with Feeds and Yahoo Pipes (<br />No coding required<br />A good place to experiment with and identify a mashup strategy with little risk or effort<br />Clone the pipes of other users to get started<br />When you are done with your pipe you send the ouput to:<br />
  29. 29. Pipes Interface – Sorting Pubmed Query Feeds<br />Drag and Drop <br />Programming<br />
  30. 30. Pipe Results<br />
  31. 31. Using Feeds in the Library<br />Use feeds to aggregate search results from commonly used queries<br />Create a bundle of search results important to your organizations<br />Use feeds to show new publications/titles<br />Combine with Amazon or Google Book search to add new content<br />Use feeds to aggregate organizational content<br />Pull together bookmarking services of employees<br />Pull together blogging content from employees<br />
  32. 32. Pipes works with more than just Feeds: Data and Services<br />
  33. 33. Web Services and APIs<br />Programming the Web<br />
  34. 34. The API Building Block: A Restful Web Transaction<br />Find a data source?<br />Ask it a question in the form of a URL?<br /><br />You also have to answer: Am I eligible to get this data?<br />Many APIs/Web Services require a developer or account ID to use hence:<br /><br />Get data back in XML – often using AsychronousJasvascript and XML (AJAX)<br />Parse data with your own local code or the api in question<br />Present parsed data in your application<br />Resources with unique IDs work great in these sorts of transactions<br /><br /><br />
  35. 35. Example: the Yahoo! SPELL Checking Web Service<br />The Question:<br />The Answer:<br />
  36. 36. Home for this Service<br />
  37. 37. Where it might live? – Example Deployment<br />Response from Yahoo!<br />
  38. 38. A fresher setting<br />
  39. 39. Programming with APIs<br />Typically simple<br />The key is to fail gracefully<br />Make sure what the terms of usage are<br />Many Vendors now Provide APIs<br />Including:<br />Most major social web services (flickr, LibraryThing)<br />Most major web sources of “book” data (OCLC, Google Books, Amazon, Open Library)<br />Many library software vendors (Examples - Ex Libris, Serials Solutions)<br />
  40. 40.
  41. 41. Query Worldcat via API<br />
  42. 42. Using the Google Map API: Digital Murray Hill<br /><br />Wordpress powered architectural history website<br />Open Source Content Management System (CMS)<br />PHP/MYSQL Driven web application<br />Combines a number of content sources<br />Descriptive architectural metadata <br />Geocoding for local addresses<br />Google maps content<br />flickr content<br />
  43. 43. Map Example<br />
  44. 44. Coding with the Google Map API<br />Setting a Map Icon<br />Setting the Map Canvas<br />
  45. 45. Flickr Integration<br />
  46. 46. Community Photos<br />
  47. 47. Mashup Wrap-Up<br />Things to Remember about Mashups<br />
  48. 48. Mashups and Content Management Systems?<br />Is your current web content management system (CMS) mashup friendly?<br />Open source CMS systems are ideal vehicles from which to explore mashups at a substantive level<br />Wordpress, Drupal, Joomla, etc.<br />All of the above have extensions that support many of the most popular mashup data formats, data providers, and apis<br />
  49. 49. A Good Place to Start<br />
  50. 50. Wordpress Dashboard<br />Wordpress Delicious Widget<br />
  51. 51. Mashup Issues<br />Dependence on data or code that in some part you do not control<br />Security Policies can change<br />Access policies can change<br />Usage limits on key-based apis<br />Legal Implications<br />Make sure to read the terms of service for any service you expect to make public<br />Most non-commercial issues are fine<br />
  52. 52. What can I do?<br />See if your major information service providers:<br />Provides feeds<br />Try aggregating them in some useful fashion<br />Experiment with &lt;embed&gt; options from services like Youtube or Slideshare in order to expand and highlight interesting organizational content<br />Experiment with the major social web services:<br />Identify a “social” aspect in your organization that already exists<br />See if you can aggregate it and produce a useful new view of the data<br />Code your own mashup using apis<br />
  53. 53. Check out Library Mashups<br />Visit the Programmable Web<br /><br />Library Related APIs<br /><br />Pro Web 2.0 Mashups by Raymond Yee<br /><br />Library Mashups by Nicole Engard<br /><br />In particular visit the link compilation at:<br /><br />
  54. 54. Are my services and data mashable?<br />Does my own website provide feeds?<br />Can my users &lt;embed&gt; content from our major services?<br />Have we selected services and software that play well with mashups?<br />
  55. 55. Conclusions<br />Choose web resources that are mashable when you can<br />Support for this is growing among web content providers<br />Mashups can:<br />Cost little beyond staff time<br />Be fun and easy to create<br />Be throwaway work that achieve substantial results<br />Add value in unexpected ways<br />Develop into essential services<br />