Overcoming the “Tech Deficit” (and helping others to)

Since library camp, I've been pondering the plight of "tech-depressed" libraries--that is, libraries that don't have at their disposal either the staffing or the equipment to provide the services they would like. The problem is not so much purchasing software, since almost all of the good software is free. Open source, for instance, doesn't cost a penny in licensing fees, but it does require expertise, experience, and finesse to mold it into an implementation of your vision...

...Which leads me to believe that envisioning the future of tech in libraries requires someone who is passionate about technology and all the great things it can do. In fact, without that one person, or those few people who create the impetus, a library is often left doing things like foisting their website development off on someone who once experimented with exporting word documents to HTML back in the nineties. But what if your small, tech-starved library does have someone who is raring to launch headlong into a project like the dreaded website redesign? Say you are that person and you've scrounged up enough money to buy a decent new server, the box arrives and it's sitting in your office. How do you get from point A (server in a box) to point B (a bangin' new website with all the bells and whistles you want) if you don't even know which operating system should go on the server?

Step 1: Take the server out of the box ..

Ok, so that's actually not what this post is about--I'll be writing in much more detail about website redesign over the course of this year. No, The point I'm trying to make is that you may be an extremely motivated staffer, but if you're not technically a techie, you're bound to run in to situations where you don't know where to begin and the idea of putting together a critical path completely overwhelms you. Where do you turn? There is some measure of relief available now if you know where to look, but ultimately that expertise needs to come from another library. That means that the more fiscally-fortunate libraries need to decide whether they are going to commit to being a resource for the larger library community. If so, how would that even look?

Paying it forward

We talked about the notion of "paying it forward" at some length during one of the sessions at Library Camp. One individual, Sean Robinson, has put together a wiki where willing parties can sign up, offering their expertise and services to other libraries. The caveat is that if you take advantage of another person's willingness to help, you, in turn, need to make yourself available to help someone else.

I think this is a great idea that may very well help a lot of people, though it does have some drawbacks. For instance, while I have volunteered my time and services on his wiki, I'm generally very busy and may not have time to help someone when they need help. There is also no assurance of the quality of information and help you'll receive. In addition, while Sean has started a wiki (which is a very nice gesture on his part, and I encourage other to participate), if a service like this grows, a fair amount of thought would need to be put in to developing a database and interface that would make accessing the right expertise fairly intuitive. Who knows, it might look like eHarmony for library geeks!

Officially adopt and open-source agenda

If you have coders in your library, make your administration familiar with open source. Make sharing your code official policy so that when you have written something useful that may benefit the larger library community, you can immediately release it without seeking approval. Know what type of license you'll release it under. Will you use GPL, Creative Commons? You'll also want to ensure that your vendor will not have a problem with you exposing their "process" via code.

Implement this process technically--set up a process through which new and updated products can be released to the public and current users can be notified of bug-fixes, vulnerabilities, etc. In my case, I use this blog to release potions of code and make a post whenever I do an update. Your library could do something as simple as making your CVS or SVN repositories available (CVS and SVN are open-sourced (of course) version control packages--I'll be talking more about those in the future).

Coding for everyone

If your library commits to distributing code for general consumption, the next logical step is to look at how your coders are coding. Does their product stand alone? Can it be ported easily to another organization? Are software libraries modular enough so that another library could start coding with them right away?

If not, then you may want to change your programming style. Write completely object-oriented software. This has many advantages not only in terms of making software reusable in other organizations, but you can reuse the code in-house as well, saving critical development time that may otherwise be spent duplicating work. Of course, most experienced programmers know this, though even the best coders can let bad habits slip in that will tax portability.

Devote resources to open source projects

Consider allocating a portion of your staff's time to contributing to open source projects. There are, literally, millions of projects out there and perhaps thousands that are pertinent to a library setting. If you're using a piece of software, consider giving a little something back. In addition to lending support to an all-volunteer community, you'll be helping to improve the tools we can all make use of.

Public documentation

Be sure to document both successes and failures diligently. This makes sense not only for future reference in-house, but when made publicly available, those notes can be a valuable resource to others. As libraries, we should be no stranger to maintaining documentation. Of course it's a matter of training yourself to write documentation on a daily basis--In IT, we're all busy and we all know that documentation is the first thing to slip off the table. Also, some details are sensitive, so you'll need to know which notes to make available and which ones to place under access control.

The point is that if we maintain a good working record of how we've done what we've done, whether it be in a blog, wiki, or even word files, we can point to it later when someone comes to us and asks, "how did you do that?" From experience, I can say that no matter how much time you spend on a project, if you walk away from it for a few months, it becomes very hard to recall specific details. Write it down clearly and concisely.

Tech "tracks" at conferences

I would like to see a "tech track" added to many of the larger library conferences. For instance, ALA could have a series of presentations that are geared toward the more technical crowd. Unless you're attending a self-proclaimed geek-fest like code4lib, the "tech speak" in most presentations needs to be watered down such that it's not very helpful for those who need to move on to the next level. Those are the individuals who are stuck in that frustrating nether region between power-user and full-blown geekdom.

A tech track could cover topics such as best practices for deploying Linux in libraries, how to use squid and dansguardian to provide both filtered and unfiltered browsing, using iptables to create a secure computing environment, an introduction to flash and amfphp, Subversion and CVS for version control. There is a lot of great material in that strata that doesn't see the light of day at conferences because it's too technical for the organizers. I believe a good number of conference-goers would be interested and could handle the elevated level of technical difficulty.

Co-ops & consortiums

If libraries can pool their resources to build an inter-library loan solution, can they not do the same with IT? For example, couldn't five or six small libraries get together and agree to co-locate a server or a set of servers? A co-op could even share expertise in a much more formal arrangement where response times are more predictable. The cost would be a fraction of what it would be to pay for those services outright. This would take a significant amount of planning and developing up front, but the payoff would be huge for a group of small, tech-deprived libraries libraries.

Reallocating resources

Of course, I've talked about this before, but I'll say it again. The 21st century library faces an entirely new set of challenges that can only be addressed through the judicious use of technology. As such, the planners and budgeteers need to make some decisions as to where money is spent. Maybe less needs to be spent on material (gasp!) one year so that it can be spent on technology. Look at where your patrons are spending their time, get a sense of what they want and need. It may be that your community is happy with what you're doing, or it may be underwhelmed by what you're not. As always, identifying what they want should drive spending, it shouldn't be the other way around, where patrons are forced to use what we've spent money on.

Long-term planning

I was interested to hear from one individual at Library Camp who was in the middle of a strategic planning initiative. I was thrilled by the fact that she had come to the event as a way to help her hash out some of the ideas she and her institution were working with as they plugged away at their planning. Radical new ideas are the cornerstone of long-term planning. A willingness to change and adapt to technology is another, so when it comes time to map out the next ten years of library service, there should be a recognition that technology is playing an ever increasing role in our institutions, as well as a commitment to ensuring a place for it on the mantle of public service.

Libraries as family

If we were like our profit-seeking commercial counterparts--not charged with the noble mission of preserving and promoting knowledge and thought, the very idea of sharing our successes with one-another would seem ludicrous. One of the reasons I love working in a library is because of that mission and because the ultimate goal is not to hoard, but to share--an act that can often times be completely counter-intuitive to human nature. But we can reach out to each other and extend ourselves using the full measure of our humanity because, in the end, we are all one library, just as brothers and sisters are all one family. Family takes care of its own--no other public institution is quite like us which is why we'll always help out another member whether they've found themselves stumped in a technological quagmire or ravaged by flood.

[update]
After publishing this post, I received an email from Glenn Peterson of Hennepin Public Library. He's just completed work on a new site called EngagedPatrons ... not to be confused with a service for soon-to-be betrothed library users, EngagedPatrons strives to assist qualifying libraries meet some of their online goals. From the site:

We provide website services for public libraries. We enable you to offer your users a more engaging and interactive web presence. EngagedPatrons.org (EP) services fit seamlessly into your existing web site. To your users, it appears they have never left your site!

Be sure to check out the FAQ as well as it fills in some of the interesting details about how the service works.

Fantastic work, Glenn! This is exactly what I'm talking about when I say libraries take care of each other.
[/update]

ALA wants you for library innovation!

What do you get when you cross a handful of highly talented individuals, an exciting new library movement, ALA and blogs? Well, the Library 2.0 Innovation Boot Camp, of course!

I can't tell you how impressed I am at this course and the people who have, obviously, dedicated a great deal of their time and effort to it.

But, what is it, exactly? Kathleen Gilroy writes:

We are using a new model for delivering this program that is very different from other e-learning programs you may have joined. In the traditional model you have a course management system where all of your activities take place. In the traditional model, all of the activities and your participation in the course is highly structured within this typically closed and proprietary system.

In this program you will be participating in a Learning Network. This Learning Network can be thought of as an online platform with a constantly changing structure built by distributed, autonomous, and largely self-interested peers. On this platform we will build this course collectively. We will all be using blogs and podcasts to create content. Links and tags will knit this content together. And search and RSS will make the content visible and navigable and help you stay on top of it all.

Having just participated in HigherEd BlogCon 2006, I'm beginning to build a stronger appreciation for this online format and exchange of ideas. I truly hope people take advantage of this "Boot Camp" because these opportunities don't come along very often. This type of hands-on experience is exactly what library professionals need to become familiar and comfortable with L2 concepts. Short of visiting every library in the country (and beyond), this is the best way of getting these tools out from behind the glass and into the hands of willing staffers.

Also, Jenny Levine and Michael Stephens have put together a fantastic reading list for the course on Squidoo--an interesting Web 2.0 tool that creates topical 'lenses' to be shared, discussed, and built-upon in typical 2.0 fashion. Be sure to check it out. There's a good blend of both old and new material in there. What I really like about using tools like Squidoo for a project like this is that I can very easily point others to it as a starting point for their journey 2.0.

Library Camp ‘06: a brain-dump

We couldn't have asked for a better group of people at the 2006 Library Camp, last Friday. Many of the attendees were from in-state, but several logged a good number of travel hours to get here. It was for those, especially, that I was nervous, hoping that the format would yield some discussion worthy of their troubles. It did, and I had a great time.

I apologize in advance that I'm leaving out a lot of (probably important) detail in this post. During the talks, I chose to put my laptop away and not take notes--I wanted to be as engaged as possible. My mind is not exactly clear at this moment, either. The time between then and now has consisted of Easter preparations, Easter itself and the wholesale carnage that ensues when a two, five, and seven year old are all in various stages of a candy binge.

Getting Started

Friday morning began with coffee and bagels (thank-you Talis!) and a short meeting to put together the agenda for the day. As an open space event, this meant that the attendees themselves were responsible for the day. As we went through introductions, I jotted down some of the topics people were throwing out which generally came in the form of specific ideas or reasons for attending:

  • How to get buy-in for new ideas.
  • Gaming in libraries.
  • Integrating searches. (Don't remember the specifics on this one)
  • Personal digital asset management.
  • How do we make it easier to find info/material?
  • How can L2 make patrons happier?
  • Disconnect between techies and non-techies (this is a big one)
  • Web 2.0: where to go to now?
  • If you build it, how do you get them to come?
  • How to combine new technologies with the OPAC
  • How do we make the OPAC better?
  • How do we get the library out of the library?
  • Which tools are other people using?
  • Just attending to spy on us!
  • How should libraries handle emerging technologies?
  • Strategic planning? What should we be planning for?
  • Alternative methods of circing material.
  • Getting user feedback.
  • How do we measure success?
  • When explaining web 2.0, how do you answer "So what?"
  • Just plain curious.

From the final schedule, you can get a general sense of which topics were hot. Feeling a little like a kid in a candy store after this exercise, I took part in the two "Bridging the Gap" sessions.

Bridging the Gap

The title "Bridging the Gap" hearkens back to a blog post of mine about some of the deep divisions between tech and non-tech staff in libraries. Priming this discussion took very little effort, because it seemed to be something that resonates strongly on both sides of the aisle. The group's numbers favored the techies (and, as I sometimes find, the techie non-techies or non-techie techies) but the discussion did not turn into a gripe session, as I had feared it might, rather a very candid discussion about where problems exist in our organizations and how to address them. A number of people had some very good things to say here and the time quickly slipped by.

There is a level of miscommunication and mistrust that seems to have saturated the relationship between library and IT staff. Many veteran librarians feel threatened by technology because they are not as adept at incorporating it into their profession as their greener counterparts. This feeling is entirely understandable. In fact, one library's approach was to ask existing managers if they were comfortable, willing, and able to facilitate the appropriation of emerging technologies. If they were not, then their position would be redefined. In other words, someone else would take their leadership position. While my initial reaction was to think this policy was harsh, I have to wonder whether protecting people's egos is worth sacrificing innovation.

Another participant has put a great deal of thought and effort into making the IT staff/rest-of-the-library relationship work. (I think it was Sean Robinson, Information Technology Manager for Allen County Public Library in Fort Wayne, IN) His approach was to radically transform the IT department in such a way that customer service became the modus operandi. By instilling simple policies like, "answer the phone with a smile on your face" to broader, more radical attitudes, such as "always say yes", he has been able to earn back a good measure of trust from his users. How did he find out what was bothering them? He sent out an anonymous survey via HR asking staff what they hated most about IT. Among answers like, "you never return my calls", or "it takes you forever to fix my problem", was a very interesting comment, "You guys have all the control". Even though it makes perfect sense, I had never really thought about the fact that we could be perceived that way--it's a completely valid observation. In many ways, IT departments do have "all the control". It stands to reason, then, that finding ways to put control back in the hands of staff can help to alleviate the problem. The "always say yes" policy is part of that initiative. My feeling is that, instead of blindly saying "yes", however, we can work together to achieve a shared vision. By improving communication, we can improve service through the combining of ideas, alternatives, and possibilities.

The second part of the discussion focused on technology and the patron. We talked a little about the OPAC here, knowing that another session was forthcoming on the very topic. The general feeling was that many of our OPACs simply do not return friendly results. One comment was made along the lines of, "patrons shouldn't need to be a librarian to search the catalog". I feel very strongly about this as well. A great example is the fact that most author searches require last-name first. Someone mentioned that they wanted Amazon or Google-type searches that would do spell-checking and suggest alternatives.

On the matter of getting technical expertise into libraries, Sean Robinson posed another good idea--that libraries "pay it forward". In other words, if one library has the expertise to accomplish something, then they could help another library complete the same with with the expectation that the second library would, in turn, help out another. I thought this was an incredibly inspired notion, and completely doable! I'll be the first to volunteer...

Low-hanging OPAC fruit

A discussion about OPACs doesn't take long to turn into a vendor-roast. Admittedly, there was a little of that going on here--mostly for the usual reasons, all completely valid. From an academic standpoint, access to research databases is also in need of attention. My thought was that, technically, the two things hampering innovation the most at this point are 1) the lack of a meaningful API into our ILS and 2) no standards-based, dynamic index for our research databases. Given those two tools, we could completely transform our interfaces into something truly new and unique.

The problems with our OPACs can be split into form and function. The OPAC interface needs a major face-lift while search functionality and results leave a lot to be desired (relevancy ranking, anyone?)

Alan Gray (Darien Public Library) offered a number of great thoughts on approaching vendors, suggesting that many of the open-source tools now being developed could somehow be leveraged in such a way that vendors would have to take notice and react. The problem with open-source solutions, however, is that even though the software is free, implementation can be impossible for a library without much of a tech staff and support is almost non-existent.

On the subject of open-sourcing code: While I write much of my code modularly so that it can be reused by other people, most of the code behind AADL's website is highly customized and cannot simply be dropped into place at another site. One of my goals is to get closer to the object model, so that the code can be reused. Much of the code written in libraries is highly site-specific and cannot be transplanted without a lot of work. Can we write code with portability in mind?

So what can we focus on now? Ryan Eby talked about the judicious use of iframes and javascript to embed dynamic content. Those have a number of drawbacks, however, and amount to "lipstick on the pig". He used III's screen file tokens as an example.

Many libraries would like to do a complete overhaul of their websites, like AADL, but are not able to due to technical or staffing constraints. Therefore, they fall back to shoe-horning new features in here and there at the expense of cohesiveness.

Web 2.0/Library 2.0 -- What's next?

I wasn't sure what this discussion was going to do, or where it would go. I think someone started the discussion by simply throwing out, "so, what now?"

We talked a little about physical spaces and the way they shape the library experience. Alan Gray filled us in on some of the amazing things Darien Library is doing in their new building to foster a closer relationship with the patron. Apparently, they are installing reference "pods" where reference librarians can have one-on-one sessions with people. They're also experimenting with some IP telephony products.

We heard from the folks at South Lyon who have been featured in both the New York Times and Library Journal for their use of the tablet PC. Hearing them talk, I couldn't help being reminded that it's not just the technology that transforms, but how it's implemented and how committed we are to making it work.

I spoke a little bit about how we handle tech support here at AADL. I mentioned that we have an internal IRC server with a support channel and a web client for our help-desk folks. This allows them to field problems directly to a large number of technical staff.

We talked, quite frankly, about the term Library 2.0, and it seemed to me that most people present had very little problem with the name itself and simply wanted to talk about the ideas behind it. As one person said, "we need to call it something..." We also addressed the "change-or-die!" ideology. Basically, I don't think libraries will wither away to nothing if we don't take advantage of emerging technologies and opportunities (the key being opportunity). I do think, however, that we run the risk of missing the boat and relegating ourselves to a myopic role in our communities that will be difficult to break out of if we don't take advantage of emerging trends--that includes popular culture. Someone else felt that perhaps we are making too much of this and that this kind of talk was part of a larger "culture of fear" that exists in America. It was mentioned that we need to continually reinvent ourselves, just like the business world does. Separating value from fad is difficult, but we shouldn't ignore the trends.

We spoke a little bit about rising circulation, harnessing the long tail, setting up a Netflix model for patron holds, and a few other material-related topics, such as circulating laptops.

Many thanks to Les Orchard who bailed me out and did a quick intro to del.icio.us.

Wrap-up

Honestly, I wish the entire day had been filmed, or recorded, or both. I was struck by how fast time went by. Because virtually everyone in every discussion played an active role, a heck of a lot was accomplished. Unfortunately, it doesn't lend itself to easy blogging because there were no slides, no prepared remarks and very little time to write. As we discussed at the end, the open spaces idea could translate very well to other locales, if you're so inclined, I'd suggest one in your area.

links:
Library 2.0 Wiki -> Library Camp 2006
The unLibrarian
Les Orchard's OPML notes (neat-o!)
Ryan Eby

PHP port of ISBN-10/13 tool

OSS4Lib and David Bigwood (Catalogablog) wrote the other day about an ISBN tool from ManaSystems that converts ISBN-10 to ISBN-13. ManaSystem's version is written in Perl, so I went ahead and ported it to PHP5 for the rest of us.

Feel free to download it here, or from my files section.

Basically, all the function names are the same, so the original instructions apply. From the ISBN.pl page:

convert($isbn)
Takes a 10 digit ISBN and returns the 13 digit equivalent. Does not perform any error checking or validation.

gettype($isbn)
Takes a string value and will make a guess as to whether or not it fits the criteria of an ISBN. Returns 10 for a possible ISBN-10 and 13 for ISBN-13. Does not validate further.

validateten($isbn)
Takes a 10 digit numeric value and checks to determine if it is a valid ISBN-10.

validatettn($isbn)
Takes a 13 digit digit numeric value and checks to determine if it is a valid ISBN-13.

genchksum13($isbn)
Takes a 12 digit numeric value and generates an ISBN-13 checksum digit.

genchksum10($isbn)
Takes a 9 digit numeric value and generates an ISBN-10 checksum digit.

printinvalid() Returns a message informing the user the ISBN is invalid.

Of course, you'll instantiate it a little differently:

<?php
require_once('ISBN.php');
 
$isbn_no = "012345678";
$ISBN = new ISBN;
$isbntype = $ISBN->gettype($isbn_no);
 
if ($isbntype < 1) { $ISBN->printinvalid(); }
else if ($isbntype == 10) { $isvalidten = $ISBN->validateten($isbn_no); }
else if ($isbntype == 13) { $isvalidttn = $ISBN->validatettn($isbn_no); }
 
if ($isvalidten) { print "That is a valid ISBN-10\n"; } 
else if ($isvalidttn) { print "That is a valid ISBN-13\n"; } 
else { $ISBN->printinvalid(); }
?>

Enjoy!

HigherEd BlogCon 2006

HigherEdBlogCon 2006
Today begins the 2006 HigherEd BlogCon, "an online event focused on how new online communications technologies and social tools are changing Higher Education." Looking at the schedule for this month-long event, I'm seeing a lot of very interesting topics by some great speakers, er, writers.

You'll notice that April 10-14 is dedicated to "Library and Information Resources". LJ Mover and Shaker, Meredith Farkas has gathered a fantastic group of people to present during this block--I just hope mine can keep up with some of the other great topics planned!

As a public library person, I'm looking forward to getting a taste of librarianship in higher education. I think, with much of the Library 2.0 discussion focusing primarily on public libraries, school libraries have been left out in the cold a bit. It's important to include them in the discussion of new ideas and the overarching discussion.

I've never participated in a BlogCon before, so this is a first for me, but it's apparent that a lot of work and planning has gone into making this succeed. The fact that there is no geographical barrier to attendance really intrigues me and I'm looking forward to seeing how it all plays out.

Be sure to subscribe to the HEBC feed (comment feed too) and participate! It is, after all, a conference.