Just over a month ago, the OU web team released a “Fact of the Day” Google gadget that publishes an interesting fact from an OpenLearn course once a day, along with a link to the OpenLearn course that it came from.
(By the by, compare the offical press release with Laura’s post…)
The OU Library just announced a couple of OU Library iGoogle gadgets too (though I think they have been around for some time…)…
…but whereas the Fact of the Day widget is pretty neat, err, erm, err…
Here’s the new books widget. The Library produces an RSS feed of new books for a whole host of different topic areas. So you can pick your topic and view the new book titles in a gadget on your Google personal page, right…?
Err – well, you can pick a topic area from the gadget…
…and when you click “Go” you’re taken to the Library web page listing the new books for that topic area in a new tab…
Hmmm…
[Lots of stuff deleted about broken code that gives more or less blank pages when you click through on “Art History” at least; HTTP POST rather than GET (I don’t want to have to header trace to debug their crappy code) etc etc]
I have to admit I’m a little confused as to who would want to work this way… All the gadget does is give you lots of bookmarks to other pages. It’s not regularly (not ever) bringing any content to me that I can consume within my Google personal page environment… (That said, it’s probably typical of the sort of widget I developed when I first started thinking about such things…and before lots of AJAX toolkits were around…)
This could be so, so much better… For a start, much simpler, and probably more relevant…
For example, given a feed URL, you can construct another URL that will add the feed to your iGoogle page.
Given a URL like this:
http://voyager.open.ac.uk/rss/compscience.xml
just do this:
http://fusion.google.com/add?feedurl=http://voyager.open.ac.uk/rss/compscience.xml
which takes you to a page like this:
where you can get a widget like this:
Personally, I’d do something about the feed title…
It’s not too hard to write a branded widget that will display the feed contents, or maybe a more elaborate one that will pull in book covers.
For example, here’s an old old old old example of an alternative display – a carousel (described here, in a post from two years ago: Displaying New Library Books):
Admittedly, you’re faced with the issue of how to make the URLs known to the user. But you could generate a URL from a form on th Library gadget page, and assign it to an “add to Google” image button easily enough.
And the other widget – the Library catalogue search…?
Let’s just say that in the same way as the ‘new books’ widget is really just a list of links hidden in a drop down box, so the catalogue search tool is actually just a redirecting search box. Run a query and you’re sent to the Voyager catalogue search results page, rather than having the results pulled back to you in the gadget on the Google personal page.
(I know, a lot of search widgets are like that (I’ve done more than a few myself in years gone by), but things have moved on and I think I’d really expect the results to be pulled back into the widget nowadays…)
PS okay, I’m being harsh, it’s been a long crappy day, I maybe shouldn’t post this… maybe the widgets will get loads of installs, and loads of traffic going to the Library site… I wonder if they’re checking the web stats to see, maybe because they found out how to add Google Analytics tracking to a Google gadget? And I wonder what success/failure metrics they’re using?
PPS okay, okay – I apologise for the above post, Library folks. The widgets are a good effort – keep up the good work. I’ll be interested to see how you iterate the design of these widgets over the next few weeks, and what new wonders you have in store for us all… :-) Have a think about how users might actually use these widgets, and have a look at whether it may be appropriate to pull content back into the widget using an AJAX call, rather than sending the user away from their personal page to a Library web page. If you can find any users, ask them what they think, and how they’re using the widget. Use web stats/analytics to confirm (or deny) what they’re saying (users lie… ;-). And keep trying stuff out… my machine is littered with dead code and my Google personal page covered in broken and unusable widgets that I’ve built myself. Evolution requires failure…and continual reinvention ;-)
you nasty, nasty man. This stuff is cutting edge. What we also need at the OU is blogs, wikis, video, rss, xml and lots more web 2.0. We need more flickr, delicious and open sourcing. All built with ruby or python. Can you do that? Great. Now what we need is more gradients, bevels, shadows and big text! Crack on, yes? We are so ahead of our time. Just check http://open.ac.uk oh, wait. Oops..
I like the post and will study some of the stuff more the next days, but I’d like to share one way of possible tracking of use.
I have added the google analytics code into a widget, and added that to one of my Netvibes Universes (Public Pages).
If you create your own widgets and submit them to Netvibes or widgetbox, you need to host them somewhere as xml or html page. Would it work if you just enter the code into that page file(“the source”)?
regards,
Guus
I’ll try and remember to round up other Library gadgets, from the OU and elsewhere, as comments to this post (I really need to get round to making a linkback bookmarklet: http://ouseful.open.ac.uk/blogarchive/014458.html )
Here’s a general link: http://www.google.co.uk/ig/directory?q=University+library
It’d be good to see a review post of all these somewhere… ;-)
I’ve been trying to think what a useful Library widget might be…?
For local users, one may be a “My Holdings” widget?
There used to be a couple of feeds around that would be relevant to this:
– My current loans:
http://library2.open.ac.uk/rss/rss_patron_details.php?l_name=XXXX&barcode=NNNNN
– My overdue (and recalled?) books:
http://library2.open.ac.uk/rss/rss_overdue.php?l_name=blah&barcode;=blah
If they still exist, it’d be easy enough to use a blend of those (or a more comprehensive feed) to give us colour coded “holdings status” for the books you have out, with overdue books prominently highlighted.
It’d also be handy to pull in a feed of books someone has on order in, showing when they’re available?
New books info could be pulled into the widget based on similarity between the new book and the books the user has previously taken out (will the Library website show me a list of the books I’ve previously borrowed (“My Borrowing History”) I wonder?)
(It’s my personal opinion that Library’s should be getting into the personalised content recommendation business…)
Sort of related, I’m not sure what happened to the OU Library Traveller script: http://ouseful.open.ac.uk/blogarchive/008658.html (or whether it’s rotted by now – certainly, I haven’t maintained it… I seem to think it may have used an early (now retired) Amazon API?)
“I’ll try and remember to round up other Library gadgets, from the OU and elsewhere … It’d be good to see a review post of all these somewhere… ;-)”
Like this one, based on research done 6 months or so ago and just posted yesterday ;-)
http://annegambles.wordpress.com/2008/09/11/library-related-apps-in-igoogle/
@guus/digicmb
“If you create your own widgets and submit them to Netvibes or widgetbox, you need to host them somewhere as xml or html page. Would it work if you just enter the code into that page file(”the source”)?”
If the page file HTML allows javascript, (i.e. the widget runner is happy running vanilla javascript), I’d agree that you should be able to add a GA tracking script in the normal way (though I haven’t tested it).
If the widget framework runs the widget code in its own frame, there should be no problem… If the widget runner is more elaborate, and maybe even runs the widget on a page where there is already GA tracking running, I think you can hack your own tracking in too (via http://www.google.com/analytics/GATCmigrationguide.pdf ):
<script type=”text/javascript”>
var firstTracker = _gat._getTracker(“UA-12345-1”);
firstTracker._initData();
firstTracker._trackPageview();
var secondTracker = _gat._getTracker(“UA-67890-1”);
secondTracker._initData();
secondTracker._trackPageview();
</script>