Let’s say you find a book at an online bookstore (for example, Amazon), but instead of buying the book, you want to borrow it from your local library.
Jon Udell’s LibraryLookup bookmarklet[15]
LibraryLookup is a bookmarklet, which is “a small JavaScript program that can be stored as a URL within a bookmark in most popular web browsers or within hyperlinks on a web page.”[16]
LibraryLookup is less flashy than previous examples; it’s also not server side, like Housingmaps.com. It is client side like the GMiF script, but not in exactly the same way. But it shows another way to create browser-based integration.
Let’s look at how LibraryLookup works from the user’s point of view. To use the LibraryLookup bookmarklet, you need to do the following:
Configure a bookmarklet for the library of your choice.
Invoke that bookmarklet when you arrive on a web page for the book you want to look up in your library.
Go to the LibraryLookup Bookmarklet Generator at the following URL:
http://weblog.infoworld.com/udell/stories/2002/12/11/librarylookupGenerator.html
Now enter the base URL and library name, and select the catalog vendor corresponding to your library. Consider, for example, the Berkeley Public Library (BPL). In comparing the BPL OPAC to the examples of vendor online public access catalogs (OPACs) provided by Udell, you can determine that the BPL OPAC is an instance of an Innovative system. When you type in the base URL for the BPL OPAC (http://www.berkeley-public.org
) and the name of the library (Berkeley Public Library), select Innovative for the vendor (as shown in Figure 1-6), and then hit Submit, you get a bookmarklet that you can then drag to your browser toolbar. The source of the bookmarklet is as follows:
javascript:var%20re=/([\/-]|is[bs]n=)(\d{7,9}[\dX])/i; if(re.test(location.href)==true){var%20isbn=RegExp.$2; void(win=window.open('http://www.berkeley-public.org'+'/search/i='+isbn, 'LibraryLookup','scrollbars=1,resizable=1,location=1,width=575,height=500'))}
Note | |
---|---|
If your library is not one of the vendors listed by Udell, it is not difficult to take these templates and make them work for libraries with slightly changed systems. |
Let’s see this bookmarklet in action. Here I use the LibraryLookup bookmarklet for the BPL, applied to the book Foundations of Ajax, which is published by Apress with an ISBN-10 of 1590595823. If you go to the corresponding Amazon page (http://www.amazon.com/Foundations-Ajax-Foundation-Ryan-Asleson/dp/1590595823/
) and hit the BPL LibraryLookup bookmarklet, you would see a window pop up showing the book in the BPL (see Figure 1-7).
Figure 1.7. Figure 1-7. Invoking the LibraryLookup bookmarklet to look up Foundations of Ajax at the BPL. (Software copyright Innovative Interfaces, Inc. All rights reserved.)
The LibraryLookup bookmarklet looks for an ISBN (or ISSN) in the URL of the book-related site to identify the book you want to find. The bookmarklet does the following:
It extracts an ISBN from the URL of the library catalog.
It repackages the ISBN in a new URL to look up that book in your library catalog.
This bookmarklet has some limitations. If you want to query multiple libraries in your area, you might find it tedious to create the bookmarklet for each of these libraries. One approach is to modify the bookmarklet to send ISBNs to the OCLC Open WorldCat catalog. Here’s the corresponding bookmarklet:
javascript:var%20re=/([\/-]|is[bs]n=)(\d{7,9}[\dX])/i; if(re.test(location.href)==true){var%20isbn=RegExp.$2; void(win=window.open('http://worldcatlibraries.org/wcpa'+'/isbn/'+isbn, 'LibraryLookup','scrollbars=1,resizable=1,width=575,height=500'))}
There is a deeper limitation of the LibraryLookup bookmarklet, which you can see through the following example. If you use the BPL bookmarklet to see whether Czesław Miłosz’s New and Collected Poems: 1931–2001 is in the library by first looking it up at Amazon and finding a paperback version at http://www.amazon.com/exec/obidos/ASIN/0060514485
and then invoking the bookmarklet to arrive at http://library.berkeley-public.org/search/i=0060514485
, you might be surprised to not turn up the book in question, especially since the Nobel Prize winning poet spent the last 40 years of his life in Berkeley. It turns out that there are indeed copies of Miłosz’s book in the BPL, but they are a different edition with a different ISBN (006019667X). See the following URL:
http://library.berkeley-public.org/search/i=006019667X
Different editions of a work have different ISBNs. Furthermore, it’s not obvious how to derive the ISBN of related editions.
In recognizing that the LibraryLookup bookmarklet, by using an ISBN to uniquely identify a work, is not able to recognize various editions of a book, Udell has taken a number of different approaches to overcome this limitation, all of which use the OCLC xISBN service, a web service that returns a list of ISBNs that are associated with a submitted ISBN:[17]
The first is a Greasemonkey script that works on an Amazon page for a book. The script first checks whether Udell’s local library has a book with the same ISBN as the Amazon book in question. If not, the script then queries the local library for any of the ISBNs associated with the book, a listed generated by the xISBN service.[18]
The second extension is a port of the Greasemonkey script (which is tied to Firefox) to something that works in Internet Explorer.[19]
Udell has also worked on another type of mashup between Amazon and a local library: a service that checks your Amazon wish list in order to receive notifications about availability in a Keene, NH library (Udell’s local libraries).[20]
BookBurro, in the form of either a Firefox extension or a Greasemonkey script, displays the price of a corresponding book as a pop-up window.[21]
LibraryThing is “an online service to help people catalog their books easily.”[22][23]
Today I’m releasing thingISBN, LibraryThing’s “answer” to xISBN. Under the hood, xISBN is a test of FRBR, a highly developed, well-thought-out way for librarians to model bibliographic relationships. By contrast, thingISBN is based on LibraryThing’s “everyone a librarian” idea of bibliographic modeling. Users “combine” works as they see fit. If they make a mistake, other users can “separate” them. It’s a less nuanced and more chaotic way of doing things but can yield some useful results.
William Denton has been experimenting with both xISBN and thingISBN, showing that it might be better to use both services rather than just one.[24]