Haven’t had any time to work on the unAPI project I have in mind, but in conversation with Aaron Lav on #code4lib the other day, some aspects have come into clearer focus. What I’m after is a universal service allowing me to deploy my local library’s holdings for any bibliographic item in any web page I happen to visit. My model for this is Book Burro (the site seems to be down): the Firefox extension and Greasemonkey script that elegantly displays a little drop-down overlay in the corner of Amazon and other bookseller pages. The overlay contains other access options, based on the ISBN it gleans from the page you’re viewing: it shows prices from other booksellers, as well as yes/no holdings statements for selected libraries. In this it’s behaving like an OpenURL resolver. What I’m after is the ability to provide such a resolver with a neat little statement of holdings, with call numbers, suitable for display.

Aaron is after something similar, to have a Book Burro-like function that makes use of xISBN to look for other editions, and a FRBRish display that makes it easy to see how the various editions differ (if, for example, you start with the ISBN for the 1995 edition, the display makes it easy to see that the library has the 1980 edition at a different call number).

This looks like such a universally useful service that it makes sense to me to make it part of the library’s API and deliver the goods in a standard way, so that the holdings information can appear wherever ISBNs are found on the web. The function really belongs to the library’s OpenURL resolver rather than the OPAC; certainly we want to be able to get to the ILL form if the library doesn’t hold this item.

I’m thinking of two ways of deploying this information. In some cases, the web page will be designed with the intention of incorporating this holdings data, so it will make an empty div available, with instructions to fetch the holdings and display them here. In other cases, the source page would be unaware of the library holdings service, and a more Book Burro-like approach would make sense: an overlay that doesn’t disturb the format of the original page.

To achieve this on the client side I’ve hung my hat on unAPI for the time being, but that’s not really where this functionality belongs. If we had a widely-used citation microformat that mapped well to OpenURL, I could have a browser plugin that scooped up these citations and made them dance for me. And of course plain old COinS would do.

An open question is the format that the holdings should be delivered in. MARC-XML? Some flavour of Z39.50 holdings? Some simplified subset of these? An XHTML microformatted snippet of some sort?