I’m a jaded tech journalist. It’s not often that a new Internet service can actually make me excited. But last week I discovered one that had me grinning all afternoon.

Jon Udell’s LibraryLookup is an unassuming-looking page: It lists about 900 libraries, all of which use an online catalog system from Innovative Interfaces. Each library in this list is presented as a link. When you drag one of those links to your links toolbar or favorites list, you create a “bookmarklet” (a small piece of JavaScript code, stored as a bookmark). Next time you’re at Amazon.com, looking at a book, all you have to do is click on this bookmarklet to find out if that book is available at your local public library.

Cool, huh? LibraryLookup, more than anything I’ve seen online yet, makes me long to learn how to write JavaScript and to figure out regexp syntax more fully. This is just so much more powerful and interesting than mouse-over graphics.

Udell works at InfoWorld, where I used to be a columnist, and he has a fine technical weblog. The story of how LibraryLookup came to be is described there, and it illustrates how weblogs, web services, and clever scripters can combine to create — almost spontaneously — brand-new web applications.

What’s interesting to me about this whole story is that Jon considers “web services” to be not just applications that make themselves accessible via SOAP or other explicit Web services protocols. Any kind of programmable interface to Web information seems to qualify as a Web service, in Jon’s world.

So when he finds a page on Innovative’s site that lets you look up any of their customers, he creates a script to extract their entire customer database. Likewise, Innovative-powered libraries weren’t exactly publishing SOAP interfaces or XML APIs for the world to address. But their systems let you query the catalogs using nothing more than an URL. So Jon writes a script that extracts a book’s ISBN from its Amazon.com URL, then plugs that ISBN into the query URL for a particular libary, and opens it up in your browser. Voila: LibraryLookup.

Innovative quickly took their customer lookup page down, mere days after Jon’s app debuted. Perhaps they were a little freaked out when they saw what they’d unwittingly enabled. They may have good reasons for wanting to protect their customer list — but on the other hand, Jon’s application adds tremendous value to the Innovative system, and potentially can drive a lot of traffic (and customers) to the libraries using Innovative catalogs.

The evolution of LibraryLookup has been a joy to watch. It’s a nifty, useful tool. And most importantly, it shows how clever coders, working with publicly-available information services and simple scripts, can create ad-hoc Web services applications seemingly out of thin air.


Jon also has a version of LibraryLookup for libraries that use the Voyager online catalog.

Here are Udell’s latest updates on the project, including a version that works with Powells.com URLs, and one that looks up books on O’Reilly’s electronic-book network, Safari.