Author Archive

Delicious acquired by YouTube Founders

I wrote recently about the fact that Delicious might be discontinued by Yahoo!, but today I have good news! This from the Delicious blog:

Today, we’re pleased to announce that Delicious has been acquired by the founders of YouTube, Chad Hurley and Steve Chen. As creators of the largest online video platform, they have firsthand experience enabling millions of users to share their experiences with the world. They are committed to running and improving Delicious going forward.

Providing a seamless transition for users is incredibly important for both companies. Yahoo! will continue to operate Delicious until approximately July 2011. When the transition period is complete, your information will be moved over to Delicious’ new owner.

This hopefully means that your Delicious mashups will continue to work for a long long time!

Library Mashups Available on Kindle

I’m happy to inform my fans that Library Mashups is now available for purchase at the Amazon Kindle store. I have been informed that more ebook formats will follow!!

TinyURL API

Just found out today from Jonathan Rochkind that TinyURL (the tool used to shorten urls for posting to sites like twitter) has an API that may be of use to your library.

tinyurl is a simple one-purpose service. And it correspondingly has a delightfully simple “api”. If you ever want to automatically create tinyurls from within an application, you can just request “http://tinyurl.com/api-create.php?url=$URL”, and you get back a text/plain document which contains the created tinyurl (and nothing else). Couldn’t be easier to use.

Learn more from Jonathan.

Library Mashups CE at SLA2011

Looking to learn more about mashups? I’ll be giving a CE workshop at SLA Annual in Philadelphia this year. If you’re in the area and/or coming to SLA, consider joining me for this hands-on workshop!

Date: Saturday, 11 June 2011
Time: 8:00 am – 12:00 pm
Level:   Introductory

Description: In the first half of this workshop, attendees will learn about some of the tools they can use to mash up library data with content from the web to reach more clients. Examples include using maps, using Flickr for digital collections and creating library websites with data from several information sources. After learning the basics and seeing examples from other libraries, attendees will have a chance to create a website using what they learned. Note: Participants should bring laptops in order to participate in the hands-on work.

Ticket Information:

  • SLA Student Member: $99.00
  • SLA Member: $199.00
  • Non-Member: $299.00

Register at http://www.sla.org/content/Events/conference/ac2011/registration/index.cfm

If you are already registered for the conference, you can modify your registration to add CEs. You may register for a continuing education workshop without registering for the entire conference.

Yahoo! Discontinuing Delicious?

Some of you have probably heard that Delicious is possibly going to be turned off by Yahoo!. One of my favorite mashups examples is using Delicious to create ‘link rolls.’ In fact link rolls power the links pages on both this and my other book site. So the question now is what the heck do I do?

Well, first I’m all for petitioning Yahoo! to open source Delicious so that it can not online live on, but probably get more development attention than Yahoo! ever gave it. If you like this idea you can try to get that to happen by participating in this petition (click the flame to the right or this link).

Next, I recommend that you backup your links now and regularly while we wait to see what is going to happen to Delicious.

Finally, some colleagues have already switched to Diigo, a tool that I tried a while ago but ended up leaving to return to Delicious. It looks like I’ll be giving it another shot now that it might be my only option. For this post I did a search on Diigo to see if I could use it for my mashups still and have found that I can. Diigo offers linkrolls just like Delicious did. I haven’t tested them at all, but this is promising to say the least.

Library Mashups Workshop at CIL2011

The program is out and I’ll be giving two pre-conference sessions at Computers in Libraries 2011 in Washington, D.C. The first of which I’ll be giving with fellow author Brian Herzog where we will show you how to put mashups on your library site. Make sure you register early!!

  • W7 – Library Mashups: Exploring New Ways to Deliver Library Data
    Sunday, March 20, 2011 :: 9:00 AM – 12:00 PM
    Nicole C. Engard, Director of Open Source Education, ByWater Solutions
    Brian Herzog, Head of Reference, Chelmsford Public Library

    This workshop explains what mashups are, how they can be used, and shares examples from libraries around the world. In the first half of this workshop, attendees will learn about some of the tools they can use to mash up library data with content from the web to reach more patrons. Examples include using maps to enhance library data, using Flickr for digital collections, and creating library websites with data from several information sources. After learning the basics and seeing examples from other libraries around the world, attendees will have a chance to create a website pulling data from several sources on the web. After attending this talk, librarians will be able to define what a mashup is and identify mashups on library sites and the web; find tools and APIs to gather data for their own library sites; and pull data from other sites into a website

  • W15 – Practical Open Source Software for Libraries
    Sunday, March 20, 2011 :: 1:30 PM – 4:30 PM
    Nicole C. Engard, Director of Open Source Education, ByWater Solutions

    The commonly accepted definition of open source software is software that is distributed with human readable source code in order to allow the user freedom to run, review, alter, enhance, and modify the code for any purpose. But open source is about so much more than just the code behind the software, it’s about community, collaboration, and innovation. The library community is abuzz about open source software, but many librarians have no idea what open source software actually is or what it means to use the software and participate in the community around open source. This workshop provides the 101 for using open sources in libraries: What will open source mean to our libraries? Why would I choose source? How do I get started? Do I need more staff? Will the transition be hard? Are there open source applications for my library? Engard provides facts, dispels myths, emphasizes what open source means for libraries, and shares a toolbox of at least 50 freely available open source products to use in your library. Includes demos, discussions, and more.

Registration is available online at InfoToday.com.

Technorati Tags:

Attention Western NY Librarians

There are still spots in my upcoming workshop on Mashups for Libraries at WNYLC in Buffalo, NY. If you’re interested in joining us don’t miss your chance to register. Information can be found on the official WNYLC site, but here are some specifics:

Date: Tuesday, November 16, 2010
Starts: 9:00:00 AM Ends: 12:00:00 PM
Location: WNYLRC Training Center
4455 Genesee St., PO Box 400, Buffalo, NY

I hope to see some of you there!

WordPress Plugins Unsupported

I received a message the other day informing me of a change to the contents of the book. In Chapter 8 there is mention of a few WordPress plugins that are no longer supported. I contacted the original team at Libraries Interact and they shared this message with me:

At this time, we are unable to update the plugins. However, we hope to do so in the not too distant future.

So, for now please be aware that these plugins work, but not on the most recent versions of WordPress, once I know about any updates I will let you all know.

More Library Mashups

After the guest post last week, I got this email about more library mashups! Will Kurt, Applications Development Librarian at University of Nevada, Reno is working on two mashup projects that he will soon release into the wild:

I have 2 projects in the works that I thought you might be interested in:

The first is a mashup between the Google Books API+Library Catalog+ILL requests UNR BookFinder (http://www.youtube.com/watch?v=qaqcUSTtdVk)

and the other is a mashup between Brown’s FreeCite and OpenURL (also iLLiad) One Box Citation Finder (http://www.youtube.com/watch?v=QZw9GJUro5M)

I didn’t provide direct links because both projects are in the testing phase right now. Likewise for the source. Eventually I plan on releasing the source for these, but it still needs a little clean up ;)

Feel free to send me your success stories, tips & tricks, or other mashup related news and I will post it here.

Library Mashup Success Story: Using importXML to scrape the OPAC

The following is a guest post from Kim Gormley.


I’m a librarian at the West Chester Public Library who’s just beginning to teach myself some programming, inspired by the projects in Library Mashups and elsewhere. Thank you for compiling such a great resource – I never thought I would be excited about coding!

I’d like to share a beginner-level trick that has helped us tremendously: using the importXML feature in Google Spreadsheets to make a dynamic list of required summer reading books that are on the shelf right now at WCPL. Does it still count as a mashup if we’re only using one data source? I’ll assume it does and plow on ahead. :)

The Problem: Most kids coming in for summer reading books just want to know which titles we have now and how to get their hands on them as quickly as possible. Unfortunately, our OPAC doesn’t group all editions of a work or allow you to sort by shelf status, so the search takes ages, even if you’re a whiz at using the catalog. Which you’re not, because no one is.

The Solution: tinyurl.com/wcplsr2010

Yes, there are probably much better ways to do this (Ajax? JavaScript?). It’s a kludge, but a surprisingly simple and effective kludge. The spreadsheet recovers quickly from its occasional loading problems, and doing 200+ imports every two minutes hasn’t hurt our server. For a non-programmer newbie (like me) it’s an easy win. You can set up a list in a matter of days, bask in the gratitude of patrons and librarians alike, and do it all with just three Spreadsheet formulas.

Other possible uses: “Reading Olympics” books, princess books (we get that one all the time), new music CDs, new DVDs, bestsellers, Oprah’s picks, etc.

Here’s a bit of the cheat sheet I made for my coworkers, just in case you want it. It has the three formulas.

1. An import function looking for any copies of 1984 that are on our shelves

=importXml(“http://catalog.ccls.org/search~S1?/Xt:%281984%29+and+a:%28orwell%29&searchscope=1&l=eng&m=a&b=wc&SORT=D/Xt:%281984%29+and+a:%28orwell%29&searchscope=1&l=eng&m=a&b=wc&SORT=D&SUBKEY=t%3A%281984%29%20and%20a%3A%28orwell%29/1,1,1,B/holdings&FF=Xt%3A%281984%29+and+a%3A%28orwell%29&1,1,”&”?workaround=”&INT(NOW()*1E3)&REPT(GoogleFinance(“GOOG”);0);”//td[contains(.,'ON SHELF') or contains(.,'Recent')]/ancestor::tr/td[contains(.,'WC')]/following-sibling::td[1]“)

You will have to repeat this formula for each edition with a separate catalog record. Group all of these imports into one block so that you can easily use…

2. A formula to grab the import information from #1 and smoosh all the unique call numbers neatly into one cell

=arrayformula(concatenate(unique(substitute(D2:E20;”field v”;CHAR(13)))))

(I imported the field elements in #1 so I could transform them into carriage returns here.) Google limits you to 50 import functions per spreadsheet, so large lists have to be chunked into several “feeder” documents, which are then meta-scraped by the final document. Formulas #1 and #2 are in a feeder document.

Put all the #2 formula cells into one column so that you can import the whole range into the final document using…

3. A final import formula to get the call number data from the feeder

=arrayformula(if(importrange(“0AvLMkghcvzfedDFiTVFIVmFfd24wbF9yY3BpWndaNUE&hl=en”&”?workaround=”&INT(NOW()*1E3)&REPT(GoogleFinance(“GOOG”);0);”Feed!B2:B41″)=”#VALUE!”;”Not on Shelf”;if(importrange(“0AvLMkghcvzfedDFiTVFIVmFfd24wbF9yY3BpWndaNUE&hl=en”&”?workaround=”&INT(NOW()*1E3)&REPT(GoogleFinance(“GOOG”);0);”Feed!B2:B41″)=”";”Not on Shelf”;concat(concat(“On Shelf:”,CHAR(13)),importrange(“0AvLMkghcvzfedDFiTVFIVmFfd24wbF9yY3BpWndaNUE&hl=en”&”?workaround=”&INT(NOW()*1E3)&REPT(GoogleFinance(“GOOG”);0);”Feed!B2:B41″)))))

The feeder document contained 40 titles, with the #2 formula cells collected in B2:B41. Titles not on the shelf could result in either a blank cell or a VALUE! error, so I had to account for both possibilities.

That’s it. Just copy and paste the formulas, changing the URLs and data ranges as necessary.