« America on the Move, tracking pedometer progress | Main | AADL library "book cart" »

December 14, 2005

A design for a bot for a library

Lots of people have an instant messager connection open all the time. It would be nice if one of your IM buddies could be your local library, and if that library bot could answer a bunch of questions. Better still would be if this library bot could have code that was shared among a bunch of libraries so that even though they are all using different catalog software there's a common language and design and command set and shared development so that patrons of libraries without programmers could still take part.

Here's the pieces parts, some of which I'm missing.

1. Pick an IM protocol that supports bots and that supports your library users. An obvious one would be AIM, but there's also Jabber for Google Talk users and Yahoo messenger.

2. Define a command language. This might be the hardest part. I'll guess I start with "books" to do a keyword search on the collection and "hours" to tell me when the branches are open. There should be more. You'll need a little tiny command parser for this one.

3. Interface with the catalog. The easiest and most portable way to do this is via RSS, no surprise, because it hides all the library goo and just gives you easy to parse data back.

I'm working away on the third part of this - just sent off a patch to DuckyTool to wrap a keyword search of the AADL catalog. That gets back plain text results which I should be able to feed upstream.

Thanks to Jenny Levine for the idea and encouragement, and to MAKE Magazine for the inspiration.

Technorati Tags: , , , , , , ,

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/t/trackback/2735/3856126

Listed below are links to weblogs that reference A design for a bot for a library:

» More Library Bot Chat-ter from The Shifted Librarian
Ive been meaning to mention that Edward Vielmetti is following up on my post about a library IM bot. Is there something about the water in Ann Arbor that they all just get this stuff and are programmers that can... [Read More]

» More Library Bot Chatter from The Shifted Librarian
Ive been meaning to mention that Edward Vielmetti is following up on my post about a library IM bot. Is there something about the water in Ann Arbor that they all just get this stuff and are programmers that can... [Read More]

» More Library Bot Chatter from The Shifted Librarian
Ive been meaning to mention that Edward Vielmetti is following up on my post about a library IM bot. Is there something about the water in Ann Arbor that they all just get this stuff and are programmers that can... [Read More]

Comments

A comment in the delicious log asked whether it was worthwhile building a whole AI just to do this.

For my use of the library, there's very little AI to it - a lot of the things I regularly do are straight lookups of things from the catalog. Not much magic in pulling in a search query and reformatting it.

I would suppose though that the right thing to do would be to have the bot "learn" over time, in some way - that could be as simple as collecting analytics on what it gets asked and adding to the bot to have it give reasonable answers as it develops. You'd ideally want the setup to be flexible to incorporate as many library-specific resources as you could, and in a perfect world you'd be reusing content from the existing library system (in our case a Drupal site) so you can just pull in and repurpose data).

I probably shouldn't have used the word "AI" - that's not really what the point I was trying to get to. After chewing on your post for a little while, it occurred to me that if I start dumping a bunch of domain-specific bots into my buddy list (library-bot, movie-bot, make-bot, etc), then I'd end up with a ton of different little buddies filling up my client. Better to have one "avatar" that contains all of my preferences and have that interface with bot services offered up by all the different sites. I was going to write something here saying that I don't use the library catalog enough to warrant dedicating a the screen real estate to a bot, but if it interfaced with my books-on-hold... well, that could be a different story.

On the whole, the library bot is an intriguing idea. Is there a specific way that you would be interfacing with the Ann Arbor library or do you think this could be abstracted out to apply to a wide variety of systems (a la Libarary Lookup - though specifically I'd want it to connect to the King County system here in )? Also, did you have a specific platform in mind on which to build the bot? I know there are a handful out there, but I don't know anything about them. I suppose you could script something out using some Perl and Jabber libraries without too much trouble. I'd be interested in collaborating on this if you're looking for some help - feel free to email me.

Oh and all of my commentary on IM should be taken with a grain of salt, since I don't really use it much. But if there were more useful, usable bots that I could interface with, then I might start up again.

Finally, this whole conversation raises an interesting aspect to del.icio.us. They added a wider "notes" section, I assume so people can start adding more descriptive comments. But there's no way to carry on a conversation in those comments. Hmm...

revision:

... to connect to the King County System here in Seattle ...

Off the cuff...

Why use an IM protocol for this, exactly? Is there any reason you wouldn't make this a web service? It might be easier to implement this way, as far as the inter-library communication goes.

It might be easier to deploy in other libraries as a web application since you wouldn't have to open new ports.

Using the IM protocol would let users query the bot over IM, then the bot would query the web services of the library to get answers.

This would really accomplish the goal of reaching users where they are.

Edward, if you get anywhere with this keep us posted. I work for a regional system in IL that is south of Jenny "The Shifted Librarian" and I'd be very interested in contributing the code base.

My system is also a III customer, however we have not (and may not) do as much cutsom work as John has for AADL. But, I would be able to write some web services that your bot could query, so you'd have another site to test on as well.

Sounds like a fantastic idea. I wish I was a better coder. As it stands now, I can make changes in scripts written by others such as javascript and some server based scripts. I have no formal training as aprogrammer and no time to learn it unfortunately.

OK, anyone following along in Flickr will see a photo of the bot in action, or you can add superpatronbot@gmail.com to your buddy list and you'll have access.

It runs on my laptop, which means it may or may not be running at any point, and it may be broken.

And just to be sure of this, when you query I will have logs of it, and I will look at those logs to figure out what is going on. If you want privacy ask the catalog directly. I hope that at some point a library will run this service directly so that it has the usual library privacy guarantees.

Sounds like a great idea. As far as I understand it's an ability to function for some time without programmers.)

Post a comment

If you have a TypeKey or TypePad account, please Sign In

My Photo

Subscribe to Vacuum

  • Subscribe with Bloglines

    See also my other blog, Superpatron, for library patrons and libraries.

Once the search has begun, something will be found

  • Google Custom Search

Vacuum archives

  • archives of vacuum - include things hosted on other sites. (not linked yet TBD checking style now) 1999: 1 2 3 4 5 6 7 8 9 10 11 12 2000: 1 2 3 4 5 6 7 8 9 10 11 12 2001: 1 2 3 4 5 6 7 8 9 10 11 12 2002: 1 2 3 4 5 6 7 8 9 10 11 12 2003: 1 2 3 4 5 6 7 8 9 10 11 12 2004: 1 2 3 4 5 6 7 8 9 10 11 12 2005: 1 2 3 4 5 6 7 8 9 10 11 12 2006: 1 2 3 4 5 6 7 8 9 10 11 12 2007: 1 2 3 4 5 6 7 8 9 10 11 12

Recent Comments

Call me!

  • Call me!

upcoming.org

What I'm up to

mybloglog


103bees vacuum

Hit tail

Blog powered by TypePad
Member since 08/2003