How to define a book?
The first thing we need to consider is how to store information about books in our database so that we have something to attach tags to. This is not as simple as it sounds.
When you start thinking about how to identify a book, the title probably comes to mind first. While this would work for most books, with others, it would lead you quite astray. Some novels have different titles in different countries, even when the two share a language and the text remains largely the same. For example, Agatha Christie’s “Poirot Loses a Client” became “Dumb Witness” when published in the United States.
Even the author, who usually doesn’t change, can be tricky. An author may choose to write under a pen name, but have later editions using their primary name instead of, or in addition to, the original name. Richard Bachman wrote several novels, all of which can now be found attributed to “Stephen King, writing as Richard Bachman.” With other texts the original author is unknown or disputed: The “Journal of the First Voyage of Vasco da Gama to India” has been attributed to both Álvaro Velho and João de Sá, with some publishers opting not to credit any author at all.
Other aspects of a book are subject to change between editions, like publishers, translators (for foreign books), editors and illustrators. “Pippi Longstocking” was illustrated by Ingrid Vang Nyman for the first English edition in 1949, but a 2005 edition has pictures by Louis S. Glanzman. Later edits might cut or add substantial parts of the story, not to mention the same story being published in different languages.
With so many potential variations on the same book, it might seem logical to just allow each edition of a book to have its own page on our site. However, some books have dozens or even hundreds of editions. We might end up with wildly different tags on what is essentially the same book, as different people tag different editions. People considering reading the book would need to look through all editions to find the information they’re looking for.
With this problem in mind, we are splitting our model of books into “works” and “publications” - the latter being an edition, usually identified by its ISBN, whereas the tags will belong to a work. A work can have multiple associated publications, including translations. This is useful even beyond the idea of different editions of a book. A publication could also contain several works, so that an anthology or collection of short stories can have each story tagged individually.
So, now that we have a solution, how do we apply it to the real world? All of the edition-specific information like author, title and publisher will be displayed separately from the content tags. By default, you’ll see the most recent edition of the book that’s been published in your preferred language, but switching between editions will be easy.
Tags will be split into two groups: “Content tags” and “publication tags.” Content tags belonging to a work are the sorts of things we promised in our introduction: Descriptions of characters, plot points, potential triggers, style, narration, tropes and more. Publication tags belong to a publication and will give you information like author, illustrator, publisher, number of pages and medium (like audiobook, ebook, hardcover). All of these pieces of information will be searchable and related tags will be linked together, like “Author: Maurice Sendak” and “Illustrator: Maurice Sendak,” or “Breaking & Entering” and “Burglary.” Keep reading about implications to learn more.