« Build notes for Amazon AADL Linky | Main | Save the time of the reader »

16 January 2006

Google Talk IM bot to search the AADL catalog

It's very rough right now, and I will only have it running when I'm there to watch it. But you should be able to connect to

superpatronbot@gmail.com

using a Google Talk or Jabber or iChat or Adium client, and use the command

/aadl anatomy of a murder

to do a keyword search over the Ann Arbor District Library's catalog of all media. To narrow it down you can do

/aadl anatomy of a murder dvd
/aadl anatomy of a murder sound recording

You'll get results formatted back nicely, thanks to the library catalog's use of RSS to generate search results. The search results will be copied to the channel, so that anyone else listening in can see what you are searching for.

This is a "social library search" tool, which would be weird for a library to foist on unsuspecting patrons for privacy reasons, but really very handy to have for a group of people.

It's a chat channel, and at any point along the way you can talk to anyone else on that channel just by typing your message.

The code is relatively rudimentary in many respects at this point, and it's running on my laptop so it's only up when I'm actually there. Bits of it are in active development, and as a part of that it might change in unpredictable ways or not work at all.

If you type

/help

you'll get back a list of commands which includes details from a few more libraries, including e.g.

/swan chicago mls libraries - SWAN catalog - see discussion
/mirlyn university of michigan libraries - MIRLYN catalog
/emich eastern michigan university libraries

Some build notes.

The whole thing is written in python. The bot is based on Perry Lorier's confbot.py, which speaks Jabber to the Google Talk servers. That in turn has been adapted and refactored by Brian Kerr and the Unicorn Collective to be a bit more flexible.

The AADL command I added based on code and libraries adapted from Jose Nazario's duckytool package. An initial proof of concept implementation was about 12 lines of new code.

Adding a new library is variously easy or difficult depending on whether your library system has a programmer-friendly way to display search results. At worst, I return a link to the search results, so that you can click through to the right search page. At best (for AADL) I return the search results as individual items so you can click through to a particular hit.

The command set is subject to change at any time! And remember, it's only up when I'm around, so this is by no means a production service.

Inspired by the MakeBOT. But I ran it on Google rather than AIM because Google's Jabber interface is a documented, standardized protocol.

Technorati Tags: , , , , ,

Comments

ok, some evolution.

a few libraries disappeared, because we redid the code. never mind, they will be easy to add back in.

Brian Kerr took over the codebase, cleaned it up quite a bit, and is using it for a student project at the U of Michigan School of Information.

We found a Z39.50 gateway, which let us add in a search for the U of Michigan catalogs. Z39.50 is awful. It returns MARC records. MARC is pretty awful, too.

More poking around led to SRU, a new retreival protocol for library records. SRU is better in that it's all HTTP and XML based, and in that it uses Dublin Core as one possible output format so you don't have to know MARC to make sense of it. I haven't dug into it very much yet, but there seem to be some warts in the design, in that you really never get permalinks to catalog records, just relative records in a search stream.

The bot is only up when my iBook is on the net. It's sometimes slow to respond, in part because my iBook travels with me to places where the network isn't fast, and in part because Z39.50 does not make for fast searches. Oh, and the Jabber bot we are using slows down the more people who use it.

Progress.

Clarification: it's not a student project, but I am a student. :) There's a group of us who are doing fun things not for $ not for credit, but doing them while at SI. (If you think that sounds like a recipe for disaster, you're probably right.)

I don't know if you're aware of that, but ISBNdb.com is a project that actually cross indexes data from various libraries Z39.50 sources. There is a free XML API to get to the data as well. Email me if you have any questions..

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

What they're saying about Superpatron

  • So you've got Ed exploring the possibility space, and John working to enlarge that space, and together they've created a virtuous cycle of innovation. Now this is obviously an extreme example. You are not going to find a superpatron of Ed's caliber and a superlibrarian of John's caliber in every town. But I think the dynamic at work there can apply more broadly. And if it does, it will matter that these patrons and librarians are situated in a local context. (Jon Udell, Remixing the Library, GRL2020)
  • Der Supernutzer beschreibt 10 Möglichkeiten, der Bibliothek zu helfen....Den wichtigsten Punkt hat er vergessen, ihn aber selbst erfüllt. Sozusagen als Präambel könnte man also anführen:

    “Übe konstruktive Kritik an der Bibliothek. Ohne Resonanz können die Leute da drin nicht wissen, was Du willst.” Infobib.de

  • How come only some books in the Google Book Search have “find in a library” links next to them? Diglet asks, and gets an answer, sort of a lame one if you ask me. update: Kevin mentioned in the comments that it would be great to see this for all books in Google Books. I went to bed thinking “Oh yeah, I should look into that….” and while I was sleeping, Superpatron, aka Ed Vielmetti solved the crime, er problem, and created a Greasemonkey script (a plug-in that you can run with Firefox) that does this for Ann Arbor and can be modified for any library. (Jessamyn West)
  • Curse you Superpatron! t's way past my bedtime, but the Ann Arbor Superpatron has been planting ideas in my head again… (Dave Pattern)
  • Superpatron is a blog run by a patron. The author posts entries about events and articles relevant to the library community, but does it with a patron point of view. (North Texas Regional Library System)
  • The blogosphere's resident "awesomest patron ever," Edward Vielmetti, appears in an article in School Library Journal about how he wrote a script tweaking (ahem, improving) Google Book Search. Vielmetti's blog, Superpatron, is one I read daily and highly recommend to anyone in libraries looking to get a very smart user's perspective. (Librarian In Black)
  • When I wrote him back, I called him the “AADL Super Patron,” which is very coincidental, since he has been planning to create a blog with almost the same name. Today, Superpatron is live and I’m sure it will quickly be filled with Ed’s terrific ideas about making libraries more responsive to patrons’ needs. So hurry up and subscribe already, ok? (Meredith Farkas)
  • The Superpatron (faster than a speeding reference librarian…) posts a presentation on the use of del.icio.us for research. Steven Cohen, Library Stuff
  • I've talked about Edward Vielmetti here before, but I never had the right name for him. Now I do. He's Superpatron! (Jenny Levine)
  • Last fall, in Ann Arbor, Michigan, I gave a talk entitled Superpatrons and Superlibrarians. Joining me for this week’s podcast are the two guys who inspired that talk. The superpatron is Ed Vielmetti, an old Internet hand who likes to mash up the services proviced by the Ann Arbor District Library. That’s possible because superlibrarian John Blyberg, who works at the AADL, has reconfigured his library’s online catalog system, adding RSS feeds and a full-blown API he calls PatREST. (Jon Udell)
  • Little did I know that when I pointed to Ed Vielmetti’s blog, I was not only coining a phrase, but providing the name for Ed’s brilliant new blog. Ed is that (unfortunately still) rare creature that not only groks the net in fullness, but also has use for his public library. (Eli Neiburger)
  • Die Ann Arbor District Library hat einen Nutzer, der sie liebt. Und nicht nur das, er schreibt darüber. Oliver Obst

mybloglog


Blog powered by TypePad