Doing More with Less:Mash your Way to ProductivityKevin ReissUniversity Systems LibrarianOffice of Library ServicesCity University of New YorkSLA-NY Panel 1-21-2010
Mashups are more than just:
Why Mashups?Low-cost/low-risk developmentRapid development cycleDo something fresh quicklyTypically do not require a huge amount of staff timeUtilize 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
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 applicationMashups are typically made up of both:Local ContentRemote ContentA mashup is composite web applicationCan be thought of as “Remixing the web”Presents the user with a new view or service built on top of existing data and servicesExecuted with lightweight web programming techniquesWeb servicesApplication Programming Interfaces (APIs)
What do you need to know (technically speaking)?Basic HTMLWidgets“<embed>” a service or dataRSS Collating and parsing feed data is an integral part of many mashupsMany “web services” return data as feedsBasic javascriptWork with simple APIs and XML as a data formatServer side scripting languagesAllows you to fully interface with APIs in your applicationIntegrate local and remote content on a complex scale
Who’s Doing It?Just about everyoneYahooMany servicesGoogleBook/MAPSAmazon Libraries and library content vendorsFederated search providers/designers (these maybe the original library mashup)Even the Library of Congress - http://id.loc.gov/authorities/
Web Services at Yahoo
Web Services at OCLC
App Services at flickr
What Does one Look Like? – A Google Maps Mashup
Or This? A Twitter Mashup
Which is possible because:Which brings you to RSS:Which is the basis for everything on the last slide
Mashup Building BlocksData that lives somewhere on the web and a good idea on what to do with itFeeds (RSS, Atom, RDF) are often the key ingredientWebsites as a service provide content in:XMLJSONCode that lives on the webApplication Programming Interfaces
Mashup LevelsBasicWidget Based MashupsIntermediateWorking with feedsWorking with a mashup aware editor (ex: Yahoo Pipes)AdvancedWorking with Web ServicesWorking with Application Programming Interfaces (APIs)Building your own web application
WidgetsThe Simplest Mashups
The Simplest MashupsWidgetsNo coding requiredCopy and pasteMay need security clearance to run remote javascript hosted on the widget providers web server
Explore Widgets at delicious
Widgetize Your Content
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
Embedded Delicious
Librarything WidgetsGet Your WidgetSelect Your Options
Slideshare
Which Can Give You:The WidgetEmbeddable CodeThis strategy works for youtube, google video, flickr, and most of the “social” web
Feed Based MashupsRepackaging and Repurposing Data
Feed-based MashupsGeneral strategy:Identify a bunch of feeds you want to keep track ofOrganize them or mine them for useful dataProcess them regularlyKeep track of when they failPresent the results back to your users
Basic Feed ContentRSS - http://feeds.delicious.com/v2/rss/ols.inside?count=15JSON - http://feeds.delicious.com/v2/json/ols.inside?count=15
Basic Example - Community Planet or the Feed of Feeds
Experiment with Feeds and Yahoo Pipes (http://pipes.yahoo.com)No coding requiredA good place to experiment with and identify a mashup strategy with little risk or effortClone the pipes of other users to get startedWhen you are done with your pipe you send the ouput to:
Pipes Interface – Sorting Pubmed Query FeedsDrag and Drop Programming
Pipe Results
Using Feeds in the LibraryUse feeds to aggregate search results from commonly used queriesCreate a bundle of search results important to your organizationsUse feeds to show new publications/titlesCombine with Amazon or Google Book search to add new contentUse feeds to aggregate organizational contentPull together bookmarking services of employeesPull together blogging content from employees
Pipes works with more than just Feeds: Data and Services
Web Services and APIsProgramming the Web
The API Building Block: A Restful Web TransactionFind a data source?Ask it a question in the form of a URL?http://myservice.com/?idrequest=myrequestcontentYou 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=myrequestcontentGet data  back in XML  – often using AsychronousJasvascript and XML (AJAX)Parse data with your own local code or the api in questionPresent parsed data in your applicationResources with unique IDs work great in these sorts of transactionshttp://myservice.com/ISBNhttp://myarticleservice.com/pubmedid
Example: the Yahoo! SPELL Checking Web ServiceThe Question:The Answer:
Home for this Service
Where it might live? – Example DeploymentResponse from Yahoo!
A fresher setting
Programming with APIsTypically simpleThe key is to fail gracefullyMake sure what the terms of usage areMany Vendors now Provide APIsIncluding: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)
Query Worldcat via API
Using the Google Map API: Digital Murray Hillhttp://murrayhill.gc.cuny.eduWordpress powered architectural history websiteOpen Source Content Management System (CMS)PHP/MYSQL Driven web applicationCombines a number of content sourcesDescriptive architectural metadata Geocoding for local addressesGoogle maps contentflickr content
Map Example
Coding with the Google Map APISetting a Map IconSetting the Map Canvas
Flickr Integration
Community Photos
Mashup Wrap-UpThings to Remember about Mashups
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 levelWordpress, Drupal, Joomla, etc.All of the above have extensions that support many of the most popular mashup data formats, data providers, and apis
A Good Place to Start
Wordpress DashboardWordpress Delicious Widget
Mashup IssuesDependence on data or code that in some part you do not controlSecurity Policies can changeAccess policies can changeUsage limits on key-based apisLegal ImplicationsMake sure to read the terms of service for any service you expect to make publicMost non-commercial issues are fine
What can I do?See if your major information service providers:Provides feedsTry aggregating them in some useful fashionExperiment with <embed> options from services like Youtube or Slideshare in order to expand and highlight interesting organizational contentExperiment with the major social web services:Identify a “social” aspect in your organization that already existsSee if you can aggregate it and produce a useful new view of the dataCode your own mashup using apis
Check out Library MashupsVisit the Programmable Webhttp://programmableweb.com/Library Related APIshttp://techessence.info/apisPro Web 2.0 Mashups by Raymond Yeehttp://blog.mashupguide.netLibrary Mashups by Nicole Engardhttp://mashups.web2learning.net/In particular visit the link compilation at:http://mashups.web2learning.net/links
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?
ConclusionsChoose web resources that are mashable when you canSupport for this is growing among web content providersMashups can:Cost little beyond staff timeBe fun and easy to createBe throwaway work that achieve substantial resultsAdd value in unexpected waysDevelop into essential services

Doing More with Less: Mash Your Way to Productivity

  • 1.
    Doing More withLess:Mash your Way to ProductivityKevin ReissUniversity Systems LibrarianOffice of Library ServicesCity University of New YorkSLA-NY Panel 1-21-2010
  • 2.
  • 3.
    Why Mashups?Low-cost/low-risk developmentRapiddevelopment cycleDo something fresh quicklyTypically do not require a huge amount of staff timeUtilize 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 aMashup?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 applicationMashups are typically made up of both:Local ContentRemote ContentA mashup is composite web applicationCan be thought of as “Remixing the web”Presents the user with a new view or service built on top of existing data and servicesExecuted with lightweight web programming techniquesWeb servicesApplication Programming Interfaces (APIs)
  • 5.
    What do youneed to know (technically speaking)?Basic HTMLWidgets“<embed>” a service or dataRSS Collating and parsing feed data is an integral part of many mashupsMany “web services” return data as feedsBasic javascriptWork with simple APIs and XML as a data formatServer side scripting languagesAllows you to fully interface with APIs in your applicationIntegrate local and remote content on a complex scale
  • 6.
    Who’s Doing It?Justabout everyoneYahooMany servicesGoogleBook/MAPSAmazon Libraries and library content vendorsFederated search providers/designers (these maybe the original library mashup)Even the Library of Congress - http://id.loc.gov/authorities/
  • 7.
  • 8.
  • 9.
  • 10.
    What Does oneLook Like? – A Google Maps Mashup
  • 11.
    Or This? ATwitter Mashup
  • 12.
    Which is possiblebecause:Which brings you to RSS:Which is the basis for everything on the last slide
  • 13.
    Mashup Building BlocksDatathat lives somewhere on the web and a good idea on what to do with itFeeds (RSS, Atom, RDF) are often the key ingredientWebsites as a service provide content in:XMLJSONCode that lives on the webApplication Programming Interfaces
  • 14.
    Mashup LevelsBasicWidget BasedMashupsIntermediateWorking with feedsWorking with a mashup aware editor (ex: Yahoo Pipes)AdvancedWorking with Web ServicesWorking with Application Programming Interfaces (APIs)Building your own web application
  • 15.
  • 16.
    The Simplest MashupsWidgetsNocoding requiredCopy and pasteMay need security clearance to run remote javascript hosted on the widget providers web server
  • 17.
  • 18.
  • 19.
    Copy and Paste<scripttype="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
  • 20.
  • 21.
    Librarything WidgetsGet YourWidgetSelect Your Options
  • 22.
  • 23.
    Which Can GiveYou:The WidgetEmbeddable CodeThis strategy works for youtube, google video, flickr, and most of the “social” web
  • 24.
    Feed Based MashupsRepackagingand Repurposing Data
  • 25.
    Feed-based MashupsGeneral strategy:Identifya bunch of feeds you want to keep track ofOrganize them or mine them for useful dataProcess them regularlyKeep track of when they failPresent the results back to your users
  • 26.
    Basic Feed ContentRSS- http://feeds.delicious.com/v2/rss/ols.inside?count=15JSON - http://feeds.delicious.com/v2/json/ols.inside?count=15
  • 27.
    Basic Example -Community Planet or the Feed of Feeds
  • 28.
    Experiment with Feedsand Yahoo Pipes (http://pipes.yahoo.com)No coding requiredA good place to experiment with and identify a mashup strategy with little risk or effortClone the pipes of other users to get startedWhen you are done with your pipe you send the ouput to:
  • 29.
    Pipes Interface –Sorting Pubmed Query FeedsDrag and Drop Programming
  • 30.
  • 31.
    Using Feeds inthe LibraryUse feeds to aggregate search results from commonly used queriesCreate a bundle of search results important to your organizationsUse feeds to show new publications/titlesCombine with Amazon or Google Book search to add new contentUse feeds to aggregate organizational contentPull together bookmarking services of employeesPull together blogging content from employees
  • 32.
    Pipes works withmore than just Feeds: Data and Services
  • 33.
    Web Services andAPIsProgramming the Web
  • 34.
    The API BuildingBlock: A Restful Web TransactionFind a data source?Ask it a question in the form of a URL?http://myservice.com/?idrequest=myrequestcontentYou 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=myrequestcontentGet data back in XML – often using AsychronousJasvascript and XML (AJAX)Parse data with your own local code or the api in questionPresent parsed data in your applicationResources with unique IDs work great in these sorts of transactionshttp://myservice.com/ISBNhttp://myarticleservice.com/pubmedid
  • 35.
    Example: the Yahoo!SPELL Checking Web ServiceThe Question:The Answer:
  • 36.
  • 37.
    Where it mightlive? – Example DeploymentResponse from Yahoo!
  • 38.
  • 39.
    Programming with APIsTypicallysimpleThe key is to fail gracefullyMake sure what the terms of usage areMany Vendors now Provide APIsIncluding: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)
  • 41.
  • 42.
    Using the GoogleMap API: Digital Murray Hillhttp://murrayhill.gc.cuny.eduWordpress powered architectural history websiteOpen Source Content Management System (CMS)PHP/MYSQL Driven web applicationCombines a number of content sourcesDescriptive architectural metadata Geocoding for local addressesGoogle maps contentflickr content
  • 43.
  • 44.
    Coding with theGoogle Map APISetting a Map IconSetting the Map Canvas
  • 45.
  • 46.
  • 47.
    Mashup Wrap-UpThings toRemember about Mashups
  • 48.
    Mashups and ContentManagement 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 levelWordpress, Drupal, Joomla, etc.All of the above have extensions that support many of the most popular mashup data formats, data providers, and apis
  • 49.
    A Good Placeto Start
  • 50.
  • 51.
    Mashup IssuesDependence ondata or code that in some part you do not controlSecurity Policies can changeAccess policies can changeUsage limits on key-based apisLegal ImplicationsMake sure to read the terms of service for any service you expect to make publicMost non-commercial issues are fine
  • 52.
    What can Ido?See if your major information service providers:Provides feedsTry aggregating them in some useful fashionExperiment with <embed> options from services like Youtube or Slideshare in order to expand and highlight interesting organizational contentExperiment with the major social web services:Identify a “social” aspect in your organization that already existsSee if you can aggregate it and produce a useful new view of the dataCode your own mashup using apis
  • 53.
    Check out LibraryMashupsVisit the Programmable Webhttp://programmableweb.com/Library Related APIshttp://techessence.info/apisPro Web 2.0 Mashups by Raymond Yeehttp://blog.mashupguide.netLibrary Mashups by Nicole Engardhttp://mashups.web2learning.net/In particular visit the link compilation at:http://mashups.web2learning.net/links
  • 54.
    Are my servicesand 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.
    ConclusionsChoose web resourcesthat are mashable when you canSupport for this is growing among web content providersMashups can:Cost little beyond staff timeBe fun and easy to createBe throwaway work that achieve substantial resultsAdd value in unexpected waysDevelop into essential services