new API from OpenLibrary

Great to see that OpenLibrary (“One web page for every book”) now has an API!
There’s an interesting debate going on via the Code4Lib email list regarding the API. Specifically, should they have used SRU or is exposing a simple API better? Personally, I’m all for simple APIs that non-library techies can pick up and run with.
I’ve worked as a developer in libraries now for nearly 14 years and I’ve never used (or even seriously looked at) SRU. When I read the specification, I can feel my eyes begin to slowly glaze over! Perhaps this is just because I cut my teeth writing EDI processing software in COBOL and I’ve always suspected that people who develop specifications for use in libraries (e.g. Edifact, Z39.50, MARC, etc) are all a bunch of masochists ๐Ÿ˜‰

Scrum and Agile

I’m sure many SirsiDynix customers remember the terms “Scrum” and “Agile” being bandied around a few years ago during the development of Horizon 8.0. What I don’t remember being as widely reported at the time was that half of the developers were based in Russia (the other half were based in Provo, USA).
Anyway, the Google Blogsearch RSS feed for SirsiDynix threw up an interesting blog post last week: “Managing Offshore Software Projects“.

This project distributed Scrum teams so that half of each team was in the United States at SirsiDynix and the other half of each team was at Exigen Services in St. Petersburg, Russia. It showed how to set up distributed/outsourced teams to achieve both linear scalability of teams on a large project and distributed velocity of each team the same as the velocity of a small colocated team.
This project is still generating controversy in the Agile community by showing that you can run distributed high performance Scrums. There were quality problems on this project that caused some in the Agile community to discount the remarkable results and argue that it could not be repeated successfully.

I guess whatever your thoughts about Jack Blount and Horizon 8 are (or were), it certainly seems he knew what he has doing!
Whilst I’m thinking about Jack, I’d like to offer my sincere condolences to the Blount family for their recent loss.

decorative tag cloud

It’s not often that I’d consider adding pure “eye candy” to the OPAC, but I couldn’t decide what would be the best way of making this tag cloud functional. So, I made an executive decision and decided it shouldn’t be functional ๐Ÿ˜€
If you run a keyword search on our OPAC, at the foot of the page you should see a keyword cloud (it might take a few seconds to appear). The cloud is generated from previous keyword searches used on our OPAC. Here’s the one for “library“…
tagcloud1
For multi-keyword searches, an electronic coin is tossed and you either get a cloud of the union or the intersection of your keywords. The former uses previous searches that contain any of the keywords, and the later is only those that contain all of them (if that makes sense!)
As it’s not functional, the cloud is just a decorative window into the hive mind of our users.
I’m interested to hear what you think — should the cloud be functional, or does it work as just “eye candy”?

Tweet Clouds

I have a confession to make — I grew bored of Twitter after a couple of days.
However, I felt obliged to keep on Twittering something… anything… so I hooked our OPAC into the feed instead. Every 5 minutes, a bit of code checks to see what the most popular keyword(s) used on our OPAC has been recently and, if it’s different to the last run, it fires it off to Twitter. I was so lazy, I didn’t even bother filtering out stopwords.
The result is an eclectic mix of words that encapsulate our student’s usage of the library catalogue — little snapshots of what was important to a bunch of students (or perhaps one particular determined student). Topics meander semi-randomly, occasionally repeating at unusual intervals.
Sometimes, there’s not a single popular keyword, but several. Sometimes the multiple words make sense, other times they create weird phrases…

  • british genetics music
  • angina attachment theatre
  • education picasso sex
  • rape skills study

Anyway, a few days ago I spotted Tweet Clouds and decided to see what it made of my feed…
tweetcloud
http://www.tweetclouds.com/user_pages/daveyp.html
…and here’s a cloud I made back in December 2006
opacsearches
I must admit, I feel kinda guilty that I ate up 23 minutes of CPU time on the Tweet Cloud site :-S

Another one bites the dust — RIP SirsiDynix EPS Rooms

Wow — looks like another flagship SirsiDynix product has been shelved. According to reports from attendees at the SuperConference, the company is dropping Stephen Abram‘s beloved EPS Rooms product. Never mind, “shift happens“.
At the conference, the company also announced their version of Primo/Encore (branded “Enterprise”). Curiously, this will be a SaaS only offering. RSS feeds, tagging, user reviews, and ratings are earmarked for version 3 of the product (due around 2010). All I can say is that I’m glad we took the decision to implement these features ourselves, rather than waiting for our vendor to do it for us :-S
Edit — looks like some customers have come away from SuperConference without the foggiest idea of what the product road map is, so I’m happy to wait for clarification from SirsiDynix of their new products, and rumours of EPS’s death have been greatly exaggerated (by me).

Edit #2 — Sorry Stephen, as far as I can tell, it looks like the customer reports were indeed correct. There’s no “end of life” for EPS (in the same way that there’s no “end of life” for Horizon or Dynix Classic) and apologies if the original post implied that there was, but future product development will see the Rooms concept moving into the new Enterprise product.

Congratulations “City of God” DVD!

Sitting in the Short Loan collection in the main library at the University of Huddersfield, it doesn’t really stand out as been any different to the other DVDs near it, but our copy of “City of God” is officially the most borrowed item from our entire collection (which is nearly 400,000 items) in the last 3 years.
It’s not quite as popular as it once was (the number of loans in 2007 was about half of the 2005 figure), but it’s now been borrowed 157 times since it first arrived here in 2004.
The most borrowed book was one of the copies of “Research methods for business students“, which has now been borrowed 118 times since it was first placed on our shelves.
Anyway, if you were thinking of rushing here to borrow “City of God”, sorry — it’s out on loan at the moment ๐Ÿ™‚
cityofgod
(if you were wondering, then “yes, that’s a Google Chart“)

Ooops – did I just delete the LMS database?

I’m always wary of doing bulk changes to the bibliographic records via SQL, so I tend to be fairly cautious.
Anyway, we’d got nearly 100,000 bib records that need rejiggering (ISBN in the wrong field), so I knocked up a Perl script to do the deed. After it had changed a few hundred records, I connected to the database and ran the following SQL…
set rowcount 10
select * from bib where tag = “011”

The last thing I want to do is pull back everything with a 011 tag, so the “set rowcount” ensures only the first 10 results are returned. The output looks good, so I decide to check the size of the transaction log…
sp_dbspace
We use Sybase and that command shows the size of the main LMS database and the transaction log. The transaction log size looks fine and I minimise the window. However, my subconscious shouts out “something’s wrong!”, so I maximise the SQL window and look at the output again…
name: horizon
data MB: 5500.00
used MB: 54.68
percent: 0.99%
log MB: 300.00
log used MB: 88.40
log pct: 29.47%

My eyes automatically jump to the end of the output: “So, the transaction log is 29.47% full… that’s nothing to worry about…”
My eyes then wander up and my brain takes about 2 seconds to spot what’s really wrong — our entire LMS database is just 54.68MB!!! “That can’t be right… it should be at least 4,800MB!!!”
The colour drains from my face as the possibility that one of the SQL commands in my Perl script has nuked our entire database enters my mind. I sit motionless in my chair waiting for the inevitable phone call from a member of staff: “Dave… is there something wrong with Horizon?”
Then, in the space of about 30 seconds, I go through all seven stages of grief…
1) shock (“I can’t believe this has happened”)
2) denial (“maybe someone else did it?”)
3) bargaining (“I wonder if I can bribe someone else to take the blame?”)
4) guilt (“OMG — IT’S ALL MY FAULT!!!”)
5) anger (“damn it — this didn’t happen when I ran the script on the test database!”)
6) depression (“this won’t sound good when I apply for a new job and they asked me why I was fired from my previous job”)
7) acceptance and hope (“the time is right for a major career change”)
…so, can anyone guess what happened next?

Spot the difference

Here’s a recent statement from SirsiDynix

โ€œThe Horizon 7.4.1 and HIP 3.09/4.13 releases are clear evidence that SirsiDynix remains committed to the Horizon platform,โ€ said Gary Rautenstrauch, SirsiDynix CEO. โ€œWhile SirsiDynix Symphony is our flagship platform for the future, SirsiDynix will continue to upgrade the Horizon platform for the next four to six years. โ€œThis commitment to our worldwide customer base is important to us, and we will keep it,โ€ said Rautenstrauch.
(original PDF dated 11/Jan/2008)

…and here’s one that’s just been sent to all UK customers…

You may be aware that there has been a recent announcement about the general availability of Horizon 7.4.1 and HIP 3.09. SirsiDynix International has seriously considered the option of taking this release and including the various localizations into it. However, at this time we have decided that we cannot commit to the amount of work necessary on an International basis.

Clearly the commitment to the non-US customer base is important to the company, but just not that important.
Come on SirsiDynix, please try and do something to prove Scribe wasn’t right!