June 23, 2006

OU Traveller (Library Remote) Script

Time is a scarce resource, which makes building a major piece of software for the Library Mashup Competition difficult. Here then is one particular roadmap I hope to follow in assembling small standalone applications using small amounts of reusable code - I anticipate 30mins to 2 hours effort for each one. Each mini-app will provide useful functionality as a standalone item, but should also be capable of being integrated or aggregated with others items to provide a more comprehensive (integrated) tool suite. Providing separate scripts for each component: 1) allows for point testing of different functionality; 2) increases the number of "baby scripts" available for other people to build on or reuse (without them having to strip out other functionality).

As the purpose of the Library Mashup competition is to generate and promote new ways of working with library related components in a "Web 2.0 way", if anything takes your fancy in this series of postings please feel free to reuse any code snippets, interaction designs or functionality proposals in your own competition entries (though if you do create a winning entry that does incorporate ideas gleaned from these pages, I'd be happy to give you my Amazon wishlist details so you can tip me an a item or two from it;-)

Alternatively, if you'd be willing to contribute coding effort, please let me know. As mentioned above, the roadmap is based on building a series of short scripts that can then be aggregated in a single application.

So then, here's the first roadmap.

A library remote control extension for Firefox (+Opera? +IE7?) that will identify pages with an ISBN in the page location (for example, the major booksellers) and automatically generate a pop-up panel on those pages that will offer the following functionality:

- a lookup of the ISBN number in the user's library catalogue for print holdings of that item; several GM scripts already exist that support this function. Reports should include whether the book is on the shelf, on loan, ordered, lost, not held, etc.

- the ability to reserve a book if it is held by the user's library;

- results should be displayed in a 1) floating, 2) draggable, 3) closeable, 4) expandable panel (cf. the RSS Site Index Panel.

- a lookup of ebook or scanned versions of items with that ISBN number; the provision of links to Google books, Amazon Look Inside copies etc. if available. The provision of libezproxied (or equivalent) links to ebooks available through the user's library catalogue;

- the provision of 1) a list of xISBN (and/or thingISBN) equivalents to the current book, and 2) links through to these: a) on the same site, (e..g on the bookseller's site) b) as a lookup on the user's Library catalogue, 3) if the books are available at these locations.

- a lookup of 1) the bookdata* for the given ISBN e.g. on isbndb(?) and 2) the use of this as the basis for a) a search on the library catalogue to find alternative versions of the book; b) for a 'suggest this book' recommendation to the library; c) of an interlibrary library loan application.

* it strikes me that rather than looking up books using all the xISBN variants, it would be better to lookup books on the basis of author and title if you just want to get help of a copy of a book irrespective of its edition?

(- in passing, enhance the OU library recommend a book OU internal) page by: 1) offering to autocomplete book details based on the provision by the user of an ISBN, followed by a call to a book info lookup service; 2) checking to see if a book being recommended is held by the library a) on the basis of ISBN alone, b) on the basis of book data (author, title), and then reportig back to the user. If the book is already held, offer the user the ability to reserve it.)

An extension package (or integration of the aggrgated scripts into a browser toolbar) that provides the complete set of functionality in a single package is the goal. The babysteps that I hope will get me there is a series of bookmarklets and Greasemonkey scripts (for Firefox initially) implementing each component separately. Some components will be stepping stone/proof of concept scripts that prototype/demonstrate how to achieve certain behaviours that can then be reused in later scripts.

So - may the journey begin...

Posted by ajh59 at June 23, 2006 12:01 AM


this looks like a great set of ideas, and an interesting process.

I'd just like to stress that the winning entries in the competition may very well not be "a major piece of software".

I look forward to seeing how this might progress...

Posted by: Paul Miller at June 23, 2006 09:39 AM