Camping out in the Big Apple

The library unconference is fast becoming a fixture in the assortment of library-related gatherings. Having been a facilitator of two previous Library Camps in Ann Arbor and Darien, it was a pleasure to let someone else do all the heavy lifting and simply enjoy the fruits of their labor! Many thanks to Stephen Francoeur, Linda Rath, Louise Klusek (the kind folks from Baruch), Rachel Watstein (IBM), and Steven Kaye (Accenture).

Attendance at Library Camp NYC was quite large (100+ people!) which certainly tested the open spaces concept. The 14th floor of Baruch’s vertical campus building was well equipped to handle the crowd, however, and a number of really great sessions were spawned. The only drawback of the unconference format, I’ve found, is that I always find myself wanting to be in two or three places at once. You can take a look at how the final program evolved on the event wiki.

During the first session, I attended ‘Library 2.0 show and tell‘ which focused a lot on wikis and some other specific technologies. The group also touched on topics such as how to get staff/patrons to buy-in to new services. I also attended a session led by OCLC’s Eric Hellman on their grid services concept (xISBN, etc). I think I enjoyed the final session the most, however, which was a discussion about cataloging and Weinberger’s Everything is Miscellaneous.

A great day, and I’m sure we’ll see more library camps in the future.

Chatting with Jon Udell and Ed Vielmetti

I had a great chat with Jon Udell and Ed Vielmetti last week during a recorded podcast that Jon has made available on his new blog. Jon is a great podcaster–he has the ability to make a session feel like a conversation and less like an interview which makes for a very interesting and enjoyable experience as one of the participants.

Anyway, we talked about superlibrarians and superpatrons within the context of Eric Von Hippel’s notion of “lead users.” This is an area that should be of great interest to libraries–specifically, how do we identify those lead users, then enable them to mash-up, remix, and create services, tools, and content. We can learn a great deal more from our users than we are currently used to and Von Hippel shows us how in a series of online videos and papers.

I mostly talked about PatREST–its history, what it is, where it might lead, and my decision to build a patron-oriented API on top of our existing ILS. Ed shared some interesting insights into his perspective as a consumer of PatREST and other non-standard distribution channels made available on AADL’s system.

PatREST to Include OCLC Audience Level Data

I’ve updated AADL’s PatREST interface to reflect an addition I’ve made to the PatREST specification (now 1.3). This addition takes advantage of OCLC’s Audience Level indicator. OCLC makes this information available via an XML web service. From their service page:

There are a variety of ways to characterize library materials. The type of reader believed to be interested in a particular item is one. Such an indicator, generally known as the audience level, is potentially useful for a variety of activities, including the development of new ways to improve information relevance for retrieval, reference services (including readers advisory) and collection development. Audience-level filters could be implemented in existing retrieval systems to assist users in finding content based on their information needs.

This is not the first OCLC service PatREST has taken advantage of. PatREST has been incorporating data from OCLC’s xISBN service for quite some time. By pulling in the data they make available, the data PatREST is able to return becomes significantly more valuable.

Because AADL’s PatREST implementation relies heavily upon III’s XML server, I’ve added OCLC’s Audience Level functionality to the PHP XMLOPAC class code which is freely available from my files page or you can directly grab it right here.

Google Gadget Update & PatREST changes

I’ve made a little update to two of the PatREST Google gadgets (top and new items)–partly due to the insistance of a certain Superpatron, but mostly because I was planning on doing it anyway.

The new versions allow users to display cover images along with the records. A new option gives you the choice of text only, images only, or images and text. Not a major change, but noteworthy. Also, in case you missed the update in my previous post, the new items gadget can now match subject headings–useful if you want to be notified about new items on a particular topic.

For the purposes of the Talis mashup competition (for the judges), the original xml files are still available under a different name (tops-v1.xml and new-v1.xml). Everyone else, here are the new ones:

(FYI, it’s the same URL as the previous version. If you’ve already added it to your Google page, the update will be automatic)

While working on this little project, I became painfully aware of PatREST’s limitations when dealing with asynchronous execution — like that of Google gadgets. I previously thought it would be better to limit the amount of data returned in an XML hit-list and use a second record query for and detailed info. I think I may have been a little short-sighted. At any rate, the lesson learned is that the more practical experience I have with PatREST, the more I’ll know what works and what doesn’t.

The upshot of all this is that I’ve expanded the result objects in any PatREST function that returns multiple records to include more information, such as ISBN, cover image, author, and record link. For those asynchronous folks, this will make life a lot easier. The new additions have been added to an updated specification. Existing PatREST applications (I don’t think there are many at this point) will continue to work, of course.

Go-go Google Gadget!

I was having serious doubts that I’d find the time to put something together for Talis’s Mashing Up The Library competition. But that’s what late-nights are for, right?

Anyway, my idea was to submit a suite of Google gadgets that, even if it doesn’t win, will serve another important purpose of providing a proof-of-concept for my PatREST specification. So I’ve written four gadgets using the Google Gadgets API. These gadgets then consume the PatREST service for their data. If you’re unfamiliar with the Google gadget, they are the little customizable panels on Google’s personalized home page. This is what the page looks like with all four enabled:

Like all the other gadgets, they can be dragged around the page and individually configured. Also, you can choose which gadget to install, if you don’t want all four. They are:

  • tops.xml - - Displays the hottest items at the library. You can configure it to display books, CDs, books on CDs, or everything. You can also select the number of results you want returned.
  • new.xml - - Displays the newest material at the library. You can configure it to display books, CDs, books on CDs, or everything. You can also select the number of results you want returned.
  • curitems.xml - - Displays all your currently checked-out items.
  • holds.xml - - Displays all your requested material.

The beauty of these gadgets is that they require no modification of the code at all in order to be used with other libraries. The catch is that the library needs to provide the PatREST API (and right now, that’s only AADL). My hope is that other libraries will see and recognize the usefulness of a patron-friendly API.

Installing the gadget is dead easy. First, you need to create an account with Google so that you can personalize the Google home page. Then, click the “Add content” button (top-left). You’ll notice a small option next to the search box, “Add by URL”. Click it, and paste in the URL of one of the XML gadget files above. If successful, you’ll see something like:

You can repeat this process for all of the gadgets, if you like. When you’re finished, go back to your personalized homepage, and configure your gadgets:

Configuring the Top Items gadget:

Configuring the Check-outs gadget. Note that you will need a special token. This is the token used to access your personal RSS feeds:

That’s it! I doubt it could be muh easier. AADL patrons can benefit from these gadgets right away. Hopefully other libraries will consider the PatREST specification, (vendors too!). Once I had done the prototyping, creating additional gadgets was very easy because of PatREST’s simplicity and accessibility.

Naturally, these XML files are released under GPL v.2. Feel free to modify and extend them as you like. I have a number of ideas that I just don’t have time for right now, but hope to add in the future.

Also, because of the quality of XML data I get out of the III system, and, what I think is a bug on Google’s end, the results occasionally do not display. Once Google clears it’s internal cache, however, things usually fix themselves. I think this little bug is out of my hands–at least until I can learn more about it.

Please use these, and enjoy them responsibly!

*** Update 8/19/2006 ***

Added subject search to the New Items gadget.

*** Update 9/1/2006 ***

Not sure why I didn’t do this before, but I added “Add to Google” buttons to the links in this post, as well as on my files page. All you need to do to use these gadgets is click on the button and confirm by clicking on “Add it now”. How’s that for simple?