How we added WebBridge / Pathfinder Pro links to our Encore catalogue

When we launched our new catalogue, Encore from Innovative Interfaces Inc., in June 2011 among the first problems identified by staff and library members was that it did not have a way to request journals from our closed stores (we call this the Stack Service which includes our tower and an offsite store in Egham, Surrey).

This missing functionality between the old and new catalogue was a major barrier to buy-in. Not having it meant staff had to explain three parallel systems for requesting just one type of material from the store. Our readers want to request store material online quickly and efficiently, not have to deal with navigating between two different catalogues.

A new release of the Encore catalogue software has enabled us to rectify this and in this post I’ll explain how. The third request system was paper forms, in case you’re wondering…

Link from the Encore record to request a store journal, based on Pathfinder Pro data.

Requesting journals

Historical note: Pathfinder Pro used to be part of Innovative’s WebBridge product, which included both an OpenURL link resolver for linking in, and software for presenting context-sensitive links on your record display. Systems librarians at Innovative sites often refer to both products as “WebBridge”.

Requesting journals from a closed store is problematic for an Innovative library if you are cataloguing journals in a normal way – using a holdings or checkin record to detail what you have, rather than itemising each individual journal volume on its own item record.

In our old WebPAC catalogue I had devised a way of using Pathfinder Pro to link out to a Web form that would send some bibliographic data to pre-populate a form. It’s easy to link out to a form from the record (put a link in the MARC 856 for a quick solution) but reusing the record metadata itself helps readers to not introduce errors.

In my opinion Pathfinder Pro is a good product – the tests you can apply are quite powerful including matching parts of your record based on regular expressions and the like.

The basic principle to enable this linking is:

  1. Check to see if the holdings record is in a store location. Egoist : an individualist review is coded ‘upr’, for example, and a data test in Pathfinder Pro is used see if the holdings record location field equals ‘upr’.
  2. If the record is a store location, build a link based on selecting the journal title, classmark, and the system record number from the bibliographic record. What is actually rendered on the page is a link using the same icon as we use for other types of online requesting:
Link from the WebPAC record to request a store journal, using Pathfinder Pro (circles in orange).

This generates a link to our online request form:

http://www.ulrls.lon.ac.uk/stackrequest/requestform.aspx?JtitleText=Egoist%20%3A%20an%20individualist%20review.&JlocationText=STACK%20SERVICE&JclassmarkText=PR%20Z&JbibText=b1746208a

Which leads to a neatly pre-populated form:

The problem with Encore

The thing that prevents this working in the new catalogue is Encore lacks the Pathfinder Pro “Bib Table” which allows you to place links on the record display itself. In the screenshot above the Bib Table is the space on the record that contains three buttons, including the store request button circled in orange.

This is a problem as many Innovative sites have built services around this feature of Pathfinder Pro that include placing a link prominently on the bibliographic record.

Towards a solution for Encore

The latest Encore release 4.2 allows you to customise the Encore record display by including your own JavaScript. My presentation on this from the European Innovative Users Group conference 2012 with further examples is available:

I decided there simply had to be a way to insert a link to the store request form into the page using JavaScript…

  • Our first thought was using JavaScript to check if the record is in the store, then building a link to the request from by plucking bits of metadata from the page. This was a non-starter as the structure of the rendered Encore page is not semantically sound enough to work with in this way.
  • Second thought was to use an Ajax call to scrape the record display of the classic WebPAC which would be easier to work with. This isn’t possible as Encore and the WebPAC run on different Web servers so you run into the same origin policy. And no, you can’t set up a proxy server on your Encore server to work around it.
  • Third thought was using a Web application with a dedicated screen-scraping library that that could pull the metadata from the classic WebPAC or Encore. We’d link to this from the Encore record display and allow it to direct the reader’s browser to the populated request form. This is almost what we implemented. Read on…

How to do it

Building a link out from the Encore catalogue is simple. The JavaScript for the Encore record is available as a Pastebin for easier reading.

What this will do:

  1. Get the system record number. The simplest way I’ve found to do this from the page itself is use the document.URL which contains the record number.
  2. Check to see if a div exists with ID toggleAnyComponent. Not that you’d know it from the name, but this div is rendered only if there is an attached holdings / checkin record which means we’re dealing with a journal record.
  3. If if exists, check to see if the div matches a regular expression for the string “STACK SERVICE”.
  4. If it does match, create a link out to our Web application and append it to the existing customTop div.

This link out appears in this form:

http://www.ulrls.lon.ac.uk/stackrequest/parse.aspx?record=1746208

1746208 is the system record number for Egoist, minus the leading ‘b’ and trailing check digit.

Web application for screen-scraping

The real work is carried out using a Web application written in ASP.NET by my team member Steven Baker. Steve used the Html Agility Pack which is a library for .NET ideal for scraping Web pages. Of course, you can use your favourite language to accomplish the same thing.

Scraping from the Encore or WebPAC record display is a complicated business and how our library has named our various locations and classmarks was not helping.

So instead of scraping the page directly and including lots of different tests to deal with the various oddities found in the markup, it’s much simpler to scrape the WebPAC record display and pick out the div containing the link rendered by Pathfinder Pro.

This link already has the metadata required for the store request form so it’s then just a matter of using this URL to send the Web browser on their way to the request form.

The first step is to load the classic WebPAC page using Html Agility Pack. The link from Encore provides the system record number to generate a link to the WebPAC screen in this form:

http://catalogue.ulrls.lon.ac.uk/record=b1746208

The Pathfinder Pro wblinkdisplay div from the classic WebPAC looks like this for the example of Egoist : an individualist review:

<div class="wblinkdisplay">
<form name="from_stack_service159_form">
<a href="" onClick="javascript:loadInNewWindow('/webbridge~S24*eng/showresource?resurl=http%3A%2F%2Fwww.ulrls.lon.ac.uk%2Fstackrequest%2Frequestform.aspx%3FJtitleText%3DEgoist%2B%253A%2Ban%2Bindividualist%2Breview.%26JlocationText%3DSTACK%2520SERVICE%26JclassmarkText%3DPR%2BZ%26JbibText%3Db1746208a&linkid=0&noframe=1');return false;"><img src="/webbridge/image/request.gif" border="0"></img></a>
</form>
</div>

You can see the URL Pathfinder Pro normally redirects the Web brower to. The next steps are:

  • Select the div with class wblinkdisplay.
  • Cut out the URL based on using “resurl=” and “‘)” at the start and end of the URL to get the indexes needed.
  • URL-decode the resulting string.
  • Redirect the Web browser to that URL.

In live use, this is so fast that the end user doesn’t realise anything is happening in between clicking the “Request from Store” button in Encore and getting to the request form itself.

Comments on this approach

There are several advantages to handling Pathfinder Pro and Encore integration this way:

  • The work to pick out metadata from the record has already been done in Pathfinder Pro and doesn’t need re-implementing.
  • This will be easy to extend to other store journals, or if journals move from open access shelves to the store. We only need set up a new location in Pathfinder Pro and it’s reflected in Encore as well. We’d have to do this anyway to enable online requests in the classic WebPAC.
  • This approach isn’t specific to journals and could be used to put any links generated by Pathfinder Pro into Encore.

However, this isn’t a complete solution as it doesn’t just give you the Pathfinder Pro Bib Table in Encore. This is what we would really like and what we have asked our software supplier for. That said, if you can pick something unique out of the Encore record to test for then you can link out from Encore in a way that replicates the behaviour of the linking in classic WebPAC with Pathfinder Pro.

Please do contact me with any questions or your thoughts, or leave a comment below.

The anti-social catalogue – at Library Camp Leeds

On Saturday 26th May I attended Library Camp Leeds (libcampLS), a regional library unconference hosted by Leeds City Libraries. The conference took place on a beautiful sunny day at Horsforth library.

In a masterful move by the organizers we decamped to nearby Hall Park for the afternoon sessions which meant the session I had pitched on library catalogues took place ‘en plein air’. The unconference style made this easy to accomodate though there were some downsides, notably a dog that turned up and dug into Dace‘s salty cheese sticks just as the session was getting started…

Dog joining in with ‘cake camp’, photographed by Dace Udre, license CC-BY-NC.

The anti-social catalogue

Session underway, photographed by Kev Campbell-Wright, license CC-BY-NC-SA.

What is the next-gen library catalogue?

I opened by outlining what we mean by a “discovery interface” or “next-generation library catalogue” to give us some grounding. Then I gave a quick outline of the failure of current library systems to be “social”, that is, how they don’t facilitate social interactions.

I paraphrased from Sharon Yang and Melissa Hoffman’s article (2011) surveying library catalogues. I’ll repeat this below as I know it’ll come in handy in future. What makes something a next-generation catalogue isn’t very well-defined but we can say such a system will have many of these features, whereas traditional catalogues have few:

  • They provide a single point of searching across multiple library resources including the local bibliographic database, journal articles, and other materials.
  • The Web interface is modern and its design reflects that that found in Web search and ecommerce sites rather than traditional bibliographic retrieval systems.
  • They favour keyword searching via a single search box.
  • They feature faceted navigation to rework or limit search results.
  • They are tolerant of user error and provide “Did you mean…?” suggestions.
  • They feature enriched content drawn from sources outside the library such as book jackets, reviews, and summaries.
  • They feature user-generated content such as reviews and tagging.
  • They feature recommendations or suggestions for related material, which may be based on information held in the library system (e.g. circulation data) or elsewhere.
  • They feature some kind of social networking integration to allow for easier sharing and reuse of library records and data on these Web sites.
  • To facilitate this sharing, records have stable persistent links or permalinks.

What are the problems?

Some of the features mentioned above are social in nature, including user-generated content such as tagging and reviews, recommenders built from using circulation data, and integration of social networking sites. So “next-generation” implies a suite of features that include some social features, but not everything next-generation is such a social feature. Furthermore the underlying library management system and metadata are not likely to be too supportive of these features.

In practise social features like tagging and reviews haven’t really taken off in libraries and those of us using these tend to find low use among our customers. This is certainly my experience with tagging, enabled on our Encore catalogue at Senate House Libraries. It is not enough to have a reasonably large bibliographic database and a reasonably large membership then turn on tagging and expect something – the magic – to happen.

I do not think library catalogues are perceived as a social destination by our readers. However I think what prevents this is not that there is no wish by readers to interact in this way using our systems, but that we’re only just starting to make a serious effort to build features that encourage genuine social interaction.

This is what I mean by current catalogues being anti-social. However, I did like this alternative definition from Gaz:

Discussion

Note: attributions below are based on my notes from the day. If I’ve made a mistake please let me know.

The conversation was lively and varied and I was really pleased to facilitate a session where so many present wanted to contribute.

There was a general feeling the current technology isn’t there yet and implementation of social features on our catalogues do not encourage social interaction.

Luke explained catalogues built by vendors reflect the small marketplace offered by libraries and that technology in libraries tends to be quite far behind leading edge. He described the development of VuFind for discovery based on frustration with software supplier offerings – but one that required a willingness to invest in staff resource to develop and implement VuFind. This was done at Swansea University, Swansea Metropolitan University, and Trinity Saint David as a project – SWWHEP.

Luke mentioned something I have heard as a common objection to user-generated content in catalogues, the fear that students will abuse it and tag books with swearwords and so on. There was a similar concern raised that books written by academic staff might be rated down by students (with a cheeky suggestion added – “They should write better books”). Luke pointed out this has not proved a problem on the Swansea iFind implementation of VuFind (as it hasn’t at Senate House Libraries) because the feature is simply not being used. I thought that in some ways the feature being ignored is worse than readers actively disliking it…

Sarah gave an example of a ‘paper-based Web 2.0’ (my term) implementation where library members were given a paper slip to rate or review an item – which would then be keyed into the catalogue by staff!

Several campers made the point bringing in user-generated content from outside – such as Librarything for Libraries – could make a big difference as then there’s clearly something there to start with.

It was generally agreed building features that create good social interaction requires effort, it’s not something we can easily bolt on to existing systems that aren’t designed for this from the ground up.

There was agreement with Iman‘s point that for social features to become popular there should be an incentive for the customer. The customer should get value from the interaction, or what’s the point of doing it? Alongside this it shouldn’t take huge effort or require a great deal of work to be social. The concept of gamification as a way of providing that incentive was raised here.

Several campers gave example of where libraries know great a deal of information about our readers habits and actions, and could re-use this to enhance their experience of the physical or online library. The approach to social features on the catalogue that requires least effort are those interactions that happen by you doing what you would normally do anyway. For example borrowing and returning books to generate recommendations based on circulation information.

One problem was raised about emphasising top loaning items from the collection in that this could become self-sustaining: an item remaining popular because it is on that list. (At this point I wondered that I probably couldn’t make our top-loaning author Michel Foucault any more popular if I tried…)

Liz made a thoughtful point that the use of technology is important, that is how it enables us to fulfil the mission of the organization (the library, the university). We should concentrate on what’s relevant for our organizations. So: we need to be clear what we’re trying to achieve with these features and what the point of it all is. Technology used poorly for its own sake had already been raised, an example given being linking to an ebook record from the catalogue using a QR code: if you’re already online looking at the catalogue, why not just a normal hyperlink?

Rather than limiting ourselves to what other libraries are doing we should be thinking along the lines of features employed in ecommerce systems. Spencer made the interesting point that ecommerce systems he has worked with can build a much more complete picture of user needs and wishes with a view to offering them a tailored online experience. This is years ahead of anything libraries currently do.

Some more fundamental problems were raised about technology and libraries.

Linsey raised the idea of ’embarrassing IT’, that is IT provision that’s so bad we as information professionals are ashamed to offer it. Alison said the technology needs to be there to support new catalogues, or our staff and customers simply can’t make the best use of them. An example given by the group was of an older catalogue remaining popular versus a next-generation system because it’s faster to use on outdated computers provided by the library.

These problems aren’t minor. Feedback from the group was that our Web presence and user experience of our Web sites really influences users’ perception of our organizations. There’s a real need for us to do this well, not half-heartedly.

Acknowledgment

My thanks to Natalie Pollecutt at the Wellcome Library for helpful discussion about the concept of the ‘social catalogue’ ahead of libcampLS.

References

Yang, S.Q. and Hofmann, M.A. (2011). ‘Next generation or current generation?: a study of the OPACs of 260 academic libraries in the USA and Canada’, Library Hi Tech, 29 (2), pp. 266-300. doi:10.1108/07378831111138170

The Mnemosyne-Atlas: adding Pinterest to the library catalogue.

Why pinterest?

Last week I attended a talk by Phil Bradley at the Cilip in London AGM (a podcast of this talk Around the World on a Library Degree is available). Phil pointed out Pinterest as a particularly useful and interesting site to watch. I had not heard of this before so registered an account. Shortly after I noticed the Pinterest implementation at Darien Library.

Pinterest is a social networking site for sharing photos. Users organise items of media on boards – typically thematically or for a particular event.

I was immediately struck by the appearance of a full pinboard, it made me think of Aby Warburg’s Mnemosyne-Atlas. The Mnemosyne-Atlas was Warburg’s unfinished work, a series of plates (or boards) showing images from the classical period to Warburg’s present time. Alongside classical and renaissance images it included photographs, maps, woodcuts, advertisements, fragments of text, posters, and so on – all kinds of visual media. Warburg intended the boards to be accompanied by commentaries, but these were incomplete on his death in 1929 and only fragments exist.

Taken as a whole it is a summary of all of Warburg’s various interests. It has been compared with avant-garde photo montages in form but is something more, perhaps even a “visual archive of European cultural history” (Rampley, 1999). A photograph from an exhibition of Mnemosyne-Atlas plates is shown above. This is from a set on Flickr called aby warburg – the mnemosyne atlas.

Without expecting every user to be a scholar and cultural theorist of Warburg’s stature, I think there is value in supporting linking our catalogue records to Pinterest as it will allow users to relate them to other images and construct different meanings from them.  I feel it’s especially appropriate for Senate House Libraries which includes the library of the The Warburg Institute.

What is different about Pinterest is it makes creation of ‘vision boards’ easy – many sites now support pinning an image to Pinterest, and there are smartphone apps allowing you to pin anything you can photograph.

How to do this in Encore

At Senate House Libraries we have testing a beta version of the next release of our next-generation catalogue (or discovery interface), Encore. Caution! Everything described below links to a beta version of our catalogue that is not yet finished.

Adding a “Pin It” button is made possible by the ability to insert your own Javascript on the bibliographic record display of the new version of the catalogue. To be able to pin a catalogue record to a Pinterest board at minimum we need an image and a link to associate with it; a description of the image is optional. In this case the image is of the book jacket.

Here’s the Javascript to accomplish this, mind any line wrapping and WordPress oddness if you copy and paste it.

<script src="//s7.addthis.com/js/250/addthis_widget.js" type="text/javascript"></script>
<script type="text/javascript">
(function() {
var azImageDiv = document.getElementById("imageAnyComponent_0");
if (azImageDiv) {
if (azImageDiv.width>1 && azImageDiv.height>1) {
// key is a variable Encore uses for checking Google Books. It contains 'ISBN:' plus an ISBN10.
var azAsin = key.substring(5);
var pinterestDiv=document.createElement('div');
pinterestDiv.innerHTML = '<span class="bibInfoHeader">Pinterest</span><div class="addthis_toolbox addthis_default_style" ><p>' + '<a class="addthis_button_pinterest" pi:pinit:url="https://encore.ulrls.lon.ac.uk/iii/encore42/record/C__R' + recordid + '" pi:pinit:media="' + 'http://images-eu.amazon.com/images/P/' + azAsin + '.01._SCLZZZZZZZ_.jpg"' + ' pi:pinit:layout="horizontal"</a></div>';
document.getElementById("customBottom").appendChild(pinterestDiv);
}
}
})();
</script>

Commentary

The challenge is to ensure we only render the Pin It button when we’re confident we have a book jacket image.

First step is to get the imageAnyComponent_0 div and check the size. This div contains the jacket image on Encore and is put there by the catalogue. Amazon returns a 1×1 pixel GIF if it has no jacket to offer, so if the image is larger than this it is probably a jacket image. Having the image is key: if we don’t have it we render nothing.

Assuming we have a jacket image I use the Add This to insert a Pinterest button which will pin a larger version of the jacket image and a link to the catalogue. Add This makes it very easy to deal with various social media buttons with minimal effort, plus it includes analytics information allowing us to judge use of these services on the catalogue. I recommend it.

Getting the ISBN turned out to be easy as the vendor’s Javascript for checking for Google Books previews already declares a variable key containing ‘ISBN:’ plus the ISBN-10 of the book.

Result

Here is how the the Pin It button appears in Encore:

If you use the Pin It button, it results in the creation of a pin like this, which can be found on my (testing!) board Catalog records from@SenateHouseLib:

Problems

I think this is a satisfactory start: comments, improvements and criticism welcome (but especially improvements).

First problem is Add This doesn’t seem to support passing a description for the pinned item. To make sharing as “frictionless” as possible I wanted to the add part of the page title as a description, for example: Senate House Libraries — Love is a dog from hell : poems, 1974-1977 / Charles Bukowski would be fine, and the Pinterest user can edit this during pinning. I added this manually to my pin above. Based on the syntax for the other options above it should be: pi:pinit:description=”description” but that doesn’t work.

Second problem is Amazon images doesn’t support ISBN-13, only ISBN-10. However the Encore catalogue will use the first ISBN that appears in the catalogue record which might be an ISBN-13. Converting from ISBN-13 to ISBN-10 is not a complete solution as although you could pin the item, you won’t see the jacket image in the catalogue in the first place.

Photo credit

Mnemosyne-Atlas boards photographed by Flirck user dzsil, license CC BY-SA.

References

Rampley, M. (1999). ‘Archives of memory: Walter Benjamin’s Arcades project and Aby Warburg’s Mnemosyne Atlas’, in Coles, A. (ed.) The optic of Walter Benjamin. London: Black Dog, pp. 94-119.

Grouse about your next-generation catalogue – LibCamp@Brunel

A journey to the the wild wild west (of London)

On Saturday 28th January I attended LibCamp@Brunel, a library unconference generously hosted by the library at Brunel University in Uxbridge. I’d not been this far west in London as a destination before and on arriving I was pleased to recognise the tube station at Uxbridge as one of Charles Holden’s designs, which I took as a good omen for the day.

At the opening introduction and pitching, I pitched a session about staff perception versus library user perception of  next-generation library catalogues. As the unconference attendees were by and large library workers, I also wanted to invite everyone to come and grouse about problems they’d had with these systems. And let’s be honest, “Grouse about your next-gen catalogue” is going to be fun.

I had modest expectations for this session but it was very well attended, so much so our allotted space was too small and we had to move somewhere roomier. As I was facilitating I couldn’t live-tweet the session and following a few requests from people who couldn’t attend I decided to expand on the points made to give you a flavour of the discussion.

Perceptions of the catalogue

For some time I’ve been trying to understand problems readers have with the catalogue, and had wondered if it was possible to generalise this to talk about staff versus reader perception of Encore and next-generation systems. I hoped we could work towards this in discussion. As well as Encore, Aquabrowser, VUfind, and Summon were mentioned in discussion.

We’ve come a long way. I expected I would have to define next-generation catalogue in the session, but I was delighted when one of the graduate trainees present explained what I call next-gen was simply what she expected from a normal library catalogue. I had to give a really quick potted history of four generations of catalogue interfaces. (This is how to make your systems librarian feel old…)

I explained our experience of implementing Innovative Interfaces Encore at Senate House Library, and particularly how different I have found the perspectives of the library staff versus our readers. To be clear, my colleagues were almost entirely positive towards the new catalogue. I was pushing at an open door implementing a catalogue that offers a much better experience to readers used to using modern Web sites compared with the previous catalogue, relatively little changed since the 2000s.

However, I think it’s important to answer criticism and deal with objections as there could easily be problems I’d overlooked, and there’s a need to have these arguments as one step in bringing people with you.

Andrew, you can’t implement without feature x

In the early days pre-implementation I heard various objections to Encore along the lines of it being feature-incomplete compared with the previous catalogue. Some of my colleagues were hopeful that it would be possible to put off implementing Encore on this basis: we should wait until the next release, or the next-plus-one release, where these issues would be resolved…

It is correct that the new catalogue:

  • Doesn’t generate any left-to-right phrase indexes as our old catalogue did. Everything is indexed as keywords.
  • Doesn’t deal with classmarks for most of our multitude of classification schemes at all. At all. It doesn’t index them as classmarks and doesn’t allow you to browse by classmark.
  • Has fewer options for presenting a ‘scoped’ view of the catalogue limited to just a particular library or collection.
  • In the version we launched with, didn’t offer an advanced search with pre-limits and didn’t support boolean operators at all. (This has been added since.)

Having already done some user testing of the new catalogue I was reasonably confident none of the missing features were a show-stopper for implementation. If there were problems for some readers, we had a simple solution: allow everyone to continue using the old catalogue in parallel to the old one.

One of the Library Campers had pointed out in advanced this is an unusual approach. I explained further in discussion this was partly by necessity as the ‘patron’ features – the ability to log in to view your loans, place a reservation and renew loans – were still based in the old catalogue anyway.

I was asked about how we make sure readers find and use Encore. To drive reader uptake of the new catalogue I wanted to offer Encore as the default option on that places that really matter to us – on the Senate House Library homepage and on the old catalogue homepage. The latter uses some JavaScript to redirect your search depending on what options you select, but if you keep the default ‘Quick Search’ you get Encore. It was important to me that by following the path of least resistance readers would end up with the new catalogue.

I have said before and I stand by it: if you want to buy and implement a new system you should have the courage in your convictions and implement it properly. It amazes me to see libraries that offer their new discovery interfaces as an “alternative search” that can be ignored, or that requires special effort to find and use. I do see the value in doing this during a public beta test or preview, as the British Library did with Primo (branded as Explore the British Library), but absolutely not when you’ve made it live.

As of January 2012 we see slightly more use of the new catalogue in terms of visits, ~56% of the combined total based on Google Analytics data (I said ~50% based on data from Q4 2011 in the session). I consider this a reasonable start.

In the eight months since going live with the new catalogue several types of problem have emerged with Encore.

Longer term: how staff use the catalogue

It’s surprised me how many unusual uses of the old catalogue interface our staff have built up over time and the extent to which the catalogue has taken on functions I wouldn’t expect. For example, making use of the way classmarks are indexed to produce a list of everything from a particular classmark, particularly useful for Special Collections where the classmark might be used to describe what collection something is in. Or a need to produce a list that represents everything related to some sub-set of our catalogue – that is, a search strategy that you can be confident represents 100% true positives!

Much of this has been presented to me in good humour in a playful spirit of showing me how Encore can be “beaten” by a particular use case.

There are uses of the old catalogue that are simply impossible in the Encore catalogue, but my answer is first they don’t tend to represent realistic use cases our readers make, second they can more or less easily be moved to the staff client for our library system. Apart from Encore, Katharine Schopflin and Graham Seaman discussed how next-generation systems can have problems with known item searching and in attempting to present a search interface biased towards too much towards browsing and subject searching can be actively unhelpful when you have specific items in mind. I explained I think Encore is quite good for known item search, in particular the way it prioritises exact hits from MARC field 245 $a, my favourite examples are journals like Text and Agenda.

Generally I don’t think we should aim every discovery tool only at our most expert users, information professionals with great experience with our collections, when they have working alternatives available. I explained in response to a question there is no staff-specific view of Encore if you sign in using a staff account. I think this is right and proper from a “dogfooding” point of view, but I confess I daydream about a catalogue that is this flexible enough to offer a different interfaces with different features for novice to expert as required…

Longer term: you need to sort out your metadata

It’s become a truism that because next-generation systems make better use of our bibliographic data they force us to sort out existing problems with our metadata. We’ve certainly found our fair share of these problems since launching Encore, but not all of them are fixable.

The first we’ve tried to address is the way different types of material were described in our catalogue, the combination of print monographs (er, books) and print periodicals (um, journals) into a single material type termed “printed material”. Cue amused smiles from the Library Campers! Since then we’ve split them into books and journals as I explain on a blog post on our Encore blog – ‘Helping you find print journals more easily’.

The general problem is Encore can only act on the metadata it has available, but realistically you won’t always have time and money to do the work required to make it good. Encore does useful things like provide facets based on geographical names in your subject headings, or dates of publication, or languages. The problem is the data being missing or coded ‘undetermined’.

We know there are some very good items in our collection that are not findable during subject searching by readers because they have a record that’s not very good. Graham Seaman mentioned a problem in Summon in the way dates can be described in different ways, understandable by humans but not machines. For example you could refer to things from the same time period as ’16th century’, ‘1500–1525’, or ‘Renaissance’ and so miss out on relevant items.

These are problems that existed with our old catalogue but which the next-generation catalogue brings into sharper relief.

Towards ethnographies of the next-gen catalogue user

This is the third post in a series exploring user understanding of next-generation catalogues:

Talk

This is posted to coincide with the ChrisMash Mashed Library event organised by Gary Green in London on December 3rd. I spoke about the outcomes of an investigation into user experience and understanding of the next-gen catalogue and next steps we’re taking at Senate House Library. Not very Christmassy I admit…

@preater's presentation on flickr
‘@preater’s presentation’ on Flickr by Paul Stainthorp, license CC-BY-SA.

Slides from this talk are now available:

My slides were kept deliberately simple – it was presented in a pub on a flat screen TV! Notes are included to explain things further. Please get in touch if you want to ask anything about this.

Starting point

We implemented Encore from Innovative Interfaces in June to run alongside and partly replace the older WebPAC Pro catalogue, also from Innovative. Our Encore instance is here; the search I used in my talk was ‘industrial workers of the world‘.

Ahead of implementing we didn’t have much idea about how library users would understand this type of catalogue, so for my masters dissertation I had a look at this using various qualitative methods:

  • Usability-test style cognitive walk-throughs, done almost as a warm-up but providing lots of interesting data. As an aside I think every library should be doing this with their catalogue – it is so quick and easy to do.
  • A semi-structured interview using repertory grid technique. This was very good for comparing what my participants really thought of each type of catalogue.

Key findings

To summarise very briefly:

A Web-like catalogue encourages Web-like behaviour

Putting readers in front of a catalogue interface that looks and behaves like a Web search engine results in behaviours closer to a Web search engine than traditional information retrieval.

By this I mean:

  • A tendency to scan and skim-read Web pages quickly, concentrate on titles.
  • A process of iterative searching based on using a few keywords and then reworking the search over again based on what’s found on the results page.
  • Trust in the relevancy ranking of the catalogue; an expectation that the catalogue should be tolerant of small errors or typos via ‘did you mean…?’ suggestions.
  • The tendency to ‘satisfice’, meaning making do with results that seem good enough for the purpose rather than searching exhaustively.
  • The view that a search queries are an ongoing process, not something that should produce a single perfect set of results.

Caution: this is based on coding qualitative data from nine people and is not intended to be absolute or apply to every user. I found strongly contrasting opinions of the catalogue with an overall tendency for younger readers to take to the new interface much more easily.

The method I used was inductive, that is developed from analysis of what I observed. I really did not expect this ahead of time.

Using our catalogue is an affective experience

I found there was a strongly affective or emotional response to use of our catalogue beyond what you’d think you might get from using a mere lookup tool. The response was about more than just the catalogue being pleasant to use or familiar from other sites.

This was very interesting because I do not see why a library catalogue should not be a joy to use. Why should library catalogues be a painful experience where you have to “pay your dues”? Even if we changed nothing else behind the scenes and made the catalogue more attractive, you could argue this would improve things because we tend to believe more attractive things work better because they’re more enjoyable. Here I am paraphrasing from Don Norman (2004).

Next steps

Usability testing gets us so far, but as I’ve said previously in an artificial “lab” setting it does not produce natural behaviour. That’s a problem because we don’t get to see the reader’s true understanding emerge. We don’t get to see how they really behave in the library when using the catalogue.

I went fairly far in comparing systems – WebPAC Pro versus Encore – but what anchored that testing was the old catalogue. Having implemented the new catalogue and positioned it fairly aggressively as the default interface I wanted to dig deeper and better understand how the catalogue fits in to the reader’s experience of doing research at Senate House Library.

Think about the experience of library use: the reader comes in and experiences an entire “ecology”: the physical building; print book and journal collections; e-resources; the library staff; our catalogues and Web sites. I wanted to better understand how readers experience the catalogue in this context rather than just thinking about it in systems terms as a tool for looking items up that is used with a particular rate of error or success.

Towards ethnographies of the next-gen catalogue user

What we’re going to do is borrow techniques from anthropology to do ethnography in the library. This means studying and observing readers in their habitat: as they work in the library and do their research.

The outcomes I want from this are fairly “soft”, based around our staff knowing the readers better. What I want to know is: how can the library better support our readers’ use of the catalogue and improve their experience of Senate House Library? This is fundamental: I think without better understanding our readers use of our catalogues, we can’t start to improve what we do and provide a better service.

Properly speaking this is more a case of “borrowing ethnographic methods” than “doing ethnography”. This is OK as the methods aren’t owned by one field of social science, as Harry Wolcott (2008) says they “belong to all of us”.

Practically, what want to do is use a battery of techniques including semi-structured interviews, observation, and close questioning to generate data that will allow development of theory from that data as it is analysed qualitatively. This is a grounded theory approach. The actual work will likely be small “micro ethnographies” done over a period of some months in the library.

Examples

In my talk I mentioned some examples of ethnographic research done in libraries, these are:

  • Investigating user understanding of the library Web site – University of North Carolina at Charlotte (Wu and Lanclos, 2011)
  • Looking at how the physical library space is used – Loughborough University (Bryant, 2009)
  • Ethnographies of subject librarian’s reference work – Hewlett Packard Library and Apple Research Library (Nardi and O’Day, 1999)
  • The ERIAL (Ethnographic Research in Illinois Academic Libraries) project which has produced various outputs and has an excellent toolkit telling you how to do it (Asher and Miller, 2011)

References

Asher, A. and Miller, S. (2011) ‘So you want to do anthropology in your library?’ Available at: http://www.erialproject.org/wp-content/uploads/2011/03/Toolkit-3.22.11.pdf

Bryant, J. (2009) ‘What are students doing in our library? Ethnography as a method of exploring library user behaviour’, Library and Information Research, 33 (103), pp. 3-9.

Nardi, B.A. and O’Day, V.L. (1999) Information ecologies. London: MIT Press.

Norman, D.A. (2004) Emotional design. New York, NY: Basic Books.

Wolcott, H.F. (2008) Ethnography: a way of seeing. 2nd edn. Plymouth: AltaMira.

Wu, S.K. and Lanclos, D. (2011) ‘Re-imagining the users’ experience: an ethnographic approach to web usability and space design’, Reference Services Review, 39 (3), pp. 369-389.

Tracking usage of QR codes by smartphone users

Recently I added QR codes to the Senate House Library catalogue hoping to improve user experience for smartphone users. In true “dogfooding” style I have made a lot of use of it myself, but I need to see more data. One thing was missing was any analytics tracking for smartphone users recording these codes and following them into the mobile catalogue.

Tracking QR code use

I realised I could do this by adding parameters to the QR code URLs that would be picked up by Google Analytics: Analytics Help – How do I tag my links?

I tweaked the Javascript generating my markup to insert the required parameters utm_source, utm_medium, and utm_campaign:

  • Campaign Source (utm_source): webpac
  • Campaign Medium (utm_medium): qr
  • Campaign Name (utm_campaign): mobile

Values used can be whatever you want, I’ve tried to keep them short but meaningful. You can then track visitors under Traffic Sources – Sources – Campaigns in Google Analytics.

Adding complexity

Being able to track use of this service is very helpful, but providing more information in the QR code increases the complexity of the code and makes it more “dense” and “busy”. Though I’ve had no problems with this on my phone this could cause problems for older smartphones with lower-resolution cameras. My quick solution is just to bump up the size a bit as this makes the QR code easier for the smartphone to read.

For comparison including a longer URL takes you from this:

With Borges / Alberto Manguel.

http://m.ulrls.lon.ac.uk/record=b2941947~S24

To this:

With Borges / Alberto Manguel.

http://m.ulrls.lon.ac.uk/record=b2941947~S24?utm_source=webpac&utm_medium=qr&utm_campaign=mobile

As these QR codes are meant for a mobile phone camera to direct a Web browser to a page, I thought the URL itself need not be “cool”, bookmarkable, or even very human readable. One option is to shorten the URL as it is generated and encode that. Here is the result of shortening with our own shortening service. (Your library does have its own URL shortening service, right?)

With Borges / Alberto Manguel.

http://senatehou.se/b2941947

That is much nicer! Better than the original link to the mobile catalogue, even.

How to do it

Actually achieving this result in the Millennium ‘classic catalog’ / WebPAC is more difficult. To do the extra step of shortening the URL you will probably need to use the API from your shortening service to first shorten the URL, then you can generate your QR code image. On the WebPAC you’re going to need to do this in Javascript.

In the WebPAC I knew I will run into problems with insecure scripts because our shortener doesn’t have an SSL certificate yet, so this will be just an example. I was able to do it using jQuery and this jQuery plugin jquery-urlshortener.js by James Robert combined with bit.ly as a shortener.

First add jQuery and jquery-urlshortener.js to your INSERTTAG_INHEAD wwwoption. I put a local copy of jQuery on our server for testing:

<script language="JavaScript" type="text/javascript" src="/screens/qrcode.js"></script><script type='text/javascript' src='/screens/jquery.js'></script><script type='text/javascript' src='/screens/jquery.urlshortener.js'></script>

Add your bit.ly API key and username to jquery-urlshortener.js.

Update the qrcode.js to request a short URL from bit.ly using jQuery and use that to generate a QR code using the Google Chart API:

function linkto_catalog_qr() {
    var qrairpacstub = "http://m.ulrls.lon.ac.uk/record=";
    var qrrecordlink = document.getElementById("recordnum").getAttribute("href");
    var str = qrrecordlink.indexOf("=");
    var qrrecordid = qrrecordlink.substr(str + 1);
    var longurl = '' + qrairpacstub + qrrecordid + '?utm_source=webpac%26utm_medium=qr%26utm_campaign=mobile';
    $.shortenUrl(longurl, function (short_url) {
        document.getElementById('qrcode').innerHTML = '<img src="http://chart.apis.google.com/chart?cht=qr&chs=130x130&chl=' + short_url + '" alt="QR code for this record" title="QR code for this record" /><br><a href="http://www.senatehouselibrary.ac.uk/library/helpandsupport/qrcodes.shtml">What's this?</a>';
    });
}

This works as a proof of concept and is enabled on our test / staging port, for example:

With Borges / Alberto Manguel.

I am not so keen on sending thousands of requests to bit.ly every day and would prefer to use our own shortening service so I’m not making this live just yet.

Thoughts on usability testing the next-gen catalogue

This is the second post in a series exploring user understanding of next-generation catalogues:

What I like about usability testing

I have always found usability testing library systems enjoyable – as a participant, facilitator, and manager – and gotten useful things out of it. My preferred style is Steve Krug’s “Lost our lease, going-out-of-business-sale usability testing” from Don’t make me think (2006) with about five subjects and a very focused idea about what I wanted to get out of the process. By that I mean specific problems that needed user feedback to inform our judgments.

What I like best about this method is it represents effective action you can take quickly on a shoestring. You can short-circuit the endless librarians-around-a-table discussions you can get into about Web stuff: let’s test this out rather than just talking about it! I have defended using this method with small groups, as even testing a few users tells you something about what your users are actually doing whereas testing no-one tells you nothing at all. In writing that I realised I was paraphrasing Jakob Nielsen, “Zero users give zero insights”.

We’ll likely employ this method when we rework the Senate House Library Web site next year.

What I don’t

I think there are some problems with this style of testing as a methodology so have been looking into other methods for investigating Encore.

My main problem is the artificial nature of the test. Putting a person in your usability “lab” with a camera recording and asking them to do various tasks does not produce a natural experience of using your library catalogue. Your methods of observing the test will alter the users behaviour: these are observer effects you cannot hope to control for. In my dissertation interviews I tried to temper this by focusing on subject searching, browsing, and exploration of the next-generation catalogue interface rather than asking for subjects to complete tasks. I used a form of close questioning to explore participants’ understanding of Encore. This relies on asking probing questions along the lines of:

  • How?
  • Why?
  • What?
  • What if?

Ultimately this is based on a contextual inquiry approach described by Beyer and Holtzblatt in Contextual design (1998), but done with the understanding that it was taking place in an artificial environment not “the field”.

In truth the usability testing-style part of the investigation was meant as a warm-up towards comparisons between two or more catalogues using the repertory grid technique. I thought this worked reasonably well. The usability test section yielded up a good deal of qualitative data and certainly worked to get participants to the right frame of mind for grid construction.

It also produced useful results about for tweaks we could make to improve Encore as a better fit to readers’ expectations of a library catalogue. That is, it worked as usability testing.

However as I did the work I was aware of the artificial nature of the process affecting how my subjects behaved and their problems engaging with the process in anything like a natural way. The cognitive walkthrough style is difficult on two levels: it feels odd and a bit embarrassing to do it as a subject, but also it makes you think about what you are doing and how you should express yourself which affects your behaviour. Several participants picked up on this during their interviews and criticised it.

I’ve found our readers experience of the catalogue is deeply affective, and think we need to dig deeper into that affective layer to understand the user experience. I think ethnographic methods like the contextual inquiry approach is the way to go here, and will return to this in my next post.

Final point. I know our vendor has done their own usability testing on the Encore interface including informing changes to the current look and feel, in use on our catalogue. I have no reason to doubt its effectiveness or rigour. We could do usability testing of Encore, but I doubt we would add much beyond what the vendor already knows.

References

Beyer, H. and Holtzblatt, K. (1998) Contextual design. London: Morgan Kaufmann.

Krug, S. (2006) Don’t make me think. 2nd edn. Berkeley, CA: New Riders.

User feedback and problems with the next-gen catalogue

This is the first post in a series exploring user understanding of next-generation catalogues:

Our situation

We made our next-generation catalogue / discovery interface, Encore by Innovative Interfaces live in June 2011. Since then I’ve been trying to better understand the causes of the problems readers have with it.

As a starting point I’ve been doing this through the lens of the mental models theory; but I’m trying not to see every problem in terms of one particular theory just because that’s what I’m looking for. Sometimes a missing feature is just a missing feature, to paraphrase something attributed to Freud.

I’d expected some experienced users would find problems moving to a next-gen catalogue because their “bibliographic retrieval” mental model fitted to a traditional library catalogue would not fit so well to a “web search” style catalogue. To view this in reverse, and much more fairly blame the catalogue than the user: I had thought the next-gen catalogue in trying to be like a Web search engine would cause some problems for experienced users. I’m looking at this as mental models failure or mismatch, not implying it’s people not wanting to change.

I expected problems would surface easily as we positioned Encore aggressively, making it the default search (named Quick Search) when you visit the Senate House Library catalogue front page. This was meant as a nudge: you can select the old WebPAC catalogue but you’re not offered it as the default and it’s a little bit of effort to choose it.

Because of this my staff training for Encore focused on helping staff better explain how Encore works, with a view to building better models in the minds of readers.

User feedback

I’ve been gathering feedback reported via staff, Twitter and Facebook, and our online feedback form. Broadly they fit into these categories:

  • A general I like it (~10%) / I don’t like it or really don’t like it (~20%)
  • I can’t work out how to do x like you can in the old catalogue / It lacks feature x the previous catalogue has (~20%).
  • Suggestion for an enhancement (my personal favourite) (~9%)
  • Questions or feedback not about Encore (~40%)

The numbers of comments not about Encore suggests the first thing I should do is put an easy-to-find “Ask us a question” and a “Report problem with this record” link on each page! We don’t have that on the old catalogue so I expect we’re missing out on picking up potential enquiries there.

A good chunk of problems related to “I can’t work out how to do x” represent application of mental models from the old catalogue onto the new catalogue. For example an expectation of being able to browse based on phrase indexing of fields like title. It simply doesn’t exist in Encore, and it can be baffling if this is what you expected. I also got some interesting comments about the look and feel of Encore as “cluttered” or “busy”, which affected the user’s perception of the catalogue functionality way beyond what you’d expect. Innovative have since released a new Encore skin which is subjectively much cleaner and pretty much nails that problem.

I’ve been pleasantly surprised to receive positive comments at all as my expectation in a customer service situation is people are more likely to spend the time if they want to say something negative. I think twitter helps with this as it’s much easier to say something immediately by microblogging than marshalling your thoughts and filling in a ponderous official-looking form. Overall I’m happy to get a 1:2 ratio of positive to negative, and of course each negative comment is an opportunity to say something about Encore and better explain it.

By the way, some of the positive comments are wonderful such as this tweet:

Next steps

It’s useful to get any feedback about what you’re doing, but passively collecting data is not going to get us where we need to be. The question I want to answer is along the lines of: how can the library make this catalogue better support readers and improve their experience of Senate House Libraries? This is going to be more complex than answering usability-type questions about the Encore interface versus the old WebPAC, or comparing the difference in tweaking around the edges of the Encore configuration. Not to say I haven’t done plenty of that already…

To do this we need to actively gather data on our readers’ experiences with Encore and how they make use of it during information seeking. More to come on this later.

QR codes in the library catalogue

Really quick introduction

QR codes are a type of 2-dimensional barcode that can be used to encode various information. A QR code looks like this:

QR codes have various applications along the lines of mobile tagging: embedding information on something in a way that can be understood by a smartphone. My colleague Adrian blogged about them a few days ago.

You will likely appreciate the explanation that the above is a link to Hackney, that rose-red empire : a confidential report / by Iain Sinclair in our mobile catalogue.

Why we wanted to do this

The reason is to embed some information about the item on the bibliographic record screen that is useful to a smartphone.

We’ve noted many readers making use of smartphones to record shelfmarks of items of interest versus pen and paper. It’s noticeable that more readers are coming to the enquiries desk to show us a record on a smartphone with a query about it. We’re not sure how readers are making the leap from the catalogue terminal to the smartphone though. Aaron Tay makes this observation:

These days, it’s very common for users to show me library catalogue records (call numbers, titles) on their hand phones when I’m at the desk. This seems to be quickly replacing scribbled notes on paper. I’m never worked out the courage to ask them though, how they got the information onto the handphones

Our assumption is a URL would be a useful thing to encode and as it’s for use on a smartphone, a link to our mobile catalogue might be the most appropriate thing. Have the right QR code app installed and you can snap away on the catalogue and end up with a list of items to go and find them (wayfinding in our building is another blog post).

I haven’t actually made this live yet: it will be live tomorrow!

How to do this in the Innovative ‘classic catalog’ / WebPAC

Here’s how. On your WebPAC server put this Javascript in /screens/qrcode.js:

function linkto_catalog_qr() {
        var qrairpacstub = "http://m.ulrls.lon.ac.uk/record=";
        var qrrecordlink = document.getElementById("recordnum").getAttribute("href");
        var str = qrrecordlink.indexOf("=");
        var qrrecordid = qrrecordlink.substr(str+1);
        document.write('<img src="http://chart.apis.google.com/chart?cht=qr&chs=120x120&chl='+qrairpacstub+qrrecordid+'" alt="QR code for this record" title="QR code for this record" />');
        document.write('<br/><a href="http://www.senatehouselibrary.ac.uk/library/helpandsupport/qrcodes.shtml">What's this?</a>');
}

Above, “recordnum” is the ID of a link inserted into the bib_display.html using the WebPAC <!–{recordlink}–> tag. This produces a link like this in the page markup:

<a id="recordnum" href="/record=b3112148~S1"></a>

In your INSERTTAG_INHEAD wwwoption, insert this:

INSERTTAG_INHEAD=<script language="JavaScript" type="text/javascript" src="/screens/qrcode.js"></script>

On your bib_display.html, put this JS where you want the QR code:

<script type="text/javascript">
<!--
linkto_catalog_qr();
-->
</script>

An alternative approach is to put the JavaScript to generate the markup into the WebBridge bib panel. Rather than using WebBridge to create a link, you embed the little chunk of JavaScript that generates the QR code for you. This idea is from Natalie Pollecutt at the Wellcome Library who posted about it on the IUG mailing list.

Wellcome Library haven’t made this live, but you can see it on their test / “staging” port, for example: From ‘cuckoos’ to ‘zombies’ : the changing portrayal of lobotomy in American popular fiction from 1960-2010 / by Amy Chandler.

Result

Hackney, that rose-red empire : a confidential report / by Iain Sinclair.

Encouraging serendipitous discovery in library catalogues

I’ve been thinking about serendipitous discovery in library catalogues following discussion in Adrienne Cooper’s cataloguing and classification session at Library Camp. I am also much indebted to Owen Stephens for continued discussion about this over lunch.

If you’re unsure about this subject, I recommend Elizabeth Watson’s masters dissertation on serendipity in LIS (PDF). Read it now!

I think the previous and current generations of library catalogues are not supportive enough – or at all in many cases – of serendipitous discovery while browsing. During my masters interviews I found readers at Senate House Library loved that style of discovery far, far beyond what I expected and were eager to talk about their experiences in our library. No-one mentioned using the catalogue for such a thing.

For example:

  • Using the classification to browse nearby shelves, the initial catalogue search used as a rough indication of where to start “proper” browsing.
  • Chancing upon things in unrelated areas of the library. Just wander in and see what’s there. Moving stock around for our refurbishment actually worked in favour of this!
  • Opening a book on the reshelving area. The argument is previous borrowing is some indication of usefulness.
  • Journals too: I know of a prof. who prefers print journals because you can flick through a current issue and chance on unexpected things.

Sadly I had nowhere near enough words available in the dissertation to expand on this and it was somewhat off-topic anyway.

Katie Birkwood said, commenting on a post at the “What’s the point?” cataloguing blog:

“I had a thought recently, sort of on the back of mentions of ‘serendipty’ of discovery […] what if all or some of this perceived ‘serendipty’ is nothing of the kind, but is instead the result of careful classification?”

I think that’s true, and moreover I think the major benefit of classifying items rather than just bunging them on the shelf and numbering them. I think we lose something in relegating a lot of stock to closed stores as this style of discovery diminishes too.

It’s an unsolved problem to support serendipitous discovery online. In theory an online catalogue should be good at this because it isn’t really limited by space and includes the possibility of hyperlinking things together…

There have been attempts to replicate the experience of print items. For example a “shelf browse” type of view – but that’s missing the obvious: you can’t pick the thing up and flip through it, plus you limit yourself to the view of the collection imposed by your classification, as good as it is, you’re not encouraging random connections.

I would love to see a library catalogue with some awareness of what those funny numbers and letters in classmarks actually mean. Offering a browse view of classmarks in a list is one thing, and useful for power users, but what a step forward if the catalogue had some understand of what say 303.48330904 means and how that could be related to other classes.

An approach I find very interesting is recommender systems. This was discussed in Helen Harrop’s and Dave Pattern’s session on the same at Library Camp where Dave linked them to serendipity  – a recommender being one of the ways of reproducing the ‘joy’ of accidental discovery online. Helen argued there is a wealth of data in library management systems that could be used to create these connections, the basic idea being “People who borrowed X also borrowed Y” or similar.

I remember being very impressed with the LibraryThing for Libraries recommender when I first saw it make a connection between Charles Mackay’s Extraordinary popular delusions and the madness of crowds and a book on Dutch tulips, the former having a chapter unknown to me about the tulip craze. Years on I just take that sort of thing for granted on LibraryThing, but relatively few academic libraries have started using recommenders in earnest.

This is one reason why I’ve made ‘patron reading history’ opt-out in our catalogue for the academic year just started.

References

Watson, E.A. (2008) Going fishing: serendipity in library and information science. Unpublished MS dissertation. University of North Carolina at Chapel Hill [Online]. Available at: https://cdr.lib.unc.edu/concern/masters_papers/b5644w56s