A Publication of the Public Library Association Public Libraries Online

Magazine Feature

Why So Serie-ous? A New Way to Catalog Books

by on October 25, 2012

Adding keyword and number descriptors to book titles using the All My Books database improves the user-friendliness of library catalog searching, especially for books in a series. Widely used cataloging systems such as WorldCat work well in finding single titles, but ignore the idea of grouping series together in an easy-to-view format. If searching through current catalogs for volumes in a series, patrons have to spend additional time filtering or reading through page after page of possible results instead of getting basic information, such as what titles are in a series or what order to read the series in, right from the start. In this day and age where people increasingly desire instant access and satisfaction, a cataloging system should be designed for and by the users because they are the ones who use it. If users want to see how many books star Harry Potter or which Harry Potter book to read after Harry Potter and the Sorcerer’s Stone, a system should provide that type of information because that is wha the users want.

System Analysis

The spark that ignited the search for a system that allowed for a user-friendly way to search through a series began when I started looking for a book organization program for my personal use at home. I used the system analysis process to outline what exactly I was looking for. The first step in the process was to delineate what the system needed to do. The system should be able to take the Microsoft Excel file containing the information from my previous book organizer, the Living Bookshelf, and reuse in its own catalog. The system should provide quick access to titles in the catalog through either a search box or filtering option. The system should allow personal commentary and notes to be made on the individual titles. I wanted to be able to add reviews, ratings, and find out if I own, need to buy, need to read, or already read a particular book. The system should also allow access to online booksellers. Living Bookshelf offered a direct link on a book’s page to the same book’s page on Amazon.com and I would want a similar feature in the program I selected.

Once the general idea of the system was determined, I went to the next steps in the system analysis process: Determining the purpose of the program and how well a selected system met those requirements. I was not running a professional library. I just needed a program that could organize a small private collection of about a thousand books along with a wish list of hundreds of other titles.

The next several steps in the analysis process involved choosing an actual program. After searching through about a dozen different products, the one that seemed like it would work the best was All My Books. After installation, I began testing All My Books and compared how well it worked compared to the Living Bookshelf (my benchmark organizer) and how well it matched the requirements outlined in step one of the analysis process. All My Books allowed the importing of book data contained in various formats, including Microsoft Excel. It also had a search box and filters while displaying the entire collection on screen with a scroll feature and the ability to simply type a letter on the display or go right to the beginning of that letter’s section. All My Books included a star rating system where users could rate a book from zero to four stars, which would be visible on a book’s profile page. Also on the profile page, users could check boxes marked “Wishlist” or “Unread.” The main catalog display also showed a shopping cart icon if a book needs to be bought and a book with an exclamation point if a title is owned, but not read yet. All My Books further meet the step one requirements by including a link entitled “Visit book’s web page” that takes users directly to book shopping sites such as Amazon.com or Barnes & Noble.

Evaluation of All My Books

When it comes to obtaining and displaying information for books, All My Books uses a system much different from the Living Bookshelf. While people using the latter would simply search for the title in all my books; click an add button; and see the title, author, a photo, and a review all pre-load, All My Books’ process is a bit more complex. First, a user must go to “Book” and either “Add . . . ” or “Add using ISBN. . . ” and type in information about the book in question––whether that is the title, the author, the ISBN number, or another piece of important data. The next step really sets All My Books apart from the Living Bookshelf. Instead of having to manually type in all of a book’s information, the program performs a hypermedia search for the user. All My Books accesses an existing book database such as Amazon or Barnes & Noble’s website and provides all the titles related to the search query.

Once the user finds the title they desire, the data contained on that book’s page goes into what are known as frames. A frame specifies the type of information that will be inputted into the system and displayed. In the case of All My Books, the type of frame used is called a minimal frame. A minimal frame provides slots for various pieces of specific data, but focuses on one overall relationship, which for All My Books is the relationship between the information in the slots and the book being added to the database. Additional slots outside the first frame of slots such as publisher, binding, dimensions of book, price, and date the book was added to the catalog also appear.

However, a user of All My Books does not see the information displayed in this manner. The system displays the data in a way that is more akin to a Facebook profile page rather than a normal library catalog such as WorldCat that shows its data in a similar low-level means of expression as in the minimal frame example above. All My Books’ profiles use higher level means of expression to show their data. These higher-level expressions include:

  1. images and pictures (an image of a book cover that can be clicked on to be enlarged);
  2. visual text (the data put into neater-looking frames and linked so users could find related information such as other books by the author); and
  3. hyperlinks to important resources (a link to the profile where the book data originally came from).

While the profiles express the information on a single title, another way to view books in the database is through the scrollable catalog. Once all the slots for a book are filled in, the data contained in the “Title” slot gets placed in the scrollable catalog. Users can search by typing in a title or filtering by the information contained in the profile slots. Another way to search the catalog is by clicking on a title once and pressing a letter or number. This instantly takes users to the first title starting with the letter or number they typed in. Instead of scrolling through the catalog until they get letter “B,” users just need to press “B.”

The Big Problem

When I started using the search methods offered by All My Books, I realized that the catalog, while satisfying my initial system analysis requirements, failed to work in the way I hoped. I wanted quick and easy access to my nearly two thousand book-strong collection and wish list. The search box and the filters, while they could satisfy user search queries quickly, were not fast enough for me, so I began tinkering with how information gets displayed in the scrollable catalog. The scrollable catalog required no extra typing or filtering to search through a collection, thus making it the easiest search option for me to use. I soon found there was a limit to the scrollable catalog’s effectiveness. All My Books organizes its content by the first symbol in the beginning of a book’s title, starting with 1 through 9 then continuing on with the alphabet.

While organizing based on a first number or letter makes the display appear neater, it does nothing but hinder me in searching through the catalog––especially when looking for books in a series.


A sizable portion of my personal collection is made up of books in a series. With the way All My Books sets up its scrollable catalog (by alphabetizing) and how books in a series sometimes do not share a common series title, related works could be separated by hundreds of other unrelated books. The books that are a part of the science fiction series based on the novel Gateway illustrate the problem:

Annals of the Heechee
Beyond the Blue Event Horizon
Heechee Rendezvous
The Boy Who Would Live Forever

Despite the fact that Gateway is the first book in the series, Annals of the Heechee gets placed ahead of it in the catalog because it starts with an “A.” Because my All My Books catalog contains close to two thousand items starting with the same letters of the alphabet, books in the Heechee Saga, as Gateway’s series is known, and other series like it are displayed nowhere near each other.

The alphabetizing and separating of titles was creating an inefficient structure that hurt the usability of All My Books. I began analyzing All My Books hoping to modify it in some way to create a more efficient structure. Due to the limited modification options available in the free edition of All My Books, the only option left open was being able to change the information displayed in the profiles and scrollable catalog. Because my problems concerned the scrollable catalog, I focused on that particular area. The scrollable catalog displays information contained in the “Title” slot from the frame of the book being searched. The connection between the catalog and the “Title” slot indicated this is where any modifications to the scrollable catalog should be made. Since the indexer is allowed to change any piece of information in the slots, they can precombine available descriptors before the item in question gets displayed. With the idea of a precombination system in mind, I settled on adding keywords to books to designate them as being part of particular series to solve my problems with All My Books.

To decide what keywords a user might think of in relation to a books series, one needs to understand the natural language processing of users. Natural language processing, or NLP for short, acts as a survey for the designing of a system, with an emphasis on language and word usage. One of the purposes of using NLP is to prepare a description for a document. By analyzing what language a system might be dealing with, an indexer using NLP could assign a class in order to place an item into a specific category. When modifying All My Books, the thinking behind selecting a keyword as a class descriptor came from what naturally came to mind when looking at a series. The Harry Potter series offers an excellent example of how the process worked. Since the release of the first book fourteen years ago, the series has become one of the most popular in the world. Terminology from the books, such as muggle, has become part of everyday language. It would be to an All My Books indexer’s advantage to use that ingrained knowledge to display books in the scrollable catalog, so that when people search for the Harry Potter series, they can just use those ingrained terms to indicate all Harry Potter books. Looking at the system semantically also pointed me in the direction of developing keyword descriptors. A semantic-based system involves relationships. Individual concepts would be connected to other related concepts. Creating relationships between similar items such as books in a series follows a natural mode of thinking in the same way NPL identifies natural linguistic connects. The keywording of an entire series helps form these relationships, bringing all the books in the series together, thus eliminating the time spent scrolling or using any additional filters. For example, instead of the individual parts of the Heechee Saga being placed in different areas of the catalog, keyword relationships create a neighborhood, as seen here:

Heechee Saga: Annals of the Heechee
Heechee Saga: Beyond the Blue Event Horizon
Heechee Saga: Gateway
Heechee Saga: Heechee Rendezvous
Heechee Saga: The Boy Who Would Live Forever

A neighborhood is a cluster of objects brought together by an existing relationship. In the case of All My Books, the Heechee Saga volumes (the objects) were brought together by a set of keywords, the existing relationship created by using “Heechee Saga” as the keyword descriptor. Creating a neighborhood through keywords works by taking advantage of All My Books’ alphabetizing function. Since the words that came to my mind when I thought of the series, “Heechee Saga,” started with an “H,” and all the titles began with the same words, All My Books displayed the entire Heechee Saga together in the same section of the catalog.

However, despite the benefit of bringing books in a series together, the keyword descriptor failed to meet one of my original desires I outlined in the system analysis of All My Books––the identification of the proper chronological order of a series. Lacking a thorough knowledge of a series can hurt a person’s ability to identify what order they should read books in. I personally experienced this problem when starting Lord of the Rings. I bought The Return of the King before reading The Fellowship of the Ring or The Two Towers because I did not realize, nor see any indication on the book itself, that The Return of the King was the third title in the series. I became confused when the book kept referencing previous events and other pieces of information only those who had gone through the first two books would have known. When modifying All My Books, I wanted to solve the book chronology issue. The solution involved using numbers in a similar fashion as the keywords. By placing a number descriptor before the actual title of the book, but after the keyword descriptor, the catalog keeps series neighborhoods together while also lining up books in proper sequential order.

The following conceptual data schema diagram illustrates how the overall series-searching system, including the keyword descriptors and number descriptors, would function:




The entities are the distilled versions of the information to be included in the database. “Item” is the material being compiled in the database. In the case of All My Books, the items being compiled are books. “Series” identifies the actual series an item is in. “Key” is the keyword or keywords an indexer determined appropriate in identifying a series. “Number” signifies the place of the book in the series. The first relationship indicates what series a specific keyword or keywords identifies. With the “Key” – “Series” relationship established, the next relationship connects the keyword or keywords to a book. Using the resulting associative relationship, “Item” – “Series,” the book can now be connected to the exact series being identified by “Key.” The last relationship identifies the chronological location of a book within a series. To the benefit of those who maybe do not want to use the new descriptors to search for a series, the series–search conceptual data schema also does not interfere with normal free-text searching that All My Books or another library catalog might use. For example, if a user searches for Hunters of Dune using the exact title or just Hunters without involving the series identifier, the user will be directed toward the book schema because the keyword and number descriptors add, not remove, information from the title.

The following theoretical scenario shows how the number ordering might help patrons in a library:

A patron who just finished Harry Potter and the Sorcerer’s Stone wants to find out what the next book they should read is. The library the patron goes to recently installed All My Books with the keyword and number modifications. By typing “Harry Potter” into the catalog, the patron sees the following on screen:

Harry Potter (1): Harry Potter and the Sorcerer’s Stone
Harry Potter (2): Harry Potter and the Chamber of Secrets
Harry Potter (3): Harry Potter and the Prisoner of Azkaban
Harry Potter (4): Harry Potter and the Goblet of Fire
Harry Potter (5): Harry Potter and the Order of the Phoenix
Harry Potter (6): Harry Potter and the Half-Blood Prince
Harry Potter (7): Harry Potter and the Deathly Hallows

The patron finds the number of the book they finished, which is (1), and then finds the book with (2) before it, which is Harry Potter and the Chamber of Secrets.

Concerns with Changes

Despite both modifications meeting my requirements, two issues might hurt the widespread use of the keyword and chronological numbering organization system in All My Books and other cataloging systems. The first issue concerns the numbering system. As outlined previously, the chronological numbering system is supposed to order books by the way they are supposed to be read. In a perfect world, the numbers should line up.

While series with nine or less books in them will line up properly, beyond that, things get messy. An example of when the system breaks down is the Dune series of science fiction novels. Written over several decades, the Dune universe spans sixteen different volumes: The six originals by Frank Herbert and ten prequel, sequel, and additions to the original series by Frank’s son Brian and author Kevin J. Anderson. In the perfect world, with the changes made to All My Books working as intended, the series should look like this:

Dune (1): The Butlerian Jihad
Dune (2): The Machine Crusade
Dune (3): The Battle of Corrin
Dune (4): House Atreides
Dune (5): House Harkonnen
Dune (6): House Corrino
Dune (7): Dune
Dune (8): Paul of Dune
Dune (9): Dune Messiah
Dune (10): The Winds of Dune
Dune (11): Children of Dune
Dune (12): God-Emperor of Dune
Dune (13): Heretics of Dune
Dune (14): Chapterhouse: Dune
Dune (15): Hunters of Dune
Dune (16): Sandworms of Dune

Unfortunately, the numerical cataloging method when used in All My Books organizes the Dune series in the following manner:

Dune (1): The Butlerian Jihad
Dune (10): The Winds of Dune
Dune (11): Children of Dune
Dune (12): God-Emperor of Dune
Dune (13): Heretics of Dune
Dune (14): Chapterhouse: Dune
Dune (15): Hunters of Dune
Dune (16): Sandworms of Dune
Dune (2): The Machine Crusade
Dune (3): The Battle of Corrin
Dune (4): House Atreides
Dune (5): House Harkonnen
Dune (6): House Corrino
Dune (7): Dune
Dune (8): Paul of Dune
Dune (9): Dune Messiah

The Dune example shows that All My Books organizes any item with numbers in the title by the first digit of the number. Instead of placing the tenth book (The Winds of Dune) after the ninth book (Dune Messiah), the tenth book gets placed after the first book (The Butlerian Jihad). Every subsequent volume whose number starts with a “1” will fall after the tenth title. The same occurs with all other single-digit numbers. From a usability standpoint, this problem makes my chronological ordering system not completely user-friendly. While some series such as Harry Potter or Twilight do not have to worry about having more than nine items cataloged, people could become confused when looking at series with ten or more books. If users did not know what the numbers meant before using the catalog, they might select the wrong book to read next or wonder why someone would be employing a catalog that places the tenth volume of a series after the first volume.

The second biggest problem with All My Books changes after the numbering issue concerns single titles. The keyword and chronological ordering system is designed around a series. However, not every book in a library’s collection can be placed into a series. War and Peace, Ulysses, The Grapes of Wrath, and numerous other titles cannot be organized by numbers or keywords. An indexer would have to let All My Books organize standalone books alphabetically. The only way to separate these items out from the rest of the catalog involves the search filter. By indicating what subject to place the book under, a user can search through a shrunken-down portion of the collection. However, the purpose of the keyword and chronological ordering system is to eliminate most of the need for filtering options, not encourage them.


The objectives of a library catalog should be to offer intelligent access, easily identifiable titles, and show relationships between materials. Despite a few issues, the modified book-searching system created for All My Books satisfies the objectives and solves the problem of displaying series information in a library catalog.

Leave a comment


  1. robin says:

    Nov 13, 2012

    There are multiple issues with relying on series to group items in such a way. For academic works and nonfiction, rarely does series numbering correspond to reading order. Additionally, there are many many series (e.g., Time Life Books) which are unnumbered. The actual numbering aspect is a number display/counting feature as noted in the post, it would file 1,10, 100, 1000 would all file before 2. (It can be fixed) How to group all of the works of William Shakespeare together when they are from different publishers and series (if at all)? What about set numbering for items which are in sets? FRBR (a foundation of the cataloging code RDA which will be replacing AACR2 in 2013 for most newly cataloged titles) supports a built concept of relationships. For example, Work would link most of the Romeo and Juliets together (it gets complicated).

    Some food for thought… Is it more important to group titles in reading order (when it exists) or to group different editions and versions together? Can it be both and if so, how? In that way, the developing FRBR model in library catalog development, may be able to address that very issue. Using publisher series to group as libraries currently do and then being able to connect those editions and versions together at the larger level – relationship – the “metarecord”.
    Thanks for sharing – some very interesting thoughts. Openlibrary.org might be another project to check out.

  2. Brendan says:

    Dec 8, 2012

    Well thank you for the comments! For some reason I could never see them until now . . . the funny thing is as soon as got this article published, i scrapped the entire system here and built my own database from scratch using Access (didnt want to pay for AllMyBooks and didnt want to deal with the limitations it placed on me)

Name required