Google Books Library Shelves

It’s been some time since I last had a look at the “My Library” service in Google Books, but with the announcement of Google eBooks store (currently US only, except for out-of-copyright free downloads) I popped over to my Google Books account to see whether anything else had changed…

One of the little known (I think?) features of Google Books is the “My Library” personalisation which allows you to create a collection of books and search over them. Searching your library finds all the books in your library collection that contain the search phrase; if a preview of the book is available returns deep links into the book to the point(s) at which the search terms appear:

Search within a book on google books

I’ve previously commented on the My Library aspect of Google Books in the context of its possible use by libraries for providing a full-text search option over books in their collection (e.g. Complementing the OPAC With a Full Text Search Book Catalogue where I describe the use of the service by Wiltshire Heritage Library (example) and the Penn State University Press booksearch (example)).

(At the moment I don’t think you can get statistics back on the searches carried out on a My Library profile, though Google books can do stats for publishers e.g. Google Books for Publishers).

Anyway – one of the problems I originally had with My Library was that you could only maintain a single collection. But it seems that it’s now possible to create separate collections by tagging books in your Library onto “shelves”:

Google Books - My Library

(Shelves appeared at the start of 2010, it seems: Updated Books Home Page and My Library.)

So what immediately comes to mind is that if you’re running several courses, you could add the books used in the course to a My Library shelf, and then publish a link to a search context for that shelf to give a full text searchable version of the books on the list (assuming they’ve been scanned by the Goog, of course). Where previews are available, deep links into books will be available as part of the search results.

I haven’t really populated any shelves yet, but here’s the idea:

Google books - My library search

I haven’t explored the Book Search Data API yet, bit it does seem to offer the ability to search over a particular user’s public library, as well as retrieve lists of books from the library. API options also exist for adding books to a library, though the API seems to only support adding labels, rather than updating shelves (or maybe legacy handlers map labelled books onto shelves?). With a bit of digging, it might be possible to find a route to automate the creation of a library shelf from a list of books. (Hmmm, maybe I should try this with the OU Set books list?!;-)

Google Books shelves thus seem to provide a way of creating different lists of books within a single user library, although I’m not sure if there is a limit on the number of books contained within a shelf, or in the library as a whole. Another nice feature is that it’s possible to select a shelf based filter to just display books from a similar shelf (click on the label in the left-hand sidebar to filter by shelf); this search facet also seems to be passed through to a bookmarkable URL for the filtered search via the as_coll argument (I think?). (Which is to say: you can share a link for a search within a particular shelf in a particular user’s library.)

I’m not sure if Google Books is available through Google Apps for Education, but it could be a useful component of a full text book search context around books on a reading list?

PS As Google Scholar appears to be improving its coverage, it strikes me that the Goog still doesn’t offer a Google service for building searchable reference lists, although it does let you customise the addition of links that will bookmark a reference to a service for you:

Google scholar citation linker

Here’s how the links are displayed:

Google scholar results

Given you can build weblink search contexts using Google custom search engines, full text book search contexts using the Books My Library service, search over content from bundled feeds in Google Reader and even run things like video search by user on Youtube*, the Goog must surely be looking to offer a collection building and searching over service for Google Scholar? So I wonder… could Google end up taking over a service like CiteULike or Mendeley to complement and bootstrap personalisation of their Google Scholar offering? Or would they just build their own (cut down) version of these services?

* Hmm… I wonder if there’s a Youtube API switch that lets you search playlists? It’s definitely possible to get a playlist feed out…

PPS the Goog is also lacking a way of exposing all these personal search contexts to a logged in user through the same interface. If it were down to me, I’d start to expose them in the left hand sidebar of Google websearch, so I’m guessing this will be a labs/experimental service in the new year, if it isn’t already so…

Google search tools


Author: Tony Hirst

I'm a Senior Lecturer at The Open University, with an interest in #opendata policy and practice, as well as general web tinkering...

12 thoughts on “Google Books Library Shelves”

  1. I tried entering our Local History collection into a Google Books ‘My Library’ some time ago after reading about Wiltshire Heritage Library’s venture. The idea of a full text search of items was very attractive. After a while, I came to the conclusion that Google Books ‘My Library’ is good for short lists of recent titles with ISBNs. Your idea of using it for reading lists is a good one – and more suited to the nature of Google Books as it exists now.

    The problem is that there does not seem to be a quick way to enter a long list of titles. One can acquire a list of the appropriate ISBNs from the library catalogue, tweak the formatting, and copy it into the search box but you hit a limit of around 14 titles at a time (presumably the maximum allowed length of the search term?). So, for a long list of titles/ISBNs (we had around 700) it takes ages to enter them in groups of around 14 titles at a time. Maybe I missed something and there is a better way to import a large number of titles at once?

    If you do not have the ISBNs, or the books are published before ~1970 (and therefore are unlikely to even have ISBNs), then it is a very long job to enter titles/authors and check you have selected the correct edition of the correct item – not helped by Google’s rather slap dash handling of the bibliographic data.

    So, I never finished the job on our Local Collection…

    Tim Gray, Homerton College Library, Cambridge, UK

    1. Hi Tim,

      I think there is a GData API route for automating the addition of titles to a library, which is something I’ll try to explore over the next week or two.

      As for entering titles, etc longhand, yes, I can see that may be a problem. I wonder if the Bibliographica DB might help [ ]? Or a scrape of the catalogue that currently indexes the collection?

      PS Hmmm… maybe it would be handy to have an “Add to my Google Books library” bookmarklet or link on Library catalogue detail pages…?

  2. There is indeed a “gdata” route to add books to a shelf, we are trying it with an isbn list from our catalogue. I am finding some oddities in the process and we may hit a limit on our shelf at some point (about 2200 titles have been added so far). One particular quirk is that the “shelf” loses its name and becomes private after a few hundred additions. It is easy enough to set it back but we are tinkering with pauses after every 100 titles or so to see if it’s just a consequence of a lot of activity. If we can make the process smooth enough, we can post some code.

  3. I added a posting on our web development blog, as picked up by the trackback, and will work on a posting with more details. There is some funkiness in adding titles to a shelf that I am hoping doesn’t show up when searching the shelf repeatedly. I am hoping to get the code out next week.

    1. I look forward to seeing where you go with this… did you manage to work round the ‘shelf going private’ issue, as noted in you earlier comment?

      I really need to spend some time playing with the Books API, and maybe look for ways of hacking something together around reading lists… or maybe I should try and build an “In Our Time” bookshelf, cf. ‘BBC “In Our Time” Reading List using Linked Data’ [ ] Hmm…. :-)

  4. I don’t have a very elegant way of dealing with the shelf going private, I do a test to see if the shelf is public before adding a title. If it has gone private, I get an e-mail, and the script sleeps and checks for the shelf to be ready for additions every couple of minutes. I then log in and set the shelf public again, and the script keeps going. The API doesn’t have an explicit way of setting a shelf’s status, I suppose this could be hacked around, but I don’t want to stray outside of the API. It takes about an hour to process a 1000 titles, with a couple of pauses thrown in strategically. It took me about 2 weeks to get the first 100K done, and there was an entry for 62K of them. I didn’t, however, think to check if there was a snippet view available, which is possible with the API. My biggest headache is that I can’t set the shelf status from my cell phone, the browser on it is too weak to handle the web interaction.

  5. I have experimented with this & managed to upload ISBNs exported from a library management system. I could only import about 60 at a time and couldn’t make a shelf take more than 4500 items.

    This was a little while ago. I will have to revisit it. I found about 90% of an engineering library collection was indexed by google. A full text index of most of a library is quite useful.

    For a larger multidisciplinary academic library I found it too time consuming and too limited in size – although I am contemplating making subject collections.

    Any automation would be useful especially in managing stock turnover – acquisitions & weeding. It is more work to keep the index matching the collection.

Comments are closed.

%d bloggers like this: