
Working on it... please be patient... fetching data now...
Pipes is processing the MOSAIC feed...
I think...
It should be finding books related to this course...
And other courses related to those books..
Which is why it's taking some time...
Especially if there are lots of books associated with the course...
Or lots of other courses associated with the books...
Nearly there...
Any second now...
Come on Yahoo Pipes... I'm waiting...
Hmmm...
Maybe you should reload...? or try a different course code...?
The page builds on a couple of tricks that have been previously published on the web: First Dabblings With @daveyp's MOSAIC Library Competition Data API and People Who Referred To This Book Were Taking This Course.
As a starting point, I looked at this Books on courses pipe (which grabs a list of books associated with a particular course code from the MOSAIC API) and this MOSAIC LIbrary lookup by ISBN pipe (which grabs a list of courses associated with a particular book, as keyed by an ISBN10, from the MOSAIC API) and came up with a hybrid pipe (MOSAIC Data: Books on a course, with related courses) that:
The output of the pipe is pulled into this page as a JSON feed, and the data from it is used to populate the page.
The first column in the table simply displays the title of each book associated with the specified course code.
The book cover is pulled in from... Worldcat, I think..., keyed by ISBN10 (maybe there are licensing issues involved..?) The preview link pops up a preview of the book in a shadowbox, if available, or failing that a link to the generic book info page on Google Books. (Close the shadowbox using the X on the bottom right of the Shadowbox view.) For a demo of the embedded preview effect, try this example book preview. It should be possible to handle the previewer using code within this page, but I ran out of time, so resorted to using a helper page (e.g. http://ouseful.open.ac.uk/gbookIframeEmbed.php?isbn=159059858X). The lightbox code is from Shadowbox.js.
The Amazon info (the 'first' listed Amazon review for the book) is pulled in from the Amazon mobile site via a Yahoo pipe. (The Amazon URIs I use look something like http://www.amazon.co.uk/gp/aw/d.html/?a=ISBN10&er=1) Since Amazon started requiring API requests to be signed, it's made quick hacks difficult; the next quickest thing is to scrape the mobile site, which is what I've done here. A regular expression in the page rewrites the Amazon mobile URIs to the normal web URIs.
The course info columns shows info for courses that are also associated with the book; because not enough people in HE appear to care about URIs and "pivot data", we often can't just take a course code and create a URI that links to a corresponding course description, In the short term, I pivot back to this page, so you can see what other books are asociated with the specified course. And as a hack, I munge together a Google search query that at least tries to track the course down based on course code and HEI name (e.g. http://www.google.com/search?q=BSc%28H%29+Computer+Games+Programming+%22University+of+Huddersfield%22). Many of the results are to timed out UCAS searches though. It also amuses me that for some HEIs, searching their public site with the course code turns up no results. Zero. Zilch. None.
Finally, the bookmarklet. That's just reuse again of a bookmarklet published in First Dabblings With @daveyp's MOSAIC Library Competition Data API.
There are a couple of obvious extensions to make that would be trivial if websites had been designed with tinkering in mind.
For example, if UCAS had a sessionless RESTful search URI structure it would be easy enough to provide a link to search the UCAS site by course code. As it is, the UCAS site has session variables in the URI, and I can't be bothered to hack the handshake...
For some time, an XML standard for sharing course related marketing information has been proposed (XCRI). If UK HEIs could get their act together to: a) publish this data; b) ideally using a common URI pattern; it would be relatively easy to add a link to the course info, or pull it directly into this page. I have exposed course codes in the "Other Courses" column, but can't trivially use these codes to republish, or even link to, course info. Which is why they link back here.
I was hoping to produce a complementary page that would take an ISBN and create a similar view (using a pipe to look for related courses, and then annotating those courses with related books) but I ran out of time. (I also thought it might be interesting to be able to toggle views - e.g. look down a list of books for a course, or switch to a view that displays courses related to a particular book.)