Marginalia
← blog

What to look for in a shared reading list tool

Six things decide whether a shared reading tool survives contact with a real team: page-level progress, genuine workspace isolation, sharing one book rather than a whole shelf, notes that stay private, plan limits enforced by the server, and a way to get your data out. Everything else is preference.

A spreadsheet does about half of this, which is why so many teams are still using one. It is worth knowing which half.

1. Does it track pages, or just "reading / read"?

A three-state status is not progress. It cannot tell you whether the group is halfway or barely started, so it cannot answer the only scheduling question a reading group has: is Thursday realistic?

Look for a page number, entered by the reader and turned into a percentage by the tool. It is the only measure comparable between people and between books, and it is the one thing a spreadsheet actually does fine. The argument in full is in tracking progress without the chore.

2. Is a workspace really isolated?

Ask a specific question: if I have the URL of a book in another team's workspace, what happens?

The right answer is that it is indistinguishable from a book that does not exist. Not "you would need the id" — ids leak, through screenshots, bug reports and copy-pasted links. Isolation means every read resolves your membership of that book's workspace before returning anything, so a guessed or leaked identifier is worth nothing.

If a vendor cannot answer this crisply, assume the check is in the interface rather than in the database, and that is not a check.

3. Can you share one book without sharing the shelf?

This is where most tools force a bad choice: either everything is public or nothing is.

The useful granularity is per book. Publishing one title you want to recommend should not expose the eleven others, and it certainly should not expose what you abandoned. A team also needs the second kind of sharing — publishing on behalf of the group, with the group's name on it, which is a different act from an individual recommending something and should need different authority.

4. Do private notes stay private?

Check what a published page actually contains. Title, author, progress and a one-line summary are reasonable. Margin notes are not.

This matters more than it sounds for teams: the value of shared notes is half-formed disagreement, and people stop writing half-formed disagreement the moment it might be quoted outside the room. A tool that publishes notes by default has quietly turned the most useful feature off. More on why in marginalia and note-taking.

5. Are the plan limits enforced by the server or by the button?

A limit that only exists in the interface is not a limit — and, more importantly, a tool whose limits live in the interface usually has its permissions there too.

The test is easy to describe: the free tier's book ceiling, the seat count, and who may publish should all be refused by the backend, not hidden by the frontend. Ask what happens when the request is made anyway. Vendors who have thought about this will answer immediately.

Related, and worth asking directly: what happens to published links when a subscription lapses? The honest behaviour is that links authorised by a plan are retracted with it, rather than quietly remaining live on the internet.

6. Can you get your data out?

A reading log is a multi-year record and its value compounds. Any tool that cannot hand it back as something machine-readable is renting you your own history.

You do not need a migration wizard. You need titles, authors, page counts, dates and notes, in a format a script can read.

What about everything else?

Covers, recommendations, social feeds, streaks and badges are all optional, and the last two are actively harmful — they reward finishing frequency, which pushes readers toward shorter books. The reasoning is in goals versus systems.

If a tool does the six things above, a team can run a book club on it for years. If it does four of them, you will be back in the spreadsheet by spring.

The short version