III XMLOPAC: findings, promise, and a little relief

Ryan Eby has done what III seems to not be able to do: Create a resource for XMLOPAC users. He's thrown up some wiki pages with the express purpose of documenting III's XMLOPAC. All I can say is, "Thank-you Ryan!" Be sure to participate and help with the documentation--we can all benefit from it.

In addition, Ryan has written up a couple great how-to's on getting item data and featured lists from the XML. I, for one, had no idea it was possible to grab featured lists this way. Ryan Eby has been documenting III's XMLOPAC for quite some time now and he's certainly one of only a handful of authoritative voices on the feature.

David Walker is another, and a very industrious voice at that. Today I had a good chat with him on the Code4Lib IRC channel after he showed me his totally amazing catalog based off his equally cool Shrew project. What he's been doing is exactly what I've been looking for. Even though the Shrew project is currently written in C#, he has plans to port it to PHP5, taking advantage of DomDocument. It's a project I'm completely willing to commit some time to myself, if he asks. The shrew project is "a system that converts the Innovative XML Server into an SRU/SRW and OpenSearch server." He's put a great deal of time into writing XSLT that will translate the III server's output into MARC-XML, Dublin Core, or MODS 3.0. My XMLOPAC class for PHP5 utilizes an older version of his MARC-XML XSLT, but I think when he pulls off this port, the need for my code will go away altogether--his way is preferable.

We also discussed some inherent problems with III's XMLOPAC--of which there are a number, and some potential enhancements. Chief among them would be the ability to conduct business--placing items on hold and such. A lot of work needs to be done, but I'm feeling much more optimistic about my OPAC aspirations now and, thanks to David and Ryan, a renewed sense of enthusiasm. Thanks guys!

[update] Ryan reminded me that Rob Casson is the individual who was kind enough to provide hosting for the wiki [/update]

[tags] OPAC, XMLOPAC, XML, XSLT, Library, Code4Lib, PHP, C#, SRU, MARC, DomDocument, Web Services [/tags]

Library Camp: Session ideas

In the spirit of getting the ball rolling on some Library Camp session ideas, I'd like to toss out some topics that interest me. Being that the April 14th unconference follows open spaces guidelines, I'm not expecting to get to all, or even most of these topics, but the point is to start thinking about these things beforehand.

I've never attended a real open spaces event, so this is going to be a completely new experience for me (I've been saying that about a lot of things lately). I'm confident, however, that the format will be conducive to discussion and I'm expecting that we'll not only learn a lot but accomplish a fair bit as well. A number of great people are planning on attending--be sure to add your name if you plan to come. I believe that space constraints are capping registration at 40.

Some of my topics may overlap what Eli's already tossed out, but that's the idea--to find the overlapping topics and go from there.

I'd like to spend some time looking at Library 2.0. I'm wondering if the term itself is becoming a liability. My concern is that there is so much contention associated with it now that the great intellectual discussion it's intended to represent is being neglected.

I want to talk about ways that techies and non-techies can better communicate. I think there will be a good representation from both camps, if you will, that a candid dialogue could ensue.

I'd like to spend some time talking shop with other techies. Specifically, I'd like to get together with some other III users and see where that goes. I'd also like to cover/learn more about some of the stuff discussed at code4lib. XML/XSLT hacking would be fun too.

I want to talk about OPACs. Specifically, I want to talk about adding social software to the OPAC. I'd like to share some of the work I've been doing in this direction and invite others to do the same. I'd also like to gather ideas on getting buy-in for this sort of thing.

A general talk about trends in library websites. I'd really like to hear from the academic sector on this because the public library perspective can be very different and sometimes the academic library voices don't come through as well as I'd like. I'd like to find out where the similarities end and differences begin.

Because this is not an "in-industry" event, I'd like to talk with library users and get their opinions and perspective on many of the ideas behind Library 2.0.

I'd like to spend some time checking out all the neat gadgets people will be coming with--so bring your cool stuff!

I, too, would like to talk about IM virtual reference. AADL doesn't do it and I really think we should. I'd like to hear from others who may have successfully pulled it off. I'd like to talk about some other alternatives as well, such as web-based IRC clients/bots/etc.

I'd like to talk about networking in libraries. Perhaps cover different Wi-Fi solutions. I have some ideas on using bittorrent as a content delivery system for patrons I'd like to vet. General chat about networking/server infrastructure would be fun.

I think some discussion should go into whether an information clearinghouse should exist for L2 ideas and resources. The Library 2.0 wiki, perhaps? Maybe we can get a start on filling in some information.

I have a feeling I'll be updating this page post, but this is a start. I'll be cross posting this list to the possible session page on the Library 2.0 wiki. Be sure to add yours there as well. Even if you're not going, if you think of a topic, add it because there will be a number of bloggers present who will be interpreting events. Who knows, your topic might get discussed.

[tags] AADL, Library Camp, L2, Library 2.0, Library, Geek, Unconference, Open Spaces, Ann Arbor, AADL[/tags]

The Rime of the Ancient ILS

I love that every now and then posts like this one from Sarah Houghton crop up. And while most ILS vendors do a pretty good job of ignoring the dissatisfaction outright (I know ours does), I like to think these posts must still get under their skin--even if just a little bit.

This latest maneuver against our vendors' flanks consists of several posts in addition to Sarah's. She links to a post from Steve Oberg who, in turn, links to a very interesting post at It's all good.

Sarah has every right to express the frustration she does with vendors. They are still, in many ways, serving to stifle some great innovation at a time when innovation is both vital and time-sensitive. I think that's the impetus for this frustration, now. Working with existing systems is outright infuriating and the promises we get from our vendors are like those you might get from an addict who owes you money: "I'll have it for you next week, I promise!"

I found Steve Oberg's observations to be particularly keen, though I do take issue with one point: "By and large, lack of deep pockets and resources to research and quickly implement new products or features". I believe the problem is not money even though vendors may see it that way--they are looking at the marketplace which is generating a perpetual demand for widget X, Y, and Z. Ultimately, I see this as a problem that is internal to our libraries and not with our vendors. Oberg almost touches on this with another point, "More attention [is] given to librarians’ needs than library users’ needs". Except, I would phrase it, "More attention is given to librarians' needs than the needs of those who work intensively with the ILS." In other words, the tech staff. Libraries have been incredibly reticent when it comes to letting technical people make the technical decisions. The result? Vendors who are given laundry lists of nonsense by folks who really don't know what they're asking for.

Alane at It's all good has a marvelous paraphrase of Pat Sommers, CEO of SirsiDynix:

Pat was responding, if I recall correctly, to a question from the floor about why ILS vendors don't innovate more quickly. Pat remarked that his company spends $10 million a year tweaking their systems to respond to requests from customers, and that left scant time and resources to make big changes. Robin rephrased this to describe all that activity as "building twiddly bits."

I'm glad Pat Sommers called us out on this. We are ultimately responsible for giving flight to an albatross that draws both vendors and libraries away from the marriage between our vision of tomorrow's library and 21st century technology. In reality, all we really need is the simplest of solutions: the ability to innovate on our own. But what will that take?

First, librarians need to stop asking for silly little twiddly bits. Libraries should be listening to their IT departments and vetting requests through them. If you don't have an IT staff, then a part of the solution is reevaluating your staffing needs so that you have some technical people on-board--this can be as simple as canvasing your existing staff, looking for someone who wants to make the move into geekdom. I believe that a coder-on-board sign is simply a characteristic of most 21st century libraries--it's not enough to employ the best librarians you can find, you need to get passionate, interested techies as well. Ideally, library schools ought to be considering the merits of a CS track. Courses need to be developed that synthesize coding skills with library science. The more technical know-how that is mixed in to their customer-base, the better chance vendors have at getting sensible feature-requests.

But it's not just us. ILS vendors need to wake up! An entire new business strategy needs to be extolled. What should that strategy look like? Vendors need to enable library staff with tool-sets in the form of standards and APIs. Of course I've been over this time and time again, but the fact is, most vendors are not hearing this. Maybe I'm feeling the fatigue that sets in after months of subverting the intended use of our system, but quite frankly, I hold little hope that our vendor will decide to pursue a strategy that champions community dev. In fact, during a recent visit to AADL, we were told by a top III executive that we have all the APIs we need. Apparently, he seemed unfamiliar with the entire notion. What we've accomplished is in spite of our ILS, not because of it. He was visiting under the pretense that they were very impressed with what we'd done with their system--I thought, "great, this is encouraging--a chance to open a dialogue". As it turned out, he was just using AADL as a sales venue for another customer. The irony makes me grit my teeth. It's a good thing I was on vacation that week--I might have told him that we've done things to their system that would make Paris Hilton blush. (I would have thought it, at least.)

There is real frustration among the people who are working with these systems, but it should also be said that some vendors are making an effort and seem to be truly "getting it"--or at least trying to get it. It's not entirely fair to castigate them all. They are not just some dark uber-force, brooding "out there" among the turbines of a ravenous capital market. It's important to take a good look at your own ILS and vendor to determine whether they really have your best interests in mind. You may just find that they do. If that's the case, use every ounce of that good fortune to your advantage because many of us are not so lucky.

[tags]ILS, Integrated Library System, Library, API, OPAC, Programming, Library Vendors[/tags]

Source code for virtual card catalog images

iii-vcards-0.1.tar.gz

I can't tell you how many people have emailed me about getting the source code to the virtual card catalog images I announced a few weeks ago. Anyway, I've finally gotten around to stripping out all the garbage from the script that generates the images, and I'm releasing it here (and as always, it'll be available in the files section). There are a few things you need to keep in mind about it, however.

First, this code is written for use with III's XMLOPAC and requires my PHP XMLOPAC class. That said, an astute PHP coder could easily port this app and make it usable on another system (I heartily encourage that). Someday, I plan to make it completely generic so that all you need to do is pass it the data itself. I'm a little busy at the moment, however.

I am not releasing the card stock images that AADL uses. There was no license info associated with the original images. Until I can contact the folks at UPenn and find out what the deal is, I'm not going to make them available. It'd be very easy to create your own stock, however.

Same deal with the fonts. I was able to freely download them--so should you.

At present, this code is really meant for developers, it is not a "package" that will work out of the box. You must know what you're doing in order to get this going.

I'm releasing it under GPL for all the world to use freely, forever and ever.

Included in the tarball is a README file with some basic instructions. Be sure to read that before emailing me your questions.

Enjoy. I'm looking forward to some possible creative uses. Please email me if you get it working as I'd love to see what you're doing with it. If you come up with a particularly interesting use, I'll be sure to showcase it here.

[tags]PHP, Programming, Virtual Card Catalog, AADL, Web 2.0, Library 2.0, Open Source[/tags]

III XMLOPAC Class update

iii-xmlopac-1.10.tar.gz

After a fair amount of work, I'm releasing an update to the iii-xmlopac class. I've been sitting on this update for awhile because it's a fairly big update and I wanted to make sure it was performing like it should. I highly recommend that anyone using this class update because a number of fairly critical bugs have been fixed, including a messy tangle of UTF8 encoding issues.

In addition, I've included an XSLT file written by David Walker which I've modified slightly. It allows me to easily extract subject headings from the XML, so yes, this class now will return an array of subject headings!!

So, be sure to download the latest version. As always, you can grab it anytime from the files section.

[tags]PHP, XML, Programming, XMLOPAC, OPAC, AADL, Open Source, III[/tags]