New York public library (personal project)

Helping Users Access and Manage Library Books

App Design
My Role
UX designer
– user research
– competitive research
– user flows
– app architecture
– wireframes
– lo-fi and hi-fi prototypes
– user testing
– ui design
Overview
The New York Public Library does not offer an app for library services outside of an e-reader app created in 2016. As someone who enjoys borrowing both physical and ebooks for my Kindle, the existing app doesn’t fit my needs. I have often been frustrated by this lack of convenience when trying to remember book due dates, reserved statuses, or needing to renew last minute. This inspired me to explore if other library users felt a similar frustration and how I might go about designing an app to create a more convenient and seamless library experience.
Project Goals
  1. Understand peoples' behaviors and habits around reading, library use, and technology.
  2. Determine the minimal viable product needed to create an app.
  3. Design and test a low fidelity prototype to get early feedback from users.
  4. Refine design based on user feedback to create a high fidelity prototype.
As the second largest public library system in the U.S., the New York Public Library offers books, events, and services to over 3 million New Yorkers. With such a large network, it is surprising that there is no NYPL app for regular library usage such as reserving and renewing books or updating your account.

I approached this project based on my own desire for a more convenient method for managing my library books, but I was aware that my needs may not align with the general library-going public. Thus, user research was an important part of my process to make sure I understood the problem space and designed the proper solution based on people’s needs. My goal was to create and test a prototype that would allow users to create an account with their library card, find and checkout books, place books on hold or save to a list, and renew books that are checked out.
View final prototype
Step 1: research

Understanding Library Users

In order to test my assumptions and gain a better understanding of how people use and interact with the library, I conducted a series of interviews using an online survey to screen for candidates that matched a set criteria. The survey also posed a number of open-ended questions about general library use in order to gain more quantitative insights into people’s behaviors and feelings. This data confirmed users' need for an easier method to access the library's main service of lending books, as well as revealed areas for improvement for the current service. 

From the 23 survey respondents, I interviewed 5 people in one-on-one sessions to dive into more qualitative information about people’s specific goals, motivations, and pain points when using the library.

User Personas

From this research I was able to synthesize my findings into two user personas, representing the core audiences that I am focusing on for this project. First, a tech savvy young person who loves learning new things and appreciates the library as a free resource that reduces unnecessary waste. And second, a busy working mom that loves reading as a way to escape from her hectic life. She enjoys the library as a way to save money, as well as a place she can bring her child for story time and books. I will refer to my personas as I develop the app to make sure I am making design decisions that align with my users’ needs.

Assessing the Competitive Space

Using the Nielsen Norman Group's guide to usability heuristics, I analyzed other library or book-oriented apps to assess features, usability, patterns and standards. This researched helped inform my design decisions while planning the NYPL app by noting what aspects of competitor apps were easy to use or conversely, caused usability problems.

Screenshot of San Diego Public Library app

San Diego Public Library

During my research, the SDPL app was noted as being particularly liked and useful, thus prompting me to include it in my research.

Positives features included
  • Useful and informative bottom navigation giving easy control to users.
  • Ability to refine search results so users can narrow their search to specific book formats or locations.
  • Flexibility to perform actions (reserve, save) on book from search results as well as book detail page.
  • Gave clear explanations for blocked actions.

Brooklyn Public LIbrary

As a direct competitor of the NYPL, the BPL app seemed an important consideration as a service that my audience might be familiar with. While it has a visually consistent design, I found the interface difficult to navigate, and struggled to perform basic functions.

Negative features included
  • Feature bloat and too many icon menu options. From the home page to the the next the user is presented with a grid of icon options that feel overly confusing to navigate or orient yourself within the app.
  • Footer navigation is focused on sharing and contact, missing an opportunity to provide accessible and useful functionality for the user.
  • No way to browse or get recommendations on books.
Step 2: Plan

Mapping Out the App

With my research concluded and a clear picture of my audience’s needs and motivations, I start to map out my app. I performed a card sort to help understand people’s mental models for task relationships, which gave me insight on where users expect to find specific information or perform certain actions. This data along with a competitive analysis of related apps helped me to outline a basic sitemap for my app.

Next, I brainstormed user stories to outline the path a user would take to complete specific actions within the app. Using this quick brainstorm method to map out user scenarios helps make sure I consider all the necessary screens and actions when designing the app.

From this brainstorm session, I created more formal User Flows that assess the needed pages, inputs and outputs, and system checks for specific user tasks. I focused my initial design on 4 core user tasks:

  • Searching for a book
  • Reserving a book to pick up at a desired location
  • Placing an unavailable book on hold
  • Renewing a book

Additionally, I wanted to explore a solution for one of the main frustrations that came up in my user research: providing people with more control and notice of when books on their hold list become available.

Step 3: design

Creating a Low Fidelity Prototype

Starting with paper and pencil, I quickly sketched out a rough layout of the different pages needed based on my user flows. By hand, I can quickly iterate on design and layout decisions until I feel like I have a successful outcome. From there I re-created my sketches into digital wireframes using an online tool called Balsamiq. This allowed me to add a bit more detail while still keeping the wireframes low fidelity for early testing. I then created a clickable prototype with my wireframed pages so that I could start usability testing before getting too far into design.
View low fidelity prototype

Step 4: Test

Validating through Usability Testing

With my working prototype, I performed 3 separate usability tests with library users in order to ensure the product I was building was easy to use and understand. I asked each user to perform the four core tasks I outlined above, and observed their actions and listened to their feedback as they attempted each task. In general all users were able to complete the set tasks easily and without issue. However, user feedback and observation their interactions with the prototype highlighted several issues of clarity that should be resolved in the next round of design.

Feedback included:
  • Update wording for CTA buttons on different books formats to better represent action. (e.g. “Reserve” for physical book to be picked up later, “Check Out” for ebook that can be checked out immediately)
  • Add book status to My Books page to indicate if book is: ready for pickup, pending, checked out, overdue; along with relevant time frames or limits.
  • Clarify place on hold waitlist and estimated time frame for getting book.

I reviewed my exploratory feature of a hold alert providing an option to “Skip a Turn” with my testers to get their feedback and reactions to this solution. They all had a positive reaction and understood how it would work, with some feedback about greater clarity in the phrase “up next” and a desire to see the selection reflected on the My Books page.

Step 5: Iterate

Refining the Design

At this stage I felt confident enough in my design to start adding visual style to the app. I used the library's online brand guidelines to create a style guide for the visual design, focusing on the teal blue as my primary color with accents of red.

Once I've made all the necessary page designs for my app, I created a functional prototype using Adobe XD's prototyping tool. I will then test again with new users on the updated prototype. The high fidelity prototype will give users a more realistic experience of the app, which will allow for more detailed and accurate feedback. Testing again at this stage safeguards against more costly changes being needed during or after development.
Test prototype

Final Thoughts

Going through this process has shown me the value of user research and talking to users about their actions, behaviors, and motivations when using a product. No matter how much insight you think you already have, talking with current users will almost always reveal new information that provides a fuller understanding of your audience and your product goals.

One interesting aspect I found while talking to users is that people were willing to put up with a certain amount of frustration because the library is a free service, which they valued. This, of course, depended on people’s motivations for using the library; users with more disposable income showed less patience, often deciding to purchase a book instead of waiting, while those that valued the cost- and space-saving aspect of using the library were more willing to wait or deal with an imperfect process. As a public service organization, this is a valuable insight to help prioritize improvements and enhancements to the service. At the same time, making the library easier and more convenient for everyone will encourage more people to use the library, which generally leads to greater support and funding for the library.