Libby Through the Looking Glass (of Usability Heuristics)

Sarah Tran
8 min readJan 16, 2021


Growing up, I was always an avid reader. When I wasn’t in school or outside playing with my friends, you could probably find me curled up on the couch reading my latest borrow from the library. That however changed when I entered college. What once was my favorite past-time simply became a means to an end — the ends being getting good grades and passing classes.

Fast forward to 2020. In the thick of quarantining was when I fell in love with reading again. Without the ability to go out and hangout with people the ways I normally would, I resorted to finding ways to occupy my time whilst indoors. I picked up a book that was collecting dust in the corner of my room, and the rest was history.

During this period of reading for pleasure again, I learned that I preferred to read digital books rather than physical ones. Because my local library was closed, ebooks and audiobooks were most accessible options. I also learned that I was less distracted when I read on my phone. It’s hard to get through a book when you’re constantly switching from app to app. To keep up the momentum and joy of reading more, I decided to read at least 21 books in 2021 and I enlisted the help of the Libby to help me reach my reading goals.

Libby is a free app where you can borrow ebooks and digital audiobooks from your local public library. All you need is a library and you’re ready to start. Since Libby is one of my most used apps at the moment, I wanted to take the time to analyze and assess it through the lens of Jakob Nielson’s 10 Usability Heuristics and accessibility guideline. I will focus on two of Libby’s main function: searching for ebooks/audiobooks through its Library page and to reading ebooks on the Shelf page.


1. Visibility of system status

The design should always keeps users informed about what is going on, through appropriate feedback within a reasonable amount of time.

Whether you’re in the process of borrowing a new book or reading one that’s been saved on your Shelf, Libby notifies you of exactly where you are in the process. With borrowing a book, the user is notified of how many copies are in circulation, where they are on the hold queue, and an estimated amount of time for when they should receive a copy of the book. When you’re reading a novel, you can see you progress on how much you’ve read and how many days you have left before you have to renew or return your copy.

Page status in eBook

2. Match between system and the real world

The design should speak to the users’ language.

Finding and borrowing books are similar in Libby as they are in the real world. The digital card you use to borrow a book resembles a physical one. There are limits to how many books you can borrow at a time and how long you can borrow each book for depending on your local public library. Users also have to ability to read a sample of the book which mimics the real world action of reading a portion of a book to preview it before borrowing it.

3. User control and freedom

Users often perform actions by mistake. They need a clearly marked “emergency exit” to leave the unwanted action without having to go through an extended process.

On the Library page, users can easily go back if they make a mistake. This is in the form of the back arrow and cancel button. The same has not transferred over when they are reading an ebook. If you make a mistake and skipping forward too many pages or accidentally tap the wrong area of the page, to undo your action, you would need to know exactly where on the page to press and go through a series of steps to reverse your action. This can be a minor inconvenience for both new and expert users. To mitigate this, I suggest that Libby is consistent on its page functions or remove more functions to make it easier to use.

4. Consistency and standards

Users should not have to wonder whether different words, situations, or actions means the same things. Follow platform an industry conventions.

In terms of wording, Libby is very consistent. Where it can improve is the visual aspect specifically in terms of what is a section and what is an “action” that will take you to a separate page. Some sections are in this green font and are a larger font size, while others are sections/actions are italicized. After playing around with the app, I feel like I can comfortably navigate it, but for a new user, I can see this being potentially confusing.

Also when clicking on “Library” or “Shelf” at the bottom, you are not taken to the main page of that section rather the last page you were on for that section. Again this may create some user confusions because it doesn’t establish what is the main page you’re supposed to expect.

5. Error prevention

Good error messages are important, but the best designs carefully prevent problems from occurring in the first place. Either eliminate error-prone conditions, or check for them and present users with a confirmation option before they commit to the action.

This is where I experienced some minor hiccups, specifically on borrowing the wrong books. In the case of borrowing the wrong book, Libby does not provide a pop-up message or confirmation message before borrowing the book. So when you noticed too late that you borrowed the wrong book, you have to take extra steps to remedying that situation. Those steps include, going to your Shelf, clicking “Manage Loan”, and choosing to “Return Early”.

Libby can remedy this by adding a pop-up message before a user chooses to borrow a book, or immediately after a user borrows a book, to have an option that says “return early)

6. Recognition rather than recall

Minimize the user’s memory load by making elements, actions, and options visible. The user should not have to remember information from on part of the interface to another. Information required to use the design should be visible or easily retrievable when needed.

With its search function, Libby does of a good job of making it easy for users to find the ebooks and audiobooks they’re looking for. If the the above is not available or if the user or if users need to put their name on hold, the app makes it easy to do so. On the other hand, when it comes to navigating the reading portion, unless you are swiping to the next page, you have to remember clearly where to tap on the page to navigate it properly, and if you are not in the proper zone, than you run the risk of performing the wrong action.

Tap regions diagram

7. Flexibility and efficiency of use

Allow users to tailor frequent actions. Flexible processes can be carried out in different ways, so that people can pick whatever method works for them.

Libby offers its users great flexibility in the user’s reading experience. The main functions are easy to pick up for the most part. You can tailor your searches by adding certain filters or preferences and you customize what your reading pages look like in terms of font style, spacing, and alignment.

8. Aesthetic and minimalistic design

Interfaces should not contain information which is irrelevant or rarely needed.

Libby achieves a minimalistic design on the user’s Shelf page and it adheres to the rules of visual hierarchy however this does not carry over to the Library page. The Library page does not have a clear sense of visual hierarchy and there are too many methods to explore different novels. Such methods include viewing “What’s New”, “Books You’ve Missed”, “Popular Books”, and a variety of curated lists. There’s no rhyme or rhythm to how these methods are organized on the page so it can be harder to find items.

9. Help users recognize, diagnose, and recover from errors

Error messages should be expressed in plain language, precisely indicate the problem and constructively suggest a solution.

As mentioned earlier, Libby lacks appropriate error messages. It is up to the user to catch their own mistakes and figure out what is the best action to undo their mistakes.

10. Help and documentation

It’s best if the system doesn’t need any additional explanation. However, it may be necessary to provide documentation to help users understand how to complete their tasks.

Libby provides a help and documentation both on its app and its website. On the app, Libby provides answers to the most common questions user typically asks. If they cannot find their question on the app, individuals will be directed to a more thorough help page on their website.

Pictured Left: Commons Question Page Pictured Right: Help Page


One area where Libby stands out from other reader apps is through its accessibility features. Some notable features include OpenDyslexic which increases readability for readers with dyslexia, high contrast options, and a large library of audiobooks.

Final Thoughts

Based on Jakob Nielson’s 10 Usability Heuristics, Libby is a usable and accessible. Libby makes it easy for the users to find and read novels whether that’s through eBooks or audiobooks. Its biggest area of improvement is in error prevention. Although the errors I mentioned above can be considered minor inconveniences, having an onboarding flow for searching and reading books in addition to having good error messages would help prevent errors and make the user’s reading experience more enjoyable in the future.



Sarah Tran

Aspiring UX designer & Slant’d Amplifier. Lover of books, R&B, and This is Us.