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