Papamanolis
11 days ago
Hey people!
After years and years of wanting to start something and build a product, I’m taking a jab at it!
So basically, me and a few of my coworkers wanted to create a virtual book club since we are all working remotely and decided why not automate it.
I’ve been working on booktalk, a Slack app that makes book clubs easier to run. For now it will allow the team to get details and suggestions about books, vote on books that they want to read, set a timeframe for their reading cycle, and when the cycle ends, it reaches out with a few relevant questions about the book!
Has any of you organized or participated in a virtual book club before? What was your experience, any challenges that you faced or features that were missing?
Fire away!
PS: Let me know if you have any feedback about the website too, it was my first time creating a landing page!
digdugdirk
11 days ago
The biggest feature that I'd love to see with a virtual book club would be a way to "unlock" discussions based on how far the into the book you are. The goal would be to make things asynchronous (so you could read at your own pace) without getting hit with spoilers.
Ntrails
11 days ago
> The goal would be to make things asynchronous (so you could read at your own pace) without getting hit with spoilers.
I don't, personally, think that works super well?
I don't want to join in at the tail of a thorough discussion and add my 2 cents to people who have moved on.
I also wouldn't want to keep getting dragged back to prior threads on bits I won't remember as well (most specifically where the spoilers start).
So, I could well be wrong, but it sounds awkward to me
em-bee
11 days ago
we have this problem in our book club and in tv series discussions all the time, and it really isn't a problem. everyone shares their thoughts to the things they are reading/watching and people give their feedback. some people avoid spoilers until they are caught up and add their thoughts then. some people are behind and talk about things we already discussed days ago. i even once discussed a tv series season one while everyone else was already watching season two. we didn't get intodeep discussions but people were answering my questions without spoiling things for me. certain movies are being discussed over and over again every few months or years. if you have a group that communicates well with each other, none of this matters. the worst thing that can happen is that latecomers get less engagement. but it really depends on the detail or the mood.
a system that allows marking of spoilers with the chapter/episode/part etc, and hide the ones that are further along than me would be nice. practically speaking though it would be enough if everyone could tag their messages with the chapter/part they are talking about and then the reader can choose to unhide based on that information.
the hard part with any such system is to get the participants to develop the discipline to actually recall the chapter and mark the comment. "somewhere in the book the gardener removed a sticky substance from his shears, but i forgot which chapter that was."
fm2606
11 days ago
That is a good idea.
gostsamo
11 days ago
Funnily enough, recently we started a bookclub in our office and we are using slack. Not sure if we need the app, but we might try it.
The biggest challenge for me is to accept when the team chooses an obviously bad book, but they will learn with experience. A feature about book details sounds good but depends on the source and if it is marketing or a good critical one. Finding the book in print would be a nice feature which is easy for english and big countries, but might be hard otherwise.
Edit: maybe consider a feature for setups where people rotate to choose the book if there is not one yet.
agscala
11 days ago
Maybe it would be valuable to have an anonymous "onboarding" experience where people choose the genres they like or dislike, and then the people choosing the book can be informed a summary of the groups preferences.
Also an anonymous thumbs up/down after the book is read could help the group choose a better next book
Papamanolis
11 days ago
Such a cool idea! I'm definitely going to explore this feature for the upcoming release.
gostsamo
11 days ago
This is a book club. People know each other and their preferences. Also, it would be rather clear if people liked the book or not. Those are functions better left to the conversation or at least, no sense in making them anonymous.
For online discussions, it might be convenient to have a shared board with questions about the book, maybe scoreboard to rate by aspects and do a final grate, but those are fancies, not essential for facilitating the discussion.
em-bee
11 days ago
if the team chose a bad book, i can't have been obviously bad unless you pick books at random or without even reading anything about them before selecting. it also depends on how much people read. in our group most members are well read and a good part of the nominations are books that at least one person has read already. people nominate books they read before and liked or have heard good things about. other sources are awards or nominations for awards the authors received, or articles like the best 10 books in this genre, etc...
gostsamo
11 days ago
Regarding the bad book choice, people must've read only the marketing and the amateur reviews in goodreads. The author is relatively famous but the book is a disappointment.
em-bee
11 days ago
i am in an active bookclub that uses a chat group. we collect nominations, vote on the selection, and after about a month we have an online meeting to discuss the book. for that we first vote on which day we want to meet, and then on the time for the meeting on the selected day. so three votes for each book, two of which are the same kind of vote every time. occasionally we also use a vote to find out if people need more time or if everyone is done.
we use wechat for that because most of us are in china, and no other chat platform works for everyone. wechat has mini apps that we can use for voting, but collecting the nominations and setting up the votes each time is a manual and sometimes tedious process. once we used an external voting app, but there the problem was the lack of integration with the wechat users. we could not tell who already voted, and more importantly people could not tell for themselves if their vote was counted or not.
better integration would be nice. getting everyone off wechat into slack is probably going to be the biggest challenge though. i don't even know if slack works for everyone in china.
vcool07
10 days ago
My feedback would be to not restrict to books. You would get more traction with movies / web/tv series or even video games.
WorldMaker
10 days ago
> Has any of you organized or participated in a virtual book club before? What was your experience, any challenges that you faced or features that were missing?
It's funny, but my "winter hobby project", between myself and my junior developers GitHub Copilot and whiskey, has been trying in the nerdiest way possible to convince my Book Club to switch from a Ranked Choice voting that was still a bit too much first-past-the-post (but easy to model in a Google Sheet) to trying the Schulze method [1], which is fascinatingly more robust and which provides some niceties like "vote on everything as 1-5 [stars/hearts/dolphins/what have you]" (encouraging lots of ties to get the most interesting "beatpath winners") with the ability to save those ranks between voting rounds because the ranks are personal and not "points". As a voting method, it also gives us a bit more flexibility to "predict"/plan for more than one winner at a time (many of our members use public libraries with long lead times to borrow books, so we like to plan two or three books ahead). But also as a voting method that encourages ties, it still allows for surprises/serendipity and changing minds/shifting winds.
Ever since ModernBallots [2] shut down (RIP) it's been increasingly harder to convince people to try the Schulze method for voting. For one thing the Wikipedia rabbit hole is full of way too much complexity of the intricacies of voting methods in general and the math looks way harder than it is. While I wouldn't want to do the math by hand, it's a really simple algorithm from a computer science standpoint: convert one user's ballot's ranks into an adjacency matrix representing which item (book) beats with other item (book) [1 for edge, 0 for no edge], add adjacency matrixes together (you get an adjacency matrix where the edge weights are number of ballots), then run a simply modified Floyd-Warshall on the matrix to find the widest paths (ranking the items by most widest paths to fewest). Floyd-Warshall is a classic, simple "textbook" digraph algorithm. So much so that GitHub Copilot knows it quite well. (I recall it came up three or four times in my own college experiences.)
While I've been working on this, so far I've been intentionally specializing it for this particular book club. I'm trying to keep it fun for myself and worrying about generalizing it into a product (such as a potential replacement for ModernBallots) has intentionally been something I've tried to avoid to keep from burning out on it. (Kudos to you on doing it and shipping a first version of it.)
I have been building it in the open, for a variety of reasons: https://github.com/WorldMaker/jocobookclub/
I think it's a cool codebase. The main site is SSG (to GitHub Pages), progressively enhanced with web components and some HTML templates for those web components. The API site is sent to Deno Deploy, using Deno KV as the database, and using Deno Queues for the vote calculation work which is probably overkill for the club's current scale but the engineering effort behind it felt like a good idea and makes me happy. The slowest loading things right now on the site are the Font Awesome icons in use to keep it fun/visually interesting, and as the number of icons in use stabilizes I expect to more cleanly subset it and drop that into the SSG build as well.
You can even browse the public (static) parts of the site: https://worldmaker.net/jocobookclub/
You won't see the actual voting tools light up, though without logging in, and for hopefully obvious reasons (small, private club) the registration links are restricted to invite-only. Maybe I should take a screenshot of them at least, to include in the README, but so far I haven't thought much about the public facing aspects of the codebase like that as it is still mostly for the benefit of myself and the club members.
In general, we probably don't talk about voting methods enough and first-past-the-post is too easy a default and too accidental a fallback even when you think you are doing something smarter like a Ranked Choice ballot. Sometimes the more complicated you try to make those rules, the less effective they are in reality. It's been one of my nerdier obsessions for a long time. I used to use ModernBallots a lot to try to convince people to stop using SurveyMonkey or Google Sheets and simple counts for something a little smarter and a lot wilder that finds answers that everyone collectively don't always realize they all mostly agree on/with.