Doing More with Less: Mash Your Way to Productivity

Post on 06-May-2015

900 views 3 download

Tags:

Transcript of Doing More with Less: Mash Your Way to Productivity

Doing More with Less:Mash your Way to

Productivity

Kevin ReissUniversity Systems Librarian

Office of Library ServicesCity University of New York

SLA-NY Panel 1-21-2010

Mashups are more than just:

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

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)

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

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/

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

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

Widgets

The Simplest Mashups

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

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 Widgets

Select Your Options Get Your Widget

Slideshare

Which Can Give You:

The Widget Embeddable Code

This strategy works for youtube, google video, flickr, and most of the “social” web

Feed Based MashupsRepackaging and Repurposing Data

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

Basic Feed Content

JSON - http://feeds.delicious.com/v2/json/ols.inside?count=15

RSS - http://feeds.delicious.com/v2/rss/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 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:

Pipes Interface – Sorting Pubmed Query Feeds

Drag and Drop Programming

Pipe Results

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

Pipes works with more than just Feeds: Data and Services

Web Services and APIs

Programming the Web

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 Asychronous Jasvascript 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

Example: the Yahoo! SPELL Checking Web Service

The Question:

The Answer:

Home for this Service

Where it might live? – Example Deployment

Response from Yahoo!

A fresher setting

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)

Query Worldcat via API

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

Map Example

Coding with the Google Map API

Setting the Map Canvas

Setting a Map Icon

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

A Good Place to Start

Wordpress Dashboard

Wordpress Delicious Widget

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

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

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

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?

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