Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

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 />