Blog

  • My baby’s done grown up

    Emory University Libraries has released Reserves Direct(2). I left for Georgia Tech during the redesign process and it far exceeds anything I could have imagined. It shares little to nothing from 0.9 (I was always too self-concious to label it a 1.x release).

    One of the bigger changes is that it’s now in PHP5/MySQL. PostgreSQL, for several reasons, was a rather large barrier to adoption for many libraries. The database has been completely redesigned (that was really the only part I participated in), since the old version was built upon a very awkward legacy data model (see the history for more on this). They also consolidated the three interfaces (staff, faculty and student) into one which should clear up much of the confusion faculty members would have when they couldn’t edit their class from the student interface (see the demo). Actually, the new interface is so much more user-friendly, it’s obvious that Maurice York (who did most of the actual interface design) put quite a bit of work into it. Jason White did the bulk of the actual coding, which I’m sure will be an improvement over the mess of code that passed for a reserves system previously. I’ll know more about that soon, since I’m supposed to add the Voyager integration module (it currently only works with SirsiDynix Unicorn). My take is that this job should be a whole hell of a lot easier, thanks to Jason et. al.

    One thing I find pretty slick about their site is the promotional video. That’s Andy Ditzler doing the voiceover (and I’m assuming he directed it). It’s seldom you see an OpenSource project with a marketing video, and even less by one sponsored by a library. I mean, who cares if the documentation is spotty if there’s a slick promotional campaign, right?

    I don’t mean to sound so much like a shill for Reserves Direct, but it’s really amazing to see something that started by being disappointed at an Eres demo turn into this.

  • Gussying up OpenSearch

    So, last week, before I left for SMUG, Mike Rylander (of Evergreen-ILS), Joshua Ferraro (of Liblime/Koha) and I began talking about OpenSearch interfaces for our respective catalogs. The only reason I was able to really contribute to the conversation was the fact that I had my little python CGI, but I hadn’t thought much about it since I wrote it.

    I had largely given up on targeted searching within OpenSearch due to the fact that targeted searching would be wasted on A9. A9 is basically only keyword and phrase searching, so more sophisticated queries would really only produce results in the catalog column. You would remove any advantage of A9’s cross searching plus you’d remove any advantage of the catalog’s native interface. Since I hadn’t seen anyone else implementing OpenSearch, there was no point in pursuing this.

    Well, until last week. Mike was talking about implementing OpenSearch in Evergreen and was interested in including results from Koha catalogs. Since I had already created my OpenSearch widget, it also seemed like a natural target. More natural, in fact, since the advantages of including the Georgia academic libraries in a search of Georgia public libraries (and vice versa) seemed so obvious.

    This meant that targeted searching needed to work, though. I made the suggestion that queries should assume keyword and respond to CQL if it is supplied. CQL is just so intuitive that it seems silly not to use it, plus the added bonus of not having to manipulate it in any way before I send requests to yazproxy. Always looking for ways to get out of doing work, you see. So with that statement, I packed up and headed to SMUG and its lack of internet access for the rest of the week.

    When I got back, not only had Mike created a proof-of-concept search interface, he had also created an extension to OpenSearch to account for relevancy and merged sets. He proposes adding the namespace xmlns:openIll=”http://open-ils.org/xml/openIll/1.0″ and using an <openill:relevance> tag to display relevance. With this, result sets can be merged and sorted by relevance, and any search targets that don’t include this will appear as columns like normal.

    There are some issues with this method, the most obvious being “what is relevance?” For example, I have no abilities to sort or get relevancy rankings from Voyager’s Z39.50 server. In order to make Mike’s proof-of-concept work, I had to “fake” a relevancy ranking based on order (which is always reverse chronological by creation date). I take the remainder of 100 minus ((the quotient of 100 divided by the number of results) and multiplied by the (result number minus 1)) (wow, refreshing my arithmetic vocabulary). My point here is, that’s a crappy algorithm. For queries that produce thousands of results, you’ll wind up with upwards of 50 hits with greater than 98% relevancy, despite the fact that the second result may not be relevant at all. Of course, I’d never put this in a production system, but it still goes to prove that relevancy is relative. The other problem is that in a merged search of two or more OpenSearch targets, the results on page three of a given target may be considerably more relevant than, say, the third result of the other target, yet you will still get all of the less relevant results in the pages in between. While, this is possibly a valid argument, it sort of misses the point of OpenSearch which I view merely as a resource exposure tool rather than a robust search protocol (at this stage, anyway).

    The good news is that when Art and I have our OPAC mirror set up, we will actually be able to do relevance properly. The even better news is that we don’t even have to have a concept of how the public interface is going to work to get this functionality. We’ll have the data, we’ll have the indexer, we just need to point Z39.50 queries to it and then direct them to the real OPAC (for now).

    One thing I want to point out, though, is how cool the Evergreen and Koha results are. Not only are they deduping (we’ll be able to do that later), but they display a sort of brief holdings (x copies available) and provide links on author and subject. I wasn’t even thinking about providing subjects! I will have to see how easy it is to add this sort of functionality to our search results.

    I hope to be able to point our OpenSearcher at our DSpace repository soon, too. We’re currently trying to install the OCLC SRW web app and this could go a long way in providing exposure to DSpace from other resources like WAG the Dog or our catalog.

  • Mr. SMUG Man

    So I’m sitting in the Adele K. Stamp Student Union at the University of Maryland waiting for the shuttle to take me to the Metro and the airport (and out of this hell-furnace they call D.C.) logged into their campus wireless with some username and password that got passed around at the SMUG (SFX/Metalib User’s Group) conference.

    All in all, this was a really useful conference (and I don’t throw those words around lightly). One major problem, however, was that there was really no internet access for the people here (to be fair, there was a lab in the library that we could use — but our schedule didn’t allow us to get there much). Even worse, I was staying in the dorm. The dorm rooms have nothing but a bed, really… so it was imperative to avoid the dorm at all costs until I wanted to fall asleep.

    But back to the conference: this was my first SMUG, and I really didn’t know what to expect. The morning started off (early!) with the typical rah-rah fest of the vendor announcements (this time through the Ex Libris filter, rather than Endeavor). The last of these, though, was a bit inspirational.

    Ex Libris has named Oren Beit-Arie their Chief Strategy Officer and he spoke about upcoming development and goals for the company. The amazing part here is he talked about how Ex Libris was going to focus on interoperability. He added that Ex Libris wants to create products that are modular and can be used with other technologies, whether Ex Libris is the backend or something else is and Ex Libris is used as the front end (or vice versa). Wow! This is exactly what I asked Endeavor to do (they won’t).

    Dear University System of Georgia: can we please move to Ex Libris as our primary vendor?
    If not, Dear Ex Libris: are you hiring?

    Helping put the smug into SMUG, oddly my name was mentioned by two of the speakers before 10AM on the first day (Oren and Roy Tennant). The last time my name called out before 10 AM in a room full of my peers, I had to do 3-5 (thank you folks, I’m here until 3PM!). To be completely honest, though, it was always addressed as “Peter Binkley and Ross Singer”. This is actually the way it should be done, Peter should always come before me. Still… flattering that Oren had any idea who I was. Roy, of course, is on the beer (scotch, wine) list.

    Roy was next to talk about the pros and cons of Google Scholar. This was very informative, made even more so by the fact that Anarug Acharya (principal engineer, Google Scholar) arrived in the middle of Roy’s presentation.

    Then Carla Lillvik of Harvard spoke of their Metalib installation. I’m sorry, but it flat out sucks. Worse, it has taken 2 years to get to this level of suckery. Metalib–

    Next up was a panel on Metalib usability testing. If anyone needs to read Polishing the Turd, it’s these folks. It seems the problems with Metalib’s user interface are so deep (and customization so difficult) that they resort to things like “changing colors of tabs” to help the users. Metalib–

    Anurag spoke after lunch and talked about the mechanics and direction of Google Scholar. I feel a little better about the holdings issue now, but I still am a bit uncomfortable about the advantage that gives Google Scholar over other database search engines. Anurag is an interesting fellow. He’s very confident (some may take it as arrogant), intelligent, and while he wants to work with libraries, he doesn’t really want to deal with our b.s., either.

    At this point the program changed dramatically and my presentation with Selden was moved up to be next. I hadn’t actually gotten a chance to get to a computer to see if my presentation was working (it’s, of course, a live presentation). After a scary moment without any network connectivity, we were up and running. Frank Cervone introduced us and mentioned my heavy metal hair from high school. As usual, I forgot half of the things I wanted to say while onstage.

    It was quite cool that Anurag stayed as long as he could through my presentation.

    Afterwards, I spoke to Oren and he got me on the notion of “Context Objects” vs. “Latent OpenURL Autodiscovery”. I will definitely investigate this more, but Oren (and Herbert van de Sompel) are probably right. This is probably a much better approach.

    I need to start wrapping this up so I can catch the shuttle… but I have quite a bit more that I want to say… mainly how by day two (thanks to Roy, Mike McKenna and David Walker, not to mention Karen Groves) I am very high on Metalib again, but only through the X-Server. I got to spend a lot of time with David Walker (in fact, he was inducted into the beer list) and I’m really glad I did. He’s doing some amazing stuff at Cal State San Marcos and we can all learn a lot from him.

    So, Metalib++?

    I also have several orders for WAGgers. I am thinking of maybe moving it to being a hosted service.

    Also, thanks to Katie Gohn for supplying the entertainment at our table at the Dinner/Reception Thursday night.

  • The Rock & Roll “Aesthetic”

    When people ask me why I “retired” from acting a couple of years ago, I always tell them, “Because I don’t like other actors”.

    So why I decided to get back into playing music is a bit beyond me. While actors and theatre people have their constant drama and their singing songs from musicals at cast parties, in many ways it pales in comparison to the juvenile society and culture that exists around rock and/or roll.

    This is my first real band since The Province of Avocado (Ashley Proffitt doesn’t count) which was, like, back in 1999 (so last millenium…) so I hadn’t bothered to maintain my equipment. After dealing with a shorted out instrument cable for a month (and a shorted speaker cable for even longer), I finally decided it was time for new cables.

    I really hate guitar shops. They are crowded, expensive, staffed by former members of my high school heavy metal band, and one has to hear (repeatedly) some kid (badly) playing either:

    • Metallica’s Seek and Destroy
    • Metallica’s Master of Puppets

    or, if they want to show how sensitive they are

    • Metallica’s Welcome Home (Sanitarium)

    It almost makes you nostalgic for the poorly played Stairway to Heaven you used to hear.

    So, a couple of months ago, with the Benz overheating, I drove across Atlanta to Guitar Center to buy some cables. It was everything I feared and worse. To boot, their cables were really freaking expensive, and since Selena’s reluctant about my spending $35/mo. on rent for our practice space, she would really freak out if I spent $100 on cables.

    So I went home and bought all of my cables for somewhere around $30 from Musician’s Friend. This, naturally, put me on their mailing list.

    So when my first catalog arrived, I was transported back to high school. Oh sure, some of the companies are different (although not that many) and some of the gadgets are high-techier (although not much), but the vibe is still the same. And for a 32 year old, it is a vibe of shame.

    Let me get some things clear before I continue:

    1. I went to high school in Chattanooga, TN.
    2. I graduated in 1990.
    3. When I graduated, I had hair halfway down my back.
    4. My ensemble routinely consisted of tight jeans, converse all-stars (or wrestling shoes) and either a Metallica t-shirt or a Queensryche t-shirt.
    5. My first bass (a Peavey Foundation) was purple.
    6. In my senior year, my band performed for the entire school some Tesla song and Ozzy Osbourne’s Crazy Train.

    What I’m trying to say is that I’ve been in the belly of the beast of bad taste and it’s nothing to be proud of and it should not be perpetuated.

    So imagine my horror, 15 years later, when I see this. And this. And this (Dave Mustaine?!). How about this one? Even moving over to basses, where I belong, and had hoped (erroneously) was more “dignified”, revealed this. At least there aren’t as many cheesy graphics.

    The struggle for the average musician is navigating between the heavy metal death schwag and the jam band “kind” look. My current bass strap would make the unsuspecting bystander think I play in the “Dave Matthews Cover Band”, due to my frustration at trying to find a comfortable, padded bass strap a couple of years ago. I hate it, but I hate skulls and flames and snakes even more.

    Dear “rock & roll industry”: Zakk Wylde, Joe Satriani and George Lynch weren’t that all that cool or interesting 15 years ago, please stop trying to sell me their crap now.

    Also, I still have my Peavey, but it’s no longer purple and it sits in pieces in my shed.

  • The view from the moral high ground reveals that I’ve fallen behind

    I drove to work today. Normally, I take the train, but for several stupid reasons, I decided to drive.

    Atlanta drivers have a disdain for “rules” and “traffic laws” that make me want to scream. They will pass you in an exit-only lane only to hold up that lane when they try to merge back into traffic 3 cars ahead. Four or five cars will plow through the intersection after the light has changed. The turn signal is apparently a sign of weakness.

    So, because some fathead wants to get 6 car lengths ahead, we all sit and suffer in some of the worst traffic in the country. By actually following the rules, you:

    1. Are forced to sit in the traffic being caused by those that break the rules
    2. Are probably more of a liability on the road because if everyone is doing “wrong” things, you are the unpredictable one by being different.

    Which brings me to metasearch (and a jarring segue). I am currently not sitting in a meeting in Macon to decide which metasearch product the state is going to go with. And, really, it doesn’t matter that much.

    Although I won’t name any names, the candidates were down to two choices:

    1. A “traditional” metasearch that uses standards like Z39.50, SRW/U, etc. to search
    2. A metasearch that is based on screen scraping

    While the research libraries in the state were leaning towards #1, there was something gnawing at us that was hard to deny.

    #2 really mopped the floor with #1 as a federated search engine. Not only was it exponentially faster, but it is capable of searching over 95% of our databases (as opposed to #1 which is in the 30-40% range… and does that slowly).

    Still, there is other functionality in #1 that still makes it desirable (mostly revolving around workflow and integration into an academic environment, integration with our link resolvers). As a cross database searcher, however, #2 is clearly the winner.

    What this brings me to is… How did we get to this point? Why is it actually so much easier and brings better results when we “break the rules”? We have invested a lot of time, thought and energy into creating our standards… how can it possibly be easier to screen scrape results pages rather than use the tools we have created?

    I blame libraries first. Securing access via Z39.50, XML gateway, API, etc. has never been a particularly high priority. Metasearch is not only a “systems” issue. It also needs to be looked upon as a collection development issue. If two vendors have “Compendex” and only one of them makes it available through means outside the native web interface, unless that vendor’s native web interface is “the suck” (technical term), they really should be considered the more desirable option. Along with a whole host of other factors, of course. Still, I think non-native access is a very low priority among collection development decisions.

    I blame the vendors next. First of all, so many of them don’t even offer some sort of alternative access. Secondly, if they do, it’s an afterthought.

    I have been toying with robcaSSon’s federated search project, unhelpfully supplying suggestions when he asks #code4lib for help on particular problems. What Rob has written so far is very cool (but unfinished and therefore not publically available) but it struck me how slowly it searched Academic Search Premier and Business Source Premier (that’s Rob’s “canned” query — those two dbs with the keyword search “hamid karzai and heroin”).

    In the native interface, searching across those two dbs is nearly instantaneous… it’s basically just waiting for the browser to render the tables that takes any time. In Rob’s interface, it takes about 5+ seconds to do the same search (and this is with no load on Rob’s end, since it’s not in production… so real world performance would probably be lower). Now, as we learned from Metasearch product #1, this is sadly respectable in the metasearch arena. It’s still bad, though, and I wanted to figure out why it took so much longer.

    Using indexdata’s handy yaz-client, I fired up a Z39.50 session to EBSCO’s Z39.50 server to investigate. Searching “hamid karzai and heroin” took a little over 4 seconds. Hmm. 4 seconds?! So I did a search for “female genital mutilation”. 0.2 seconds. Hmm. I did the original search again. 0.05 seconds. Wow. I exited out of yaz-client and then reopened the connection and did it all again. Basically the same thing.

    So, apparently it’s the first search in a session that’s a problem. And that sucks. Inherently, every search in a metasearch is the first search in the session. Certainly some connections can be cached, but this definitely raises the complexity of the application and, no matter what, not everything can be cached all the time.

    Now, yazproxy would be perfect for dealing with this. It could maintain the session information and at the same time transform the output to xml. Everybody wins! Well, except I can’t get it to work. I guess that’s a bit of a hindrance…

    So, again, by trying to do right and follow the standards our community has set, we are left behind the sloppy, inexact searching of a screen scraping method. Ultimately, we all lose, though, because screen scraping can only go so far. The richness of services we can layer upon a screen scaper has far less depth than that of a structured search.

    And laying on the horn doesn’t really help…

  • WAG the Monkey

    I’ve finally managed to rewrite quite a bit of the WAGger to run in Greasemonkey, a sort of crazy swiss-army knife for Firefox. My only experience with Greasemonkey up until now was modifying Peter Binkley’s Firefox extension to work with GM (which required… nothing on my part, really). My hesitation mainly revolved around my historical frustrations surrounding JavaScript and the amount of work I’d potentially have to put into something that works in a browser that nobody uses.

    Now I’m pretty happy I invested some time.

    First of all, I have the WAGger persistence that I really could never get from the PHP Localizer. Instead of requiring the user to know when to use the bookmarklet, WAG the Monkey knows when to wag for the user. Of course, this assumes it’s always on, which is less than ideal.

    Another advantage is that it’s fast. Real fast. Like so much faster. Like really.

    The best part is that I think I can use most of it for a better and faster bookmarklet style WAGger, as well.

    Thank you, Greasemonkey, for making me get off my ass and learn JavaScript in ways that I should have a long time ago.

    If you want to try it (for a Georgia Tech experience), install Greasemonkey, then this user script.

    Now that I’ve overcome my fear of JavaScript, maybe I’ll take a look at Piggy Bank. RDF has always given me the willies…

  • Vendors are people too… …or so we’re told

    Today, I attended GUGM 2005. GUGM stands for “GIL User’s Group Meeting”, and, unless you happen to be from the State of Georgia, you probably have no idea what that means. “GIL” stands for “GALILEO Interconnected Libraries” which is fancy name for the consortial deal the University System of Georgia has with Endeavor’s Voyager. All 34 USG schools use Voyager and we have a big, happy union catalog and universal borrowing and the whole works.

    So once a year USG and Endeavor throw GUGM, which is a hodge-podge of Voyager semi-related sessions intermingled with Endeavor rah-rah propaganda.

    I was in attendance because I was asked to do a presentation on WAG the Dog. I probably wouldn’t have gone otherwise. There were very few automation type sessions and learning about the problems with ILL and cataloging aren’t the best way I can spend my days.

    Still, I actually had a pretty good time. I carpooled down (to Macon) with Crit Stuart and we had pretty good conversation – amazing since we left GT at 7:30AM. The keynote speaker was Kris Biesinger on GACollege411. This is a really pretty incredible service for high school students in Georgia to help track their path to college. Bravo! I certainly wish something like that had existed when I was in high school (and I wouldn’t have wasted a year and a half at UTC).

    This is not the point of this posting, however.

    The first session I attended (by process of elimination) was one of the aforementioned Endeavor rah-rahs given by Dave Richter, VP of Global Sales. It was a mostly dry overview of the “state of the company” and whatnot, but what stuck with me was an air of humility that permeated from his PowerPoint.

    We have gained of reputation of being less responsive to our users.

    We need to act more like partners with our customers.

    We need to become technological innovators again.

    Granted, this was coming from the VP of Global Sales, so if anyone should be able to cry crocodile tears it was he, but still, there was something to these admissions of culpitude that one rarely sees from a vendor, especially one associated with Reed-Elsevier.

    He went to describe the dilemma of being a library vendor in that one may have to go the “novel” approach of working with another vendor to deliver a particular product. That this sort of “radical” thinking was what you sometimes “had” to do, but what to do if this particular deal would possibly favor a competitor’s product over another you or your parent company offers?

    Here is where I had to interject. I tried to hold my tongue as long as I could and I kept telling myself, “Don’t sound confrontational… Don’t sound confrontational…”… but I think I sounded confrontational.

    I said something along the lines of:

    I understand that you have a business to run and you have to think of the bottom line across all your divisions… but ultimately that hurts us. We can’t expect any one vendor to supply all of our information needs, so therefore we need you to play nice with each other. Further, we need to be able to do anything we want with our data and the data we’re paying for. When we license Voyager from you, we don’t want proprietary features that make WebVoyage do things that we can’t do in any other way. We have ideas of what we can do with our database, and the limitations you set on what we’re able to do with it forces us into little silos of data. And that’s good for no one.

    I went on to say some more about “speaking for the library developer community at large” (sorry library developer community at large) that we need vendors to relax a bit and open up their products more to us.

    I talk a lot, I realize, but the crux of this is: We have to treat each other as “partners”. We (the libraries) are reliant on the ILS and database vendors to accomplish our tasks as libraries. Vendors are reliant on libraries to even have their freakin’ business. We both need to address the reliance we have on each other and actually work with each other as symbiotic entities.

    Also, Memo to library vendors: Don’t worry so much about losing our business to a competitor. There is no reason to be overprotective. An ILS migration is probably the biggest nightmare that faces a library organization, so it would take an incredible act of negligence or bankruptcy to drive us away.

    One last note. If you want to regain your place as a technological innovator, perhaps you should start fostering and endorsing a development community among your customer base. It could only serve to make your product and company stronger.

  • Exposing ourselves – what libraries can learn from the flasher community

    Last Thursday/Friday I decided to put my development time where my mouth is and actually try to fiddle around with A9’s Opensearch. Earlier in the week, I had told my boss that I wanted to do this and that I didn’t think it would take much time or energy.

    Her reaction was:

    1. What is Opensearch?
    2. Ok, now that I know what Opensearch is, why on earth would anybody choose to search Georgia Tech’s catalog in their web search?

    At the time, my argument centered around the fact that I was only using our catalog because it would be a fairly simple exercise to get working with Opensearch. If it seemed viable and simple to do, the real project would be to get our DSpace repository searchable this way. Since my proposal wasn’t really gaining much momentum with her, I tried to sweeten the pot by noting that our environment was set up exactly like the Library of Congress’s (SRW/U via Yazproxy to a Voyager database), and if they found it useful… well, wouldn’t it make Tech look good to have the LoC using something we developed?

    Ok, I realize this definitely makes me seem like sort of Iago whispering weasely ideas into Othello’s head but there is some truth to it and if the end-product is a success (or even if the LoC is passingly interested in it), I think there’s some “good to be gotten”. Having an agenda isn’t necessarily wrong. Using other people’s desire to increase our profile in the community to further that agenda probably is, though. Oh well… enough of my cravenness.

    So, in an effort to expand my horizons a bit and to try to make this a little more portable (you know, just in case the Library of Congress is interested…), I decided to try to develop this Opensearch to SRU thingy in python. Dan and Ed have been advocating python for a while now (as has my friend Tom… apparently python is heavily used in XBox hacks). The #code4lib sprint at ALA will probably be python-based, so I thought I better start getting familiar with the language a bit. I had dived into python a couple of months ago to try my hand at unalog development, but reality stepped in and dragged me back to PHP. I always do better if I have an actual objective, anyway.

    By the time I left for a mini-vacation (ah, so therapeutic!) on Friday, I had a mostly working prototype (thanks to Dan for some python pointers). In fact, it was a completely working prototype except for the fact that it wasn’t encoding xml entities (so, keep it in lower ASCII, folks!), which is, of course, less than ideal. I should be able to fix that today.

    Right now the query requires either “keyword anywhere” or minimal knowledge of CQL. The nice thing about CQL is that it actually makes quite a bit of sense.

    • author=Hemingway
    • subject=biology and title=”Introduction to biology”

    This syntax either needs to be made apparent in the Opensearch column description (less than ideal) or it needs to be translated from however A9 would define this sort of thing.

    On my train ride in this morning, I began to think about the conversation with my boss about this project again. Even if our potential user base is relatively small, isn’t this exactly the sort of thing we want them to be able to do? From a search engine or any search of any sort, wouldn’t we want to also be able to show relevant resources from our own collection? Yes, the user would need to add the column (strike one!) to their A9 search results (strike two! They’re at Google!), but if it’s easy enough to implement, why wouldn’t we offer this? A metasearch would certainly be more ideal to expose our collections, but I don’t have access to that right now and I haven’t figured out how A9 deals with access controlled content, anyway.

    One of the goals of the redesigned OPAC project is to create human parseable, crawler-friendly urls so these avenues of discovery can be opened. There is no good technical reason that web opacs place the session information in the url (my guess it is for backwards compatibility with cookieless browsers).

    Wouldn’t these urls make a lot more sense:

    • http://gil.gatech.edu/isbn/0632044160
    • http://gil.gatech.edu/author/Wilson, David L./title/Introduction to biology
    • http://gil.gatech.edu/issn/1465-7392
    • http://gil.gatech.edu/title/Nature cell biology

    urlencoded, of course.

    Things like this seem so simple for providing a little better access to our collections from the outside world.

  • Polishing the turd: the dangers of redesigning the OPAC

    So as Art and I continue to try to export the data from our respective Voyager catalogs to create an alternative web opac, I have been trying to formulate what such a beast should look like. We have the opportunity to make the web interface look and behave in any way we want, so there are a lot of things to think about. The goal is to make the opac behave in the way non-information professionals would expect a searching interface to work, so we’re not just talking about a cosmetic makeover to the current design.

    We just had a professional usability study done on our web site and services. The results were rather sobering. While not every aspect of our web presence is bad, a great deal of it is, and, worse, the bad parts are generally the most important. Making the situation even more complicated is the fact that a lot of these awkward interfaces are not under our control (the databases, ejournals and opac). Well, not currently under our control.

    I’ll skip over the part about our website (we’re able to fix that pretty easily) and write about what they recommended for the catalog. The first screen they gave us was a redesigned search form. An interesting dialogue came out of that:

    Usability Expert: Ok, so this is the search form…
    Librarian(s): So… is this the simple search form or the advanced search?
    Usability Expert: This is the search form.

    And it really is as simple as that. It is a text input field that, by default, would do a keyword natural language query on the catalog, or you could add limits and filters (title, author, subject, etc.) or make a more sophisticated boolean search using the exact same form.

    The other screen they showed was a full record page for a journal. It was extremely well laid out, but I noticed that it had a lot of visual clues in the page that item you were looking at was a journal. This is another incredibly simple feature. Different types of resources can have their own layout based on what is logical for that type of resource. Also, we could conceivably display electronic holdings from SFX in our opac interface, so the user doesn’t have to click on the SFX button (or generic 856 link) and open the SFX window to see if an issue is available electronically. We could also, at this point, give recommendations of other resources that might be valuable (such as A&I databases that this particular journal appears in).

    The usability study was extremely useful for looking at the opac through non-library eyes, but with a view focused on making things more useful.

    Last week I began trying to visualize how to lay out search results. The initial design, I think, will look something like:
    Your search for “Ernest Hemingway” resulted in:
    167 Total Items :: 102 Books :: 50 Videos :: 2 Journals :: 13 Audiobooks :: 1,072 Items from GIL Express

    With each of those being tabs to view different types of resources (plus a link to our state union catalog at the end). The goal is to be somewhat A9-ish, but I can’t say I’m a huge fan of the column layout.

    I am, however, a huge fan of the folksonomy. I definitely plan on implementing user-supplied subject headings. We want to implement a del.icio.us style social bookmarking/citation management system here anyway (probably using unalog), and it seems like this would fit in quite well with that. I wouldn’t actually expect users to just add “tags” to things without some sort of personal gain, so if it was incorporated into a “bookbag” system, it might actually get used. Although the idea of just leaving breadcrumbs around the opac (and databases) might be useful if they don’t want to clutter up their bookmark pages with a ton of items. This is something that we can play around with. Mark Leggott talks about adding folksonomic support in the University of Winnipeg’s alternative opac project, as well. Interestingly, I had no idea Mark was working on something like this (rob caSSon, at the University of Miami, Ohio, is also working on a similar project. Miami and Winnipeg are both III sites; perhaps they should get in touch with each other).

    Over the weekend (yes, I get a touch obsessed about my job), I began thinking about the utility of displaying dust jackets in the opac. When I was designing a new books list application at Emory, it seemed “obvious” to include dust-jackets in the results. I mean, that’s what Amazon does and it’s user-friendly, right? Well, while I was thinking about it this weekend, I started wondering how useful this really was. What is the purpose of showing the dust jacket? It certainly won’t help the user much if they go into the stacks to find the book… we rebind everything in those boring red/green/gray/”khaki” bindings, with no indication of what the original dust jacket looked like. If anything, this seems like it might be more confusing to the user.

    Something that seemed so “obviously necessary” in a modern opac 12 months ago now seems pretty frivolous and would just add unneeded clutter to what will probably already be a fairly cluttery interface.

    I’m sure this design will continue evolving, but it’s got to start somewhere.

  • Reflections on the Shins at the Variety Playhouse and ruminations on some other recent shows

    I am a total sucker for a well crafted pop song.

    This might come as a bit of a surprise to anyone that is familiar with my standard listening fare, but this secret obsession is nothing new. Let me clarify: when I say “pop”, I am not talking about the bubblegum pablum and effluvium that the industry tries to pass as music, but genuinely original, thoughtful and well-created songcraft that appeals to me as both a musician and a human being.

    Enter the Shins. There is arguably no other act right now that is producing such catchy and hook-laden music. It’s not all necessarily upbeat, but it’s all pop. It also has the unique attribute of being something that Selena and I both really like.

    Selena bought us tickets to their show last night at the Variety Playhouse. The Variety is definitely one of the better venues in town and I had been looking forward to the show.

    I need to go on a sidebar here before I continue: I am a misanthrope. In general, I abhor other people (at least in groups) and find myself dreading to go to events with large numbers of people because I feel those people cannot be trusted to behave. Since I realize I am in the minority here, I generally just opt to avoid situations where I’ll get agitated by the behavior of others. For example, Selena and I have never been to a movie together. We both have had enough aggravating experiences in movie theaters that we feel it’s just in our best interest to wait until the movie comes out on DVD.

    This being said, I do like to go to shows. However, given my general musical tastes, majority of the shows I go to are populated by a fairly homogenous, docile, and, in many cases, stoned crowd. That’s my “base” and we’ll call “comfort zone”.

    Poppier music pushes me out of that safety net into the more dirty masses and I tend to get a little tweaked and annoyed by the behaviors of those around me.

    So, back to the story. The opening act was the Brunettes and we can just say that the less I have to deal with them the better. They are a New Zealand band that reminds me of the Partridge Family and for their last song (or one of their last songs… I lost track) they all donned “Olsen twins” masks and played their instruments. It was like musical Carrot Top and I was happy when their set ended.

    The crowd consisted of a lot of frat boys and their girlfriends/wives. There were quite a few visors worn. I am not much of a fan of those who wear visors. At one point, I leaned over to Selena and explained that by playing the music we do, my band would never attract a crowd and, as a pleasant side-effect, would therefore certainly never attract this crowd. Selena wasn’t really buying it, though. She still just thinks my music sucks.

    The Shins were quite good. They had a lot of energy, their songs were tight. My… complaint… if you can call it this… is that I felt like they acted like they were playing at a frat house (and it seemed obvious that they had experience doing so).

    Maybe I should stop now… The Shins are a very good band and if you don’t get hung up on the crowd, you’ll probably enjoy them live.

    In the last three weeks, I have seen Band of Horses (or, more commonly, just “Horses”) twice. They opened for Iron & Wine at the Variety a couple of weeks ago, and I caught them again last week at the EARL opening for the Mountain Goats. It’s not often that I am blown away by an opening act, but Horses was pretty amazing. There is a bias here, Ben Bridwell is the younger brother of Mike Bridwell, who is a close friend and, until last December, neighbor. I had seen and enjoyed Ben’s previous band, Carissa’s Wierd, but Horses is much better. Their sound definitely has some roots in Crazy Horse, but there’s a Pac-NW sound in there, too. There’s some old Modest Mouse and a lot of Black Heart Procession and it’s just good.

    Iron & Wine, of course, is great as well. Again, there’s bias. I&W’s drummer, Jonathan Bradley, also happens to be the drummer in my band. If you are familiar with Iron & Wine, your reaction might be “drummer?!?”, but, indeed, Sam Beam tours with a full band. Jonathan also plays “shaker” and other various wussy percussion on the albums. Sam has begun to rearrange some of his older songs to take advantage of the extra instrumentation, but sometimes it goes a bit far. “Bird Eating Bread” sounded like a Jimmy Buffett song. I sort of hope this is just Sam getting used to all the toys at his disposal.

    A quick note on the crowds of these two shows: Iron & Wine’s was ok, but there was a bit too many of the “indie-rocker idolaters” of the variety that haunt “Low” and “Pedro the Lion” shows and stand in reverence and yell, “We love you” to the band.

    Maybe because the headliners were the Mountain Goats, and it’s hard to imagine anyone shouting “we love you” to John Darnielle, the crowd at the EARL was much better. Ah, sweet, sweet EARL…