Website Search for Libraries

Peter Weber

Your public library has evolved. No longer just a place where books are stored and borrowed, libraries provide an open gateway to a universe of information, media and the arts. Libraries are vibrant hubs for connected communities. They offer events, programs, meeting spaces, technology resources, and a host of other services for the public. Library websites provide a variety of ways users can interact with their materials: from accessing book recommendations based on a patron’s reading history, to reserving a meeting room for a customer’s next board meeting, to checking out seeds for a gardening project, to printing a product prototype in 3D, to making an album in public recording studios, to looking for local events or simply finding the location of the nearest branch.

The Difficulty with Search

With so much data, and the need to support so many different interactions, the online search experience for library websites has become incredibly complex. For example: when a user searches “Harry Potter”, there are several distinct types of information they might be looking for. They may want to reserve a book, or watch a movie online, or find out what time the next fan club meeting is happening, or research an academic paper about fantasy in literature, or any number of other possibilities.

Varying User Needs

Depending on what type of information a user is looking for, the resulting interactions will vary widely. The user may need to complete a form for reserving the book, or install an app to watch the movie, or add an upcoming event to their calendar. The user experience must anticipate these differences and present intuitive options for each.

Data Silos

In addition to requiring unique interactions, the different types of data will almost certainly come from completely different sources. This is where things get particularly complicated. From event and catalog data to digital media and general branch information, library content is almost always stored in a broad range of systems. Ironically, the systems used for storing catalog data are referred to as “Integrated Library Systems”, despite the fact that they are usually not well integrated. Each data source is a silo. The ability to tap into these silos and build a cohesive experience depends entirely on the existence (and quality) of APIs for each separate system. Back to the problem of website search: users just want to quickly find what they’re looking for, without having to decide where the information should be coming from.

Two Solutions

We’ve worked with a number of libraries, and the technical solution for website search has always boiled down to one of two options:

  1. Provide the ability for users to choose which of the available sources they want to use for their search. Technically speaking, this is the simpler of the two, but also more limited.

  2. Develop a custom solution with a single search interface that leverages 3rd-party APIs and interpolates the results. This approach is the basis for popular “Bento Box” solutions. While more powerful, this option is also more complex (and expensive).

Separate Search for Each Data Source

With this approach, users choose the type of information they are looking for before they enter an actual search phrase. Using an interface element like tabs or a dropdown menu, users select which specific service to query.

Tabbed interface to group separate search inputs

This can be an effective way to ensure a user gets the type of data they want: a blog post or news result from the website; books, movies and music from the catalog; events from the library’s event management system; and so on. It is also fairly simple, as each separate service simply has a separate search form and separate results page.

A problem with this method is what it inherently means for usability. Specifically, users should not need to know which service to choose to find the content they want. When a user is looking for an ebook or a link to an album, choosing from options like “Website Search” and “Catalog Search” is confusing. Picking from brand names like Hoopla, Overdrive, and Freegal is even worse. In our Google-enabled world, users expect to just type a search phrase – a book title, artist’s name, etc. – and have the search engine take care of the rest.

Leveraging 3rd-Party APIs to Combine Sources

When various data sources provide APIs, a single search query can be parsed and results from different services combined into one result. Users are presented with a single search form. They don’t have to think about the various underlying services, don’t have to choose between “Website” or “Catalog”, and certainly don’t have to be familiar with the names of those products. The result can be a huge improvement for usability.

Bento Box Search Results

Even when leveraging APIs to get the data, displaying the results from separate sources is not simple. Libraries have experimented with various approaches for years. One idea is called Bento Box, named after the Japanese divided meal trays. With the Bento Box approach to search, different sections of the screen are allocated to specific types of results. Books might be grouped together in one section, while DVD results would be in another, and blog posts or events in still another. (For more information on Bento Box search, check out Bento Searching is Here! from Duke University Libraries.)

Bento box style layout, content grouped by category like books, dvds, blog posts

We recently worked with Richland Library to completely redesign and redevelop their library website in Drupal 8. When we began working with Richland, they had been using the Bento Box approach to search on their existing website for some time. Surprisingly, their own usability research had discovered that the approach wasn’t as helpful as they had initially hoped. In many cases, the Bento Box solution hid useful results while promoting less relevant ones. In particular, website page results were often appearing at the expense of catalog results. The structure of the results screen was too rigid. Placement of various search results was based fully on the source of the data, not relevance to the user.

Prioritizing the Catalog

We worked with Richland Library to design an improved layout for search results, interpolating data from various APIs. Rather than separate sources into different regions of the screen, we grouped all results by title. User research clearly showed that most of the time users wanted to access catalog items. A search for “Harry Potter” was usually a search for a book, a movie, or some other catalog item. As such, we gave priority to the catalog. Grouping results lets users choose the format they want without seeing so many duplicates cluttering the page. Leveraging APIs from both the website and 3rd party systems, we were able to add related content —things that users might be interested in — without sacrificing priority of the catalog.

Screenshot of Richland library catalog search with embedded related content

All About the Users

Libraries play an important role in connecting modern communities. They offer a wealth of information and resources to their patrons. The vastness of content and services offered by libraries, as well as the number of the systems they use for storing that data, makes website search a difficult task. If you’re working on creating a user experience for your public library that truly meets your users needs, we’d love to help. Drop us a line on our contact form and we’ll be in touch!


About the Author

Peter has over 10 years of professional experience as a web developer, and has worked across the field from content creation to programming to graphic design. Originally educated in art and multimedia, he has migrated to development over the course of his career. He is glad to be a part of the overwhelming activity and energy in the front-end developer community.

Read More