internetarchive / openlibrary

One webpage for every book ever published!
https://openlibrary.org
GNU Affero General Public License v3.0
5.19k stars 1.35k forks source link

Make it easier to find new author's and books by adding variety and personalization #7102

Open onnotasler opened 2 years ago

onnotasler commented 2 years ago

At the moment, the Open Library starting page has four carousels that basically all reinforce already successful author's and titles:

That is not done on purpose, but the way those lists are selected makes sure that only authors that are already successful can be added to those lists. (For example, trending only chooses authors that got many interactions, and thus their books will get more visible, get even more interactions and so on. Classic books are usually also those of well-known authors, and books we love is basically a staff version of trending books.)

Sometimes, another book by an author is just what I love, and then this is great. But sometimes, I want to read something unusual, find an author I hitherto did not know, and in this case, Open Library does not support me well. It would be great if it did.

Describe the problem that you'd like solved

I would like to increase the amount of titles eligible for the starting page lists. Have a greater variety of topics and author's, and have them change more often.

Some ideas:

A completely wild and futuristic idea, that can probably only included in the far future, would be to create a personal "reading tree" for every user. In that tree, the books I already read will be the "roots" and shown as "in the past". The stem are the books I am currently reading and shown as "the present". The crown are the books I want to read "in the future" - including books I selected myself, but also recommendations from OpenLibrary for books I might like, calculated from a combination of books I actually read, want to read, and what similar patrons read. To make it completely wild, also connect that to local events, so if I like to read mystery novels, and Burkina Faso makes headlines, suggest me a mystery novel from or set in Burkina Faso.

Proposal & Constraints

  1. Add two more carousels, one that is connected to the most recently acquired books and the second that is exchanged depending on external events.
  2. Extend the metrics that are used to determine which books are included in those lists. Use at least two or three metrics to determine which books to include in any of the carousels. (The problem is generally similar to how one determines how many seats parties get after an election: There is a certain amount of seats, in this case entries shown in the carousel, and you need to determine who gets those seats.)
  3. Personalize book recommendations by introducing a "reading tree" as sketched above.

I would greatly recommend to cross-check my ideas with educated librarians before implementing them. I have no idea how realistic or feasible they are.

Additional context

Stakeholders

mekarpeles commented 1 year ago

I think we need to rethink personalization on homepage and elsewhere (tracked eg #6004). These are great ideas which we should bring up on a community or design call