Monday, November 30, 2009

Programming Skills Recommended for Librarians

There's an article by David Stuart in the latest issue of Research Information entitled: "Research Skills could Transform Librarians Roles". Because someone tagged it "code4lib" in delicious , the citation showed up in Planet Code4Lib. I was happy to discover it there since it helps me understand my own growing enthusiasm for programming. The reality today is that most people search for information on the web and most are satisfied with 'good enough' results rather than 'most authoritative' results.  No need for librarians in this scenario. For research purposes, though, 'good enough' is often not good enough. In an age of inoformation superabundance, separating the wheat from the chaff (or what librarians call'selecting') may be more important than ever. At the very least we can help our readers make this distinction for themselves by designing transparent, user-friendly research portals.. Stuart points out that while the traditional document-centered work of librarians is disappearing there's a growing need to help make sense of vast amounts of digital information published on the Web. Getting programming skills in the hands of librarians can help. APIs makes it easier than ever to create mashups of web content from debatable sources like Wikipedia as well as more traditional sources like the New York Times. While it is preferable in the long-run to harness APIs through a programming langauge like Java or PHP, there's a lot one can do with freely-available mashup editors like  Yahoo! Pipes and Openkapow, along with open data sources like those tracked in

Here at Yale, Yufind is using the Amazon, Google, xISBN, and Wikipedia APIs, plugged in mostly through PHP scripts. After reclamation with OCLC, we'll probably add the WorldCat Search API which should help display Yale's holdings alongside those held by peer institutions.  While APIs allow us to integrate a host of data sources into our web applications, some of the most important data sources are necessarily firewalled. For example, we might want to use circulation statistics at some point to support a recommendations engine (e.g., '90% of people who read this book have also read the following'). Because we have access to these data, and because we understand local user needs, librarians are well placed to integrate them into new discovery tools. And programming knowledge can help make happen a lot more quickly.


  1. Daniel,

    Thanks for the post. I'd not have seen this otherwise. 2 questions. 1. How do we as individuals act on Stuart's suggestion to begin the learning curve? 2. How can we institutionalize this in our team, our dept. and at YUL? Is there a common projet we can work on that would answer both questions? Is Yufind that project?


  2. Hi Matthew. Thanks for your comment. I hope my sub-comment makes its way back to you. Stuart seems to think a good place to start is Yahoo Pipes, since it lets you mash up web content without knowing a programming language. I'm not sure the best way to integrate the learning process within our unit and department. I know that Yufind has helped me better appreciate computer programming and develop some skills in that area, but I realize that not everyone has found a niche in that project. It's possible to do customized programming in SharePoint, and the new programmer in WSG has offered to help people with this. If we end up switching to Drupal at some point (or use it just on our team), I think there's a software development kit that helps people learn how to create their own custom modules. I realize your question deserves a much longer answer though.