I was having serious doubts that I’d find the time to put something together for Talis’s Mashing Up The Library competition. But that’s what late-nights are for, right?
Anyway, my idea was to submit a suite of Google gadgets that, even if it doesn’t win, will serve another important purpose of providing a proof-of-concept for my PatREST specification. So I’ve written four gadgets using the Google Gadgets API. These gadgets then consume the PatREST service for their data. If you’re unfamiliar with the Google gadget, they are the little customizable panels on Google’s personalized home page. This is what the page looks like with all four enabled:
Like all the other gadgets, they can be dragged around the page and individually configured. Also, you can choose which gadget to install, if you don’t want all four. They are:
- tops.xml -
- Displays the hottest items at the library. You can configure it to display books, CDs, books on CDs, or everything. You can also select the number of results you want returned. - new.xml -
- Displays the newest material at the library. You can configure it to display books, CDs, books on CDs, or everything. You can also select the number of results you want returned. - curitems.xml -
- Displays all your currently checked-out items. - holds.xml -
- Displays all your requested material.
The beauty of these gadgets is that they require no modification of the code at all in order to be used with other libraries. The catch is that the library needs to provide the PatREST API (and right now, that’s only AADL). My hope is that other libraries will see and recognize the usefulness of a patron-friendly API.
Installing the gadget is dead easy. First, you need to create an account with Google so that you can personalize the Google home page. Then, click the “Add content” button (top-left). You’ll notice a small option next to the search box, “Add by URL”. Click it, and paste in the URL of one of the XML gadget files above. If successful, you’ll see something like:
You can repeat this process for all of the gadgets, if you like. When you’re finished, go back to your personalized homepage, and configure your gadgets:
Configuring the Top Items gadget:

Configuring the Check-outs gadget. Note that you will need a special token. This is the token used to access your personal RSS feeds:

That’s it! I doubt it could be muh easier. AADL patrons can benefit from these gadgets right away. Hopefully other libraries will consider the PatREST specification, (vendors too!). Once I had done the prototyping, creating additional gadgets was very easy because of PatREST’s simplicity and accessibility.
Naturally, these XML files are released under GPL v.2. Feel free to modify and extend them as you like. I have a number of ideas that I just don’t have time for right now, but hope to add in the future.
Also, because of the quality of XML data I get out of the III system, and, what I think is a bug on Google’s end, the results occasionally do not display. Once Google clears it’s internal cache, however, things usually fix themselves. I think this little bug is out of my hands–at least until I can learn more about it.
Please use these, and enjoy them responsibly!
*** Update 8/19/2006 ***
Added subject search to the New Items gadget.
*** Update 9/1/2006 ***
Not sure why I didn’t do this before, but I added “Add to Google” buttons to the links in this post, as well as on my files page. All you need to do to use these gadgets is click on the button and confirm by clicking on “Add it now”. How’s that for simple?
















45 Comments so far
Leave a comment
Nice work John!
I’ll have to see if I can bend the “new books” one into “new knitting books” or “new vegetarian cookery books” - I suspect your new subject based API would let that work with just a little tweak to the whole thing.
By Edward Vielmetti on 08.18.06 2:26 pm | Permalink
Yes, Adding subject seaches is next.. Should be fairly simple.
By john on 08.18.06 2:32 pm | Permalink
John, is this a drupal thing or is there a possibility of releasing it as a standalone for those of us who have the XML server? Or does this use your cURLin?
By Eby on 08.18.06 4:00 pm | Permalink
Eby,
PatREST can be implemented in any way you like, as long as the XML is compliant. In our case, yes, PatREST is an instantiation of a Drupal module and a number of other supporting libraries that do the job of massaging the III output into the final output.
By john on 08.18.06 4:21 pm | Permalink
one more thought - if you have cover images you could do a little wall-of-books version of this with covers instead of titles. might be easier to grok and less scrolling, though I don’t know that for sure
By Edward Vielmetti on 08.19.06 1:06 am | Permalink
Ed,
Another feature I knew you’d want but didn’t have time to create. I think I may create a toggle on each so that the cover can be viewed or not. The problem is that there is no cover image resource for CDs and DVDs…
By john on 08.19.06 9:42 am | Permalink
[…] Held John Blyberg heeft op de valreep nog een inzending gedaan en ik kan niet anders zeggen dan dat hij wederom innovatief is geweest. De frisse wind van AADL heeft deze keer vier gadgets gemaakt in de vorm van feeds voor je gepersonaliseerde startpagina. In dit geval werken de feeds alleen voor leden van de Ann Arbor District Library, en alleen in Google Personal maar het is ongetwijfeld slechts een kleine ingreep om de API’s van Google zodanig aan te passen dat het ook werkt voor de eigen bibliotheek en bijvoorbeeld Netvibes. API staat overigens voor Application Programming Interface: dat is voor mij ook wat te technisch maar API lijkt dit jaar een magische klank te hebben. Ik blijf die term maar tegenkomen… […]
By Digital Referencework Zeeuwse Bibliotheek » Blog Archive » zbdigitaal_test on 08.20.06 3:16 pm | Permalink
hm, have you tested against Dave Pattern’s PatREST server at Huddersfield? I couldnt’ get the “new” items feed to work (he might not have that running), wondered if you two had cooperated on the UI bit of this.
By Edward Vielmetti on 08.21.06 11:37 pm | Permalink
Ed,
I don’t believe he ever implemented the new items portion of his PatREST implementation. I’ll have to ask him.. I’m not certain if he’s done much to his API since that first development push.
By john on 08.22.06 8:53 am | Permalink
[…] blyberg.net » Go-go Google Gadget! (tags: library2.0 mashup) […]
By Collum’s Column » Blog Archive » links for 2006-08-23 on 08.23.06 7:18 am | Permalink
I see you have cover images now, nice!
By Edward Vielmetti on 08.23.06 3:18 pm | Permalink
John -
Can you suggest a “subject” string that will work to get back a feed of nonfiction books? I don’t know if PatREST has a “not” or some combining operator on its search strings, though I know that the underlying system has a way to do that.
By Edward Vielmetti on 08.25.06 8:27 am | Permalink
Ed, looking at the database of new items, there is really no way to specify nonfiction. The reason being that the subject headings don’t denote nonfiction and there are no other fields that would provide that info. New items are stored in a MySQL database, ad are not queried live from the III server, which means it’s not subject to the same search parameters.
By john on 08.25.06 8:37 am | Permalink
Nicely done, John! Your post reminded me to finish up work on a Google catalog search gadget for Hennepin County Library.
See the details and a screenshot here:
http://www.hclib.org/blogs/CatalogNews.cfm?ID=158
and the xml source is here:
http://www.hclib.org/pub/GoogleCatalogSearchGadget.xml
By Glenn Peterson on 08.31.06 11:18 am | Permalink
That’s great Glenn, nice job on the module!
By john on 08.31.06 11:41 am | Permalink
[…] After reading John Blyberg’s Google Gadget post, we, the system’s dept. at KCPL, decided we liked the “Most Popular” items in your library idea. So we decided to write a web page. […]
By Collum’s Column » Blog Archive » Most Popular Items on 09.02.06 10:05 am | Permalink
[…] Go-go-google Gadget […]
By Library Tech Confidential » Blog Archive » Get your mash up on on 09.11.06 10:19 am | Permalink
[…] Second Life Library 2.0 would like to congratulate our fellow prizewinner, John Blyberg of Ann Arbor District Library who received 1st prize for his Go-Go-Google-Gadget. […]
By Alliance Library System wins 2nd Place for Mashing up the Library at InfoIsland.org on 09.11.06 3:12 pm | Permalink
[…] Keven曾经介绍过TALIS的图书馆混搭(mashup)应用竞赛,在此不再赘述。近日这一比赛结果出来了,一等奖得主是来自Ann Arbor图书馆的John Blyberg,他的应用是挺古怪的名字,叫go-go-google-gadget。借用Keven的评述是:“把借阅信息、到期信息、图书馆的借阅排行和新到图书信息做成Google个性化页面的插件(gadget)。属于客户端桌面的mashup,对于具体图书馆的读者来说是一项比较贴心的服务,有一定的代码工作,但只需要改改Blyberg的代码应该就可以了,成功与否似乎取决于图书馆自动化系统是否有“二次开发”的可能(API是否开放给图书馆)。” 来自TALIS的新闻在描述其为何得奖时引用Paul Miller的话说:“这是一个精彩的将图书馆过去紧锁着的目录中的信息开发给读者的实例,并且是让读者可以在他们熟悉且愿意花更多时间的环境中使用。”John Blyberg在Library 2.0的浪潮中也可以说是一个新浪漫的领军人物了,获得这样的奖项可能也是众望所归,虽然我本人没有仔细看过所有参赛的项目,没有资格评论。 […]
By 奇正童话 » TALIS的图书馆混搭(mashup)应用大奖开出来了 on 09.12.06 1:32 am | Permalink
[…] The ALA TechSource blog has a great posting by Teresa Koltzenburg about the “user-outreach Mecca that is the Ann Arbor District Library (AADL)” and the winner of the Talis-sponsored “Mashing Up the Library” competition - AADL’s John Blyberg (also of blyberg.net). John’s entry was the Go-Go-Google Gadget. […]
By MLC Blog » Award winning Mash Up on 09.12.06 7:48 am | Permalink
[…] Ein Beispiel wie dies aussehen kann, sieht man im Blog von Tony Hirst in dem er sich mit der Open University 2.0 beschTMftigt. Den Library Mash Up Contest hat John Blyberg mit dem GoGo Google-Gadget für die persönliche Google Start Seite gewonnen. […]
By Portale 2.0 « Bibliothek 2.0 und mehr … on 09.12.06 3:31 pm | Permalink
[…] I just read about the Talis Library Mashups Competition on EdTechPost. The winner of the mashup competition was Go Go Google gadget (!) which takes data from a library catalogue and feeds into a Google personalised home, for example your currently checked out items and the ‘hottest items’ in the catalogue. […]
By CLT » Blog Archive » Library Mashups on 09.14.06 3:23 am | Permalink
[…] Uppdate: Kolla go-go-gadget http://www.blyberg.net/2006/08/18/go-go-google-gadget/ […]
By Testa Googleś hemsida igen…. Last night Google has added the ability to add and manage tabs on your personalized home page. At the top of the page, you should see a “Add a tab” link. Clicking on that will enable you to add a tab to your on 09.17.06 1:28 am | Permalink
[…] Uppdate: Kolla go-go-gadget http://www.blyberg.net/2006/08/18/go-go-google-gadget/ […]
By Testa Googleś hemsida igen…. Last night Google has added the ability to add and manage tabs on your personalized home page. At the top of the page, you should see a “Add a tab” link. Clicking on that will enable you to add a tab to your on 09.17.06 1:44 am | Permalink
[…] At the top of the page, you should see a “Add a tab” link. Clicking on that will enable you to add a tab to your home page, helping you keep your Google home page more organized. Both Garrett Rogers and I took screen captures of our personalized home pages. Garrett added a “work” tab, I decided to add a “feeds” tab, that contains all my feeds. This can be very handy for those who are big into Google Personalized home page. […]
By Google Adds Tabs To Personalized Home Page « agrohnaut on 09.17.06 2:20 am | Permalink
[…] Kudos for the competition went to Michigan’s own John Blyberg for his last minute go-go Google Gadget. […]
By The Library Rebooted: Unwrapped » Talis Mashup Competition on 09.19.06 10:20 pm | Permalink
Hi John,
We have a bunch of JSR-168 portlets we want to wrap as Google Gadgets. The portlets allow our users to interact with our home-grown ERM and our Electronic Reserves.
My question relates to the token you mention above:
> Configuring the Check-outs gadget. Note that you will need a special token. This is the token used to access your personal RSS feeds:
We also need the user to provide a token for our gadgets. Where does the token used for the RSS feeds come from - is that a token that the user obtains from Google, or is that a token that the user obtains from your Library?
I was planning on generating and managing tokens locally for our users. Is that what you had to do? Where do your users obtain the token?
This is great - I may be looking to implement PatREST and I’ll definitly let you know how it goes.
By Elliot Metsger on 09.21.06 8:13 am | Permalink
Elliot,
The token is an MD5 hash of a combination of a users card number and their password hash. They can get that token from their account page on the library web site–the token is also used for RSS feeds of checked-out and on-hold items. Basically, it allows us to find the user in question by reconstructing the hash directly in the SQL query while maintaining a secure layer of protection. If you would like to see the code feel free to email me and I’ll send it.
By john on 09.21.06 8:48 am | Permalink
[…] blyberg.net » Go-go Google Gadget! (tags: gadget google library XML api rest bibliothèques serviceweb rss) […]
By PabloG » Blog Archive » links for 2006-09-23 on 09.22.06 8:19 pm | Permalink
John - nice work. Can be a standalone?
By SEOsnafu on 10.14.06 7:48 pm | Permalink
J’aimerai savoir si ceci est une fonctionalite du populaire logiciel Drupal ou alors y a t-il une possibilite de le developper comme un logiciel a part entiere pour ceux et celles qui utilise des serveurs XML
By Super Des on 11.03.06 11:44 am | Permalink
Hi,
If anyone needs hosting for the modules i’ve got some.
By Module Hoster on 03.25.07 11:59 pm | Permalink
[…] http://www.blyberg.net/2006/08/18/go-go-google-gadget/ […]
By Assignment 5: Mashups « Sue’s 3cst2 course on 06.18.07 5:21 pm | Permalink
how can i open google gadget ing fullscreen specially ((tranlateit))
By ibrahem on 07.22.07 2:17 am | Permalink
[…] oprogramowania PatREST stosowanego w Ann Arbor District Library. Powstały w ten sposób mashup Go-Go Google Gadget pozwala wygenerować różne informacje o księgozbiorze Biblioteki, (np. najbardziej chodliwe […]
By Mashups – przyszłość Internetu? : Biblioteka 2.0 on 08.07.07 1:49 am | Permalink
[…] Go-go-google-gadget (winner of the Talis Library Mashup Award) http://www.blyberg.net/2006/08/18/go-go-google-gadget/ […]
By Do the Mash! « Blog by Jenn (the one-half librarian)! on 10.06.07 10:10 am | Permalink
[…] Check it out! While looking through the blogosphere we stumbled on an interesting post today.Here’s a quick excerpt […]
By My Ghillie » Google library gadget on 10.18.07 4:08 pm | Permalink
[…] Check it out! While looking through the blogosphere we stumbled on an interesting post today.Here’s a quick excerpt […]
By My Ghillie » blyberg.net " Go-go Google Gadget! on 10.19.07 10:49 am | Permalink
[…] Go-Go-Google Gadget […]
By Mid City Public Library Blog » Blog Archive » Libraries Using Web 2.0 Social Tools on 11.14.07 6:52 pm | Permalink
[…] mashup list in a library Learning 2.0 program would be complete without a library mashup. Go-Go-Google Gadget is John Blyberg’s winning entry to the Talis Mashing up the Library competition: it enables […]
By Citegeist » Learning 2.0: Mashups on 02.02.08 2:44 pm | Permalink
[…] Go-go Google Gadget was created by John Blyberg for the Ann Arbor District Library. It brings together data from their online catalog and Google widgets for iGoogle. […]
By Project Play » Blog Archive » Week 10: Semester 2 on 03.17.08 6:21 am | Permalink
[…] John Blyberg is the Head of Technology and Digital Initiatives at Darien Library in Connecticut. He has created several Google gadget mashups that can be used in any library. This is from his blog: […]
By Library of Progress » Blog Archive » Library Mashups on 04.24.08 7:01 pm | Permalink
[…] Go-go Google Gadget - John Blyberg: Google gadget to be used on personal Google pages that displays the hottest items at the library, newest material, your currently checked-out items, and your requested material. […]
By Web 2.0 101: Introduction to Second Generation Web Tools » Blog Archive » Week 8 - Mashups and API - April 28 - May 1 on 04.28.08 12:06 am | Permalink
[…] of two exiting applications, then I understood. I read the post about Go-Go Google Gadget (http://www.blyberg.net/2006/08/18/go-go-google-gadget/). I had no idea there were some many things as part of Google with which to waste time - I mean to […]
By Week 8 - Mashups « Brian Finnegan’s Weblog on 05.08.08 2:08 pm | Permalink
[…] Talis sponsored a Mashing up the Library competition, won by John Blyberg in September 2006 for his Go-Go Google Gadgets developed for Ann Arbor District Library. His winning entry consisted of four Google Gadgets that […]
By Mapping and Mashups in Libraries and Literature « Meandering Melbourne Musings on 08.04.08 8:08 pm | Permalink
Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>