Archive for the ‘Observations and Ideas’ Category

Why do you do it that way? (or, design rationale)

Thursday, March 20th, 2008

Yesterday I was explaining to some librarians how Evergreen relates Items (the actual physical barcoded material that circulates) to Volumes (where the Call Number lives) to Bib Records (which contains the MARC), and one person was curious and asked, “why do you do it that way?” The short answer is because it’s good design, but the question momentarily threw me for a loop because the implication is that they’re used to systems which do not do it that way.

Imagine that the structure used for items in the database for your ILS is laid out something like this:

Item Table
———-
Internal ID
Creation Date
Barcode
Call Number
…other fields

In some automation systems, that Call Number field will be a free-text label. If you want to change the Call Number for an Item, then that field will necessarily get changed. If you want to change the Call Number for a large grouping of Items, then you will have to change the field for all those items (sometimes one at a time).

In Evergreen, that Call Number field will actually be a foreign key to another table in the database, one that looks something like this:

Volume
——-
Internal ID
Owning Library
Call Number Label
…other fields

This allows a Call Number to be shared amongst a group of items, and be modified with a single edit.

This is also an example of database normalization.

Why is this important? It has to do with redundancy of information (and I’m not talking about backup storage, RAID’s, etc).

Human beings love redundancy when it comes to communication; our meanings get emphasized by our body language, and the syntax and structure of our languages, both spoken and written, encode information in multiple ways. But redundancy opens the door to discrepancy, and discrepancy leads to ambiguity. Human beings can deal with ambiguity, but computers (and most software developers, and maybe catalogers) can’t abide it. “Time flies like an arrow, but fruit flies like a banana”.

A computer might resolve ambiguity in a non-obvious way, or worse, it may resolve ambiguity in a manner that coincidentally matches a human’s expectation, only to cause trouble later when you start getting data anomalies.

Normalization is a best practice design technique for designing relational database schemas, though there are cases when you want to make a trade-off and de-normalize certain data structures. But those cases are usually optimizations that should occur after you already have a good design as your starting point.

Relational databases are powerful enough that they have sunk into the consciousness of librarians, to the extent that they put down “Must be built on a relational database” in their RFP’s. But most legacy ILS products actually use hierarchal databases, which are good for some things, but not for others. The design decisions made when you go with a hierarchal database are very different than the ones you make when you start with a relational database, and I worry about the legacy products that have “tacked on” relational databases for buzzword and RFP-compliance. Legacy automation may now have relational databases, but are they actually using them as a relational database? Some are, but I know of at least one that isn’t.

Let’s return to Evergreen for a moment. Because Call Number Volumes are represented as their own entities, you have the option of thinking of them differently. For example, you can move a set of items to a different “call number”, one which may be associated with a different Bib Record altogether (or you could move a volume itself to a new bib record). You could even change which library “owns” a volume, and suddenly all the items attached to that volume have a new owner. And you’re able to place a hold on a specific “volume”, in addition to title-level and copy-level holds (and in Evergreen, meta-record holds across editions and formats).

But you can also do what you may already be used to, and change the Call Number for an item (or a batch of items) from an Item Editing interface, and not have to know about the more flexible structures that are being manipulated underneath.

Because we already have Volumes, we’re also in a better place for adding Serials.

There are fewer widespread repercussions to changing an end-user interface than there are with changing your database schema, so that’s why it’s important to have a good database design from the beginning, so that your interfaces have more options. To steal a sentiment from Mr. Miyagi, Evergreen has strong root.

– Jason

Congrats to not one, but two other Open Source ILSs

Tuesday, March 18th, 2008

First I’d like to welcome NewGenLib to the virtual family of FOSS ILSs. In truth, we’ve known about them for a while and have been looking at their serials interfaces during our ACQ/SER design, but now that eIFL is covering them, well… ;) It’s great to see another entrant, and one that has already found an itch to scratch. I’m sure cross-pollination is in the stars as they seem to have an interesting system.

Next up, a pair of kudos to Koha.

Over the past weekend they added, at a mailing list member’s request, a call number browser inspired by Evergreen’s, which we call Shelf Browse. In Evergreen, because it supports a hierarchical organization of libraries, you can actually browse an entire system or even consortium as one huge virtual shelf! It’s a very nifty feature, and one that we know the PINES patrons have been making good use of (to the tune of 66,965 and counting so far this year, and about 300,000 times in 2007) since Evergreen launched in September of 2006. Now Koha will have a similar feature at the request of a small church Library! This, my friends, is Open Source at work.

By way of evidence from our users, I’ll mention that Evergreen provides call number / shelf browse as a “Quick Search” from the advanced search interface, which is useful to Evergreen users and may be useful for Koha patrons as well. In any case, good work.

I also noticed that Koha has incorporated, as of November of last year according to their source repository’s timestamps, the SIP2 code that David Fiander and Bill Erickson wrote for Evergreen. We’re glad to see the code that GPLS funded is going to good use in and inspiring other projects!

Three and a half years ago, when I first joined PINES and the Evergreen team, there was a dream and a small test server. Now we’ve written more than a quarter of a million lines of code, and that code runs the day-to-day operations of one state-wide library consortium (biggest in the world, he bragged ;) ) with at least two more in the works, and is helping to build a province-wide consortium in Canada — and let’s not forget the Laurentian/McMaster/Windsor “Unholy Trinity.” These are amazing, and they fill my heart with a satisfaction that is difficult to describe, but none of those things, even as possibilities, are why I signed up. I joined this effort because I believe in Open Source software. I believe whole-heartedly that it is a force for positive change in an industry I love, and fits perfectly with the mission of libraries.

Again, congrats to both NewGenLib and Koha, and let’s keep the cross-pollination going.

–miker

Code4lib 2008 (Mini) Roundup

Monday, March 3rd, 2008

I’ve been to my share of library conferences over the last couple of years. They all have something to offer in their own way: networking, schmoozing, wacky vendor displays, swag, etc. It’s been my experience, though, that as a geek/developer, I’m often a little disappointed at the content — it’s just not geared toward someone like me. This is why I love Code4lib. The conference is densely packed with interesting technical presentations. They are the kind of talks that not only inspire you, they give you something concrete to take back home. In addition to the presentations, you are surrounded by an interesting gang of library technologists, who, I get the sense, all have tricks up their sleeves. It makes for a fulfilling week, to say the least.

Some highlights

My week started with the Evergreen pre-conference, skillfully lead by Dan Scott. Dan blogged about it here. Apart from some technical woes, a lot was seen and (hopefully) learned by all. We performed the install, imported bib and holdings data, implemented new functionality (new OpenSRF method and OPAC UI) to email a user their password if they have forgotten it, and took a quick look at some of the staff client interfaces.

Conference day 1 began with Brewster Kahle’s keynote address on his work with archive.org and openlibrary.org. Brewster’s vision and chutzpah is refreshing and inspiring. The goal of “One wiki page per book” sounds so simple (and obvious) when inserted into a slide show, but the implementation will require tremendous work and resources. I applaud their efforts, not only in principle, but because I think it will lead to better information and resource sharing in the long run.

After lunch, Winona Salesky and Michael Park did a joint presentation called “XForms for Metadata Creation”, which included two different MODS editors developed with XForms. I liked this talk in particular for two reasons. For starters, the demos I saw were that of a simple (yet powerful) bibliographic data creation interface, which I see as potentially useful for any ILS. Additionally, the use of XForms, which I only have a basic understanding of, gave me a chance to see some new (for me) technology in action. My interest is piqued.

I skipped the breakout sessions that day to put together a (5 minute) lightning talk on Pylons. One of the interesting challenges of lightning talks is the use of a shared PC and what amounts to a moratorium on web access for the sake of efficiency. My presentation was a set of images and screenshots, the first a crane on a sunny Portland day, which seemed apropos of the topic. I discussed one particular aspect of Pylons, which allows you to easily plug in custom pre and post-processing middleware applications for your web apps. I demonstrated a simple XML validator and a highlighting plugin which bolded pre-defined terms in the HTML on its way to the client. These gave me the chance to dig a little deeper into Pylons, an architecture which I think has a lot of interesting potential.

Wednesday morning I learned a lot about RDA. Later, I thought the discussion on of the ILS Discovery Interface Task Force segued well into Ross Singer’s lightning talk on Jangle, which, as Ross pointed out, could be used to implement the proposed standardized ILS interface.

I was not able to attend the last day, so I missed a chunk of the conference, including Dan’s CouchDB talk. Glad it went well, Dan!

Wow, now I realize why most folks blog about conferences as they are happening ;) It’s a lot to digest, especially for a conference as dense as code4lib. There were a lot of great presentations, breakout sessions, and lightning talks this year and this post only comments on a few of them. Next year’s conference will be held in Providence, RI, and if you can, I would recommend checking it out.

-bill

Measures of maximum load in PINES

Friday, February 29th, 2008

I was curious about how many circulations PINES had on the biggest day on record. And that led to our asking: which hour and which minute had the most circs?

Maximum circs by DAY:
96,326 – May 29, 2007

Maximum circs by HOUR:
11,305 – May 29, 2007, 11 AM

Maximum circs by MINUTE:
548 – May 2, 2007, 9:21 AM

I understand that the day after Memorial Day in 2007 is remembered as a very busy day for reasons that are clear.

For a bit of perspective, the FY 2005 NCES/NCLIS data for all US public libraries give the following annual figures for total circulations by library:

Q3 (third quartile–the libraries above this number are in the top 25%):
144,663

Q2 (median–the middle value):
43,912

Q1 (libraries below this number are the bottom 25%):
13,113

The arithmetic mean is 229,685.

That maximum number of circs for PINES for one day is greater than the median annual value for all public libraries.

Why is the mean so much higher than the middle value? Because the distribution of all these numbers is highly skewed–in the Statistical sense. And that fascinating topic can be the subject for compelling blog post at another time.

Bob Molyneux

Isn’t Evergreen just for consortia with hundreds of libraries?

Monday, February 11th, 2008

We get this question often at Equinox Software and we see it on occasion on the Evergreen community mailing lists and in the library blogosphere.

I am a single-branch public library with about 25,000 titles. I’ve looked at the options and I really like Evergreen. But isn’t it simply ‘too big’ for my situation?

It is true Evergreen was built from the ground up to handle the largest of library systems: it’s highly scalable, fault-tolerant (meaning it can sustain hardware failures and keep running), and has capabilities that make it a perfect selection for large libraries and consortia. Those attributes/goals are clearly stated on the open-ils community website.

However, it is important to realize this does not mean Evergreen is not a good solution for smaller libraries as well. Evergreen does in fact “scale down” elegantly. We know this because there are developers in our community that run Evergreen on their laptops. That’s right folks–they can run the entire server-side software stack on their laptops. Another example: Bill Erickson, at the last code4lib conference, ran an “Evergreen install in 20 minutes” breakout session in which Evergreen was installed on a laptop.

Evergreen was designed to be able to scale to multiple servers of varying sizes and purposes. But it can also scale to a single server (or laptop) if that’s what the library desires and what makes sense in the cost-to-uptime ratio.

Also, the ability for Evergreen to “scale down” from a functional standpoint is something that’s apparent in Kent County Library’s recent migration announcement. Kent County Library serves a population of approximately 19,500 though a main library and 2 smaller branches. There is more information about the decision to go with Evergreen on the Kent County Library blog.

I hope this information puts the rumor to rest that Evergreen is just for big libraries and consortia. The fact is Evergreen can work quite well in smaller situations.

Every reader his or her book; Every book its reader.

Thursday, February 7th, 2008

Lorcan Dempsey’s post Evergreen and Pines refers to a Georgia Public Library Service (GPLS) report Use of Georgia’s public libraries continues to rise in Internet Age and echoes one I made earlier here entitled Save the time of the reader. Briefly, all three deal with increases in the use of Georgia Public libraries generally and PINES particularly. But Dempsey makes a point of mentioning the consortial aspect of PINES and I have been thinking about this very point since my post a few weeks ago.

PINES, of course, runs on Evergreen and although Evergreen is running individual systems, the fact is that Evergreen is the most consortially-aware ILS—open source or proprietary—has resulted in some fascinating dynamics which these cited posts allude to.

In my post, Save the time of the reader, I reported on my attempt to measure the change year over year in three PINES use measures that could be compared before and after the switch from the legacy vendor to Evergreen. There are dramatic increases which I attributed largely to Ranganathan’s law it referred to because the reader’s time was saved as a result of better design of the interface, particularly of holds.

However, there is a measurement problem that brings out something more important that had implications I didn’t understand a month ago. Not all public libraries in Georgia are in PINES and the number changed over the period of my analysis. If we want apples to apples, as the saying goes, we should analytically remove the libraries that were added during the year so that we would have circs, holds, and such at the same set of libraries, that is, so that increases reported are not because of the addition of new libraries but rather because of easier to use software with better features. People, though, are just a bit complicated and that simple statistical manipulation would miss something key.

Georgia has a universal borrower card so if your local library is not in PINES, you can go to one that is and borrow from the PINES system. And what library users are doing is pretty clear, they are making the drive: they want access to the 2 million bibliographic entities and the over 9 million items owned by the libraries in PINES. As a result, the obvious statistical treatment itself would miss this dynamic aspect of people’s behavior. They don’t hold still and they react to changes in their environment.

To come full circle, I offer this speculation: that some of the growth in the number of PINES systems (44 to 49) since Evergreen went live in 2006, may be a result of this behavior.

I was graduated from library school in 1971 and I have seen various fashions about how best to do library service: big regionals or small local and intimate libraries. Back and forth. Back and forth. I believe the jury is now in. Library users are voting with their feet; they want the big, resource rich library.

Chris Jowaisis’s Texas Library Systems wiki has an ILS Discussion in which he offered an opinion I thought insightful about the Georgia experience: “(CJ opinion) political agreements are as impressive as the technology achievements of Evergreen.” I have quoted Chris’s observation often. Now, after seeing the experience in Georgia up close, I think that while we librarians and politicians care about the politics, the people who use libraries don’t. If you build the resource sharing consortium, they will come.

Bob Molyneux

PLA and an Evergreen Users Group, Birds of a Feather gathering?

Wednesday, February 6th, 2008

Hi folks,

I was wondering if any of you would be interested in gathering together to talk about Evergreen during the Public Library Association’s National Conference (http://www.placonference.org/) in March? Most of the Evergreen developers will be there and we can arrange for a meeting space. The notion is that anyone interested in the project (software, community, vendors, etc.) could be invited, and we could style it as a Birds of a Feather-type gathering, or maybe even the nucleus of an independent Evergreen Users Group.

What do you think? What sort of topics or activities would you be interested in? Would you be interested in something like this at other times or places? Is anyone interested in helping to organize this?

Thanks!

– Jason

LOCATION UPDATE:March 27, 5:30pm – 7:30pm at the Minneapolis Marriot City Center, Gray & Wayzata rooms (8th floor)

Save the time of the reader

Tuesday, January 8th, 2008

Evergreen went live over the Labor Day weekend in 2006. How are the users of PINES adapting to the new ILS? The results of this preliminary analysis show rapid growth in use of PINES libraries.

We only have fragmentary data from before the change but the following table shows changes in selected measures of use of the PINES system. Year over year changes are the best way to calculate this kind of change because there are seasonal effects—for instance December is generally a slow month—and I have chosen to use percentages rather than raw numbers to make comparisons easier. In the table, the row “September 2007″ lists the percent increases in the various raw figures of September 2007 over September 2006. Thus, September 2007 saw an increase in PINES libraries’ circulations of 10.1% over the September 2006 figures. Blanks in the table indicate there are no matching data to calculate percentage increases.

The table below has percent increases in circulations, total holds, and unique patrons requesting holds. Holds are those place by users in the library when some cataloged item is not available. Although Evergreen is used to measure the in-house use of both of cataloged and of uncataloged items, these types of circulations are not included here. The circs are by the standard definition—these are items going out the door.

We can see that circs have increased a bit over 10% for the four months we have matching data. Holds increased a good bit more and we have data for a longer period. The range of increases of these holds is from a bit under 30% increase to over 50%, depending on which month one examines. The change in holds is dramatic.

% increase in
% increase % increase in Unique Patrons
in Circulations Total Holds Requesting Holds
September, 2006      
October, 2006      
November, 2006      
December, 2006      
January, 2007   35.2  
February, 2007   40.8  
March, 2007   39.2  
April, 2007   50.0  
May, 2007   45.9  
June, 2007   38.5  
July, 2007   52.0  
August, 2007   38.4  
September, 2007 10.1 51.4 39.5
October, 2007 15.0 36.5 30.4
November, 2007 10.0 29.7 25.0
December, 2007 11.1 28.9 25.5

The right column shows the increase in unique patrons requesting holds. This column presents an interesting set of statistics because we see a striking increase in the number of patrons using this service.

So, the number of people requesting holds is going up, too. The number of holds per person (not shown) is up only slightly averaging fewer than 4.

Why these increases? I think we are seeing an “Evergreen Effect” which I would define as increases in library use brought on by saving the time of the reader. I don’t believe Ranganathan would be surprised by these data. Those readers are responding to a lower bar between them and materials they are seeking by using the PINES system and materials from its constituent libraries more. Evergreen was designed from the ground up with close consultation with librarians, Georgia Public Library Services staff, and library users. Modern notions about presentation of data were included from the beginning, not bolted on to an aging system. Hence, it is easy to use and intuitive.

These figures overstate the changes slightly. The number of systems at the start of PINES was 44 (including the State Library) and by December, 2007, there were 47. We did look at backing the data from the newer libraries out and that would decrease the raw numbers and percentages about 4%, we estimate.

But we ran into a problem and that was that people living in the service areas of libraries not served by PINES have been using PINES libraries in order to get access to the large, virtual library. There are currently 1.82 million titles in PINES libraries with 9.4 million copies. As I said: a large virtual library and one with many resources to share to library patrons with a PINES card. Any Georgia citizen can get one and we know that library users from non-PINES are availing themselves of these resources and 1.82 million titles is a powerful draw and, not inconceivably, a draw for some of the non-PINES libraries to join. In any case, if we took the effect of the newer libraries out, many of the users in the new systems were already users of PINES. There is an apples to oranges comparison but the currently unmeasurable effect is likely small—probably lower than 4% but we just can’t measure it. So, for December 2007 increase in circulations over December 2006 might be as low as 7%. The holds might also be about 4% lower, that is, perhaps 25% increase in total holds for December 2007 over December 2006. Teasing out a better number is going to be tricky.

Laurentian University and Evergreen in an academic context

Tuesday, January 8th, 2008

I’ve been contributing to Evergreen in various ways for a long time now, and strongly hinted back in October that this was becoming more than just a personal involvement with Evergreen.

Laurentian University, my employer, recently issued a press release announcing that we have selected Evergreen as our future library system. I think this is big news, because Evergreen has thus far been seen primarily as a public library system. We recognize that there are some major tasks to accomplish before we can migrate to Evergreen — acquisitions, serials, academic reserves, documentation — but we’ve observed and participated in the Evergreen development effort, were encouraged by the results, and therefore have chosen to contribute resources to the development effort to help evolve Evergreen towards what we need from an academic library system.

We believe that Evergreen represents the best possible path towards a library system that will meet our users’ current and future needs. Evergreen does not repeat the mistakes of integrated library systems of the past: its service oriented architecture and Perl, C, Java, and Python bindings make it an integrated, yet loosely coupled, library system that can also integrate with our existing campus applications.

The University of Windsor took the important first step of establishing a community for academic institutions by partnering with GPLS to work on the acquisitions module. By selecting Evergreen as our future library system and contributing to the development effort, Laurentian University is taking the next step in solidifying that community — and based on the interest that has already been expressed by other academic institutions (both directly to us, and publicly on the Evergreen mailing lists), we look forward to other institutions joining us in building a strong, collaborative, and innovative community.

For you Facebook users

Friday, January 4th, 2008

Did you know that there’s a Facebook group dedicated to your favorite ILS? The Evergreen “Open-ILS” Automated Library system group is an informal virtual social gathering of Evergreen fans, devotees, and users.  If you have a Facebook account (or are looking for a reason to set one up), we invite you to join the group.  See you there!

Evergreen Holiday Lunch Party

Sunday, December 16th, 2007

Equinox hosted a small Evergreen lunch party/gathering yesterday, and it seemed a perfect opportunity to get a picture of many folks who work together all the time, but rarely see each other. Sadly, one of our number had to take the picture–thanks to Lamar Veatch, Georgia State Librarian for performing the picture-taking duty.

Happy Holidays from the Evergreen gang (clicky for a larger image).

Pictured, from the left:

Tim Daniels, GPLS

Bob Molyneux, Equinox

Don McMorris, Equinox

Hilary LaJeunesse, with Will LaJeunesse

Brad LaJeunesse, Equinox

Elizabeth McKinney de Garcia, GPLS

Art Rhyno, University of Windsor

Bin Lin, GPLS

Jason Etheridge, Equinox

Bill Erickson, Equinox (squatting)

Sally Murphy, GPLS

Brandon Uhlman, British Columbia, Ministry of Education, Pines Project

Dan Scott, Laurentian University

(behind Dan is Dilbert, but he was shy)

Mike Rylander, with Avery Rylander

Sara Rylander, with Baby #2 Rylander (in the oven)

Lamar Veatch, GPLS (behind the camera)

When I speak, IT SOUNDS LIKE THIS!

Sunday, July 22nd, 2007

ACQFest is just finishing up, everyone is safely stowed on or near planes for their trip back home, and I’m trying to catch up on more than a week of backlog. I took a quick break to take the book quiz pointed out by Mark Linder and it seems … well, I’ll let you, kind reader, be the judge of its accuracy.


You’re A Prayer for Owen Meany!
by John Irving
Despite humble and perhaps literally small beginnings, you inspire faith in almost everyone you know. You are an agent of higher powers, and you manifest this fact in mysterious and loud ways. A sense of destiny pervades your every waking moment, and you prepare with great detail for destiny fulfilled. When you speak, IT SOUNDS LIKE THIS!
Take the Book Quiz at the Blue Pyramid.

–miker

ALA; Open Source is not a distraction

Friday, June 29th, 2007

I had a great time at ALA, and obviously, I perked my ears whenever the topic of open source came up (which was a lot). I found it interesting that everyone seemed forced to agree that open source was a good thing, whether it was as infrastructure that even proprietary vendors made use of or as a mechanism or culture for sharing innovations between libraries. But also interesting was the back-handed compliments and spin that would follow those admissions.

PINES was “mostly successful”. Did that mean we only “failed a little bit”?

Open source needs high caliber programmers? How many developers have proprietary companies been laying off lately?

Open source isn’t mature. Could we also claim that the “mature” products out there actually fossilized?

Open source is free as in kitten. Is closed source non-free as in goldfish?

I’m being glib here, but no more so than my counterparts.

Lastly, it was said we should focus on something larger than open source, and that we should be concentrating on open data and standards. And that’s true enough; but what was not said is that open source is your guarantee of having open standards and open data. Source code is the lingua franca of the computer world, and without it your data could not be accessed, and your standards could not be implemented. If you have open source, you have the other two. If you don’t, all you have is promises.

– Jason

Lies, Damned Lies, and Library Automation Software

Wednesday, June 20th, 2007

What’s on my mind today? I’ll tell you: it’s the War against Evergreen.

What’s that Jason? Surely you’re kidding?

No, I’m not.

Another title could be Open Source vs. the Used Car Salesmen. We’ve seen this before with Linux vs. Windows; but I’ve never expected to experience such a thing first hand. It really upsets me. We’re passionate about our software, we’re a meritocracy with development, but we get distracted by people coming to us after having been fed with misinformation. We’ll pit technology vs technology any day (and win or lose, we adapt and ultimately win), but should we really have to deal with Jedi mind tricks?

The war started internally when Evergreen was just an idea. We had to fight for it. We won that battle; but then came the Sith. :)

One prominent incident happened about 2 years ago, while Evergreen was in heavy development, when a non-US library consortium contacted us and told us what a particular vendor was telling them:

  1. That we were having problems with development and were running behind schedule (*cough* we were ahead of schedule *cough*)
  2. That one of our biggest problems was that we would always be a step behind their company/product (stair climbing the Tower of Babel for kicks and giggles? some folks are playing catch-up to us and pretending otherwise!)
  3. That “open source development would lead us down a path to disaster, leading to a third-rate, third-world system” (riiiight…)

What was up with that? Evergreen wasn’t even in Alpha yet and a vendor was worried about us enough to spread Fear, Uncertainty, and Doubt, commonly known as FUD. Did they skip the part where they were supposed to ignore us? We confronted the vendor and they denied everything. :)

More recently, a vendor told a client that Evergreen can’t do holds. Um. What? That’s one of the main features in use by PINES… heck, it’s one of the main purposes of PINES: the sharing of materials amongst libraries. Evergreen, in fact, has a better holds system than the vendor in question: our hold targeting is randomized when selecting materials at certain geographic ranges (say, statewide), instead of simply selecting the last copy added to the database. What a novel idea!

Here’s some Evergreen FUD related to databases:

  • Evergreen really uses MySQL and not Postgres
  • Relational databases can’t handle MARC, and thus Evergreen does not support MARC
  • Evergreen can’t handle formats besides MARC
  • Evergreen can’t search the entire MARC record, only subsets of it

All false (and some even contradictory!). Evergreen uses Postgres in a replicated environment, can handle all sorts of bibliographic formats, can maintain a fulltext index on any of them in their entirety and in subsets. I’m not sure that all of these were started maliciously, but at least some of it originated from people who should know better *wags finger*.

Here’s another place brimming with FUD. One particularly good bit:

  • Evergreen isn’t really “open”, “grass roots”, or they.. uhhh.. don’t play nice

I suspect this is coming more from a Koha vs. Evergreen angle, because certainly none of the proprietary vendors are open by any open source definition. Evergreen, and I assume Koha, were open source from the very beginning, with the primary hope of becoming sustainable through a community of volunteers. I believe Koha has succeeded with this goal, and I believe Evergreen is succeeding with it (our community really started forming after Evergreen proved itself with PINES). However, no two open source projects are exactly alike, and there are wide variations in how gift cultures and meritocracies organize and manage themselves. The ground rules the original developers try to model are the same as the Postgres project. We humbly await your patch, and that includes patches to our culture and community, because we are what you make us.

Here’s more on a blog post:

  • used by 1 library system (a little disingenuous to compare 1 system to 500 libraries, when that 1 system is composed of 265 libraries)
  • designed for top-down control, ie. a single decision is made by the administrators for the entire system (that’s the situation we jumped ship from)

I guess it’s a matter of perspective. The proprietary vendors have thousands of installations, but are people really happy with them? As for top-down control, it’s more like control at whatever point in an organization hierarchy it makes sense to, and that’s regardless of whether we’re talking about statistical codes for patrons, statistical codes for items, surveys, shelving locations, call numbers, templates, or what have you. If we’re missing something, it’s easy to address, because the infrastructure is sound. If anything, you can say Evergreen was designed with a public library bias, yet we’re discovering that adding academic features is easy. If there’s something you want to see, let us know!

Here’s some more FUD from an email we happened to come across:

  • Evergreen is only useful for huge installations
  • It’s too complicated for all but the biggest libraries to deploy

I find this very amusing. We have “individuals” in our “non-open” community deploying test environments of Evergreen, and creating vmware images to share with others that make the process even easier. We have vendors willing to do it for you. And it’s only complicated where it needs to be! :D

Remember, Evergreen was intended to be open source from the project’s very inception, so the intent was always that other libraries would use it. Wherever possible, we abstracted and made things flexible. One of our mantras is that software should not dictate policy, and since policy is prone to change, the software must be easily adaptable. We even hired developers from outside the library industry to give us a different perspective. We weren’t perfect; there’s domain knowledge that we lack (and that the community is addressing), but the foundation we built is solid. Hopefully I won’t feel the need to say more on this topic, and I admit to being a bit exasperated. Please forgive me if you made it this far. :-)

I guess the best sanity check for possible misinformation is for people to come straight to the source–code and community. We’re here, we’re in #openils-evergreen on freenode IRC, and we’re on the OPEN-ILS-GENERAL and OPEN-ILS-DEV mailing lists (http://open-ils.org/listserv.html).

Thanks for everything folks!

– Jason

code4lib 2007

Saturday, March 3rd, 2007

On behalf of the Evergreen team, I wanted to thank everyone who made the trip down to Georgia for the code4lib 2007 conference. It was a pleasure to host the conference, and we hope to have the opportunity to host again some day.

Personally, for me, one of the most interesting things about the conference was getting to meet the folks behind the IRC nicks in meatspace. Some of you were exactly how I’d envisioned… while with others, my mental image could not have been more off the mark.

Also, as Karen Schneider said in her keynote, it was comforting just to be with colleagues who got the inside jokes (and didn’t need the conference t-shirt explained to them).

From the Evergreen side, the Install Evergreen in 20 minutes breakout session was well-attended. Bill did a great job going through the process from prerequisites to config files to even a bit of troubleshooting. We hope it was a helpful and informative breakout.

Finally, I would like to take this opportunity to thank the many folks that helped make the conference a success:

  • Roy Tennant — for taking the bull by the horns and being a great master of ceremonies.
  • Karen Schneider and Erik Hatcher — for delivering 2 wonderful keynotes.
  • Erik (again!) and Bess Sadler — for running a great pre-conference.
  • David Baker of GPLS — for holding my hand through the t-shirt creation/ordering/printing process and for creating a great conference agenda handout. Heavens, Agnes. :)
  • Julie Walker and Elizabeth Garcia of GPLS — for helping out behind the scenes in the innumerable and invaluable ways you did.
  • And, of course, thanks goes to the conference sponsors: OCLC, Oregon State University, Talis, Logical Choice Technologies, and LibLime. Without your support there would likely be no code4lib conference.
  • Lastly, a conference is no more or less than what the participants put into it and make of it. Thanks to each of you that gave prepared talks, lightning talks, and/or led breakout sessions.

So, onward to code4lib 2008 in Portland, OR!

Pile o’ stuff

Monday, February 12th, 2007

Wow. It’s been a crazy two months. We’ve been going strong, if silent, and overall things have been going swimmingly. Some highlights:

  • The mailing lists finally got busy (yay!), and to help sort through some of our growing pains we put together a document to help early adopters and contributors to get their feet wet
  • Brought on a new system, South Georgia Regional, during the first half of December and they’ve been humming right along
  • Added snazzy new back-end storage and search functionality which should allow all sorts of new data access patterns
  • Brought on another new system, Thomas County Public, on February 1st while I (miker) was at…
  • …the Ontario Library Association’s Super Conference talking about metadata normalization and how generally and specifically we can use said to increase the utility of the OPAC for our patrons
  • Bill headed up north to Rochester, NY, to attend the XC (eXtensable Catalog) partners meeting — for which I am very jealous, as he got to meet the (in)famous Roy Tennent
  • And, last but not least, we managed to squeeze Evergreen version 1.0.2 out the door. You can expect more frequent release in the near term, and we are currently targeting sometime this spring for 1.2.0

All in all, we really should have filled up several pages here, so … sorry. :) Perhaps some more detail will come soon…

For the Good of the Many

Wednesday, December 13th, 2006

Last time I wrote about our UTF-8 escaping machinery. It’s not that involved, but it’s something critical to get Right(tm) for proper unicode support. It’s also something that took me far too much time to complete, being something that nearly all modern data handling programs need to do. Let’s all hope that someone can benefit from my travails, my dark journey into the Mordor that is the Unicode and UTF-8 RFCs.

With that behind me, and nothing but green pastures of holiday vacation time ahead, I ambled over to the #code4lib IRC channel to see what was up. Well, lo and behold, someone was heaving mightily at a pile of MARC that was claiming to be about books but was most assuredly describing some conference proceedings. This got me thinking about the code we have buried in Evergreen for investigating these sorts of arcana encoded in library data. And it is with that introduction, and a hope for some extra positive karma, that I present to you, dear reader, a pair files that I hope will be of use in one endeavor or another, should you need to know what the percent cloud cover is contained in your remote sensing image or you just want to know if you have any Earth moon globes made of skins (yes, skins).
(more…)

Future of the ILS Symposium

Friday, November 17th, 2006

A group of GPLS staff was invited to Windsor to speak at the Future of the ILS Symposium. In attendance from GPLS was David Singleton, Deputy State Librarian; Julie Walker, newly appointed Assistant State Librarian for Technology Services; Mike Rylander, database guru extraordinare; and myself. Of course, the most difficult part of the entire trip was the security at Atlanta’s Hartsfield-Jackson airport. Yes, yours truly must look suspicious and shifty, so I was given extra special attention by the TSA folks.

The symposium itself was wonderful– good meeting space, good food, and good company. Our presentation was about 1.5 hours, and we covered a whole lotta material in that timeframe. We started off with a background of PINES and Georgia before moving into the Evergreen ILS material proper. Oh, I’ve uploaded a copy of our powerpoint presentation, for interested folks.

It looks like our presentation was well-received, based on the blog postings popping up:

Thanks to Art Rhyno for putting this all together and for the invitation.

Behind the Curtain

Friday, April 14th, 2006

In about every meeting or presentation we participate in, we’re asked about the PINES/Evergreen servers, what they are, where they live, how many there are… basically, what is behind the green curtain? Some PINES librarians that attended the focus group meetings we held in February got an opportunity to take a tour of the datacenter and see the PINES server cluster for themselves. Unfortunately, for the rest of you, we’ve had to resort to whiteboard drawings and obtuse hand gestures.

(more…)

Autohorntootery

Monday, March 13th, 2006

The whole 2.0 meme tends to leave a bad taste in my mouth, and when used by the more — shall we say, vociferous — proponents of the principles behind the title it has been known to cause me to suffer a bad case of the dry heaves. That being said, and noting that he is certainly not one of those that cause me convulsions, I think the OpenILS/Evergreen project owes John Blyberg a very big thank you for explaining, if offhandedly and by accident, exactly what we are all about.

(more…)