Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Booklet – Async forums as an alternative to chat (booklet.group)
183 points by philip1209 on Sept 20, 2023 | hide | past | favorite | 119 comments
I built Booklet to solve the problem of too many chat messages at work.

Booklet updates classic internet forums and email groups to have a modern UI and high polish. It organizes communications into threads, and summarizes activities into a neat email newsletter - so members can stay updated without having to stay logged in. The async format promotes deeper discussions, while also increasing engagement by making conversations easy to follow.

My goal is to make communications more asynchronous - so that I can get back to work, instead of slacking all day. Most early communities have been hobby groups, but my goal is to mature Booklet into a tool that sits alongside Slack in companies.

Try it out, and let me know what you think!




I'm a bit lost, even after trying the demo I can't understand why this should be better than, say, Discourse.

Your implementation is probably not based on Ruby - which makes it more interesting - but it's not open source. In terms of features, they don't seem to compare at all as this is really early stage.

The idea behind the project is good, and I think this is the future. I successfully pushed the company I work for to use internally a Discourse instance to overcome the same issues you faced - and it works. We now have an "internal StackOverflow" and an engaging community. It's not a new concept (see Google's YAQS), but it's a (IMHO) working one that many more companies should adopt as it really increases knowledge sharing and productivity!

Best of luck with your project, I think you're on the right path but you should definitely start comparing this to Discourse and define why should anyone get this - and why must it be SaaS (some big companies are against SaaS for their stuff).


Best I can tell, it is indeed Ruby on Rails.

> <link rel="icon" type="image/png" href="https://delivery.booklet.group/rails/active_storage/represen...">


Yes, it's Ruby on Rails! I'm using Hotwired on the frontend, which has been great for making discussions real-time while minimizing complexity. I'm hosting on Fly.io - I had used Render for a prior product (https://postcard.page), and found Render slow. Fly lets me set up multiple data centers, and they have an elegant little Ruby gem [1] to enable multi-region support on Rails without much fuss.

[1] https://github.com/superfly/fly-ruby


Hey Philip! I'm a PM at Render. Sorry to hear about the slowness. I'd love to learn more -- my DMs are open.


I sent a response, but - the short of it is that Cloudflare + Render's proxy + lack of distributed backends was adding hundreds of seconds of latency. We use a separate asset CDN and rate limiting, and wanted to turn off Cloudflare - but couldn't on Render.

Also, the custom domain pricing on Render is fairly high - probably due to the Cloudflare custom domain licenses.


Wow, okay, then it has no advantage over Discourse as of now (:


One difference is that you can set up a Booklet entirely for free, without a server or paid subscription!

Also, it doesn't use Ember.js, which is another plus in my book.


You’re talking to a community that hates discord and more because they don’t own it. They’re afraid of enshitification of platforms they have no control over. You’ll win people over with self hosting, not promises of free or managed here.


It's not only about people, but some (big) companies are more keen to have stuff on-prem than as SaaS


> I'm a bit lost, even after trying the demo I can't understand why this should be better than, say, Discourse.

That's a valid question - I'm pushing to launch at the "minimum viable" stage. But, I plan to mature Booklet into more of a managed service, intended for invite-only networks and internal company discussions.

Discourse is a great product. However, I know of a couple very large companies that started to use Discourse and even went as far as paying design firms to customize it, only to back out due to challenges. I think a lot of the complexity of Discourse comes from its reputation system - which is designed to prevent spam. But, for an internal company use case - those tools are not useful, and become annoying. Even if there's a way to turn them off, I think it gives the software a clunky feel.

There's something elegant about an "omakase" approach, where companies can use it out of the box.


you should think about trying to build this using the WordPress model, though that might work better in JavaScript, or PHP as those are more supported on cheap bluehost servers, you'd want self hostable to be one click install. you could have hosted instances and freemium plugins with paid upgrades for monetization.


For corporate use I actually suggest Twist (twist.com)

From the makers of todoist, they made a comms tool for their async remote workflow and then made a SaaS out of it.


I've used Twist, and I've had friends use it in their companies. I know of nobody that continues to use it today.

In my experience, Twist doesn't get notifications or channels quite right. I haven't used it recently, but I think it was easy to miss discussions.

I'm attempting to solve this issue in Booklet by building a deep email integration. I've talked a lot about the summary email. But, one little feature I haven't discussed much is the following mechanism on threads. When subscribed to a thread, all replies trigger emails, and the emails thread in your inbox like a Google Group. (Post via email is on my to-do list, too). My vision is that people can continue to use Booklet from their email (and, perhaps other tools in the future) without needing to log in to the app.


I would give my left arm to be using internet forums again. Online communities adopting Discord and Slack was such a terrible move in hindsight.

Definitely rooting for this to take off.


> I would give my left arm to be using internet forums again. Online communities adopting Discord and Slack was such a terrible move in hindsight.

Was also a terrible move in foresight. :)


Thank you - try it out and let me know what you think.

Based on the launch feedback so far today, I think I need to build a Slack integration - primarily as a separate channel to deliver the daily newsletter. It seems like lots of people don't even open their work email anymore, so the chat + forum need to work together.

I wrote more about why chat fails for work communication in my launch post here - summarized as "our workplace communication looks like the floor of a 1980s stock exchange, not a place for writing code." https://www.contraption.co/news/launching-booklet/


Be careful with users hounding you for features, especially ones like you specify.

Think of HN here. How many feature requests have they implemented over the last 10 years?


That's a great point, and I'm conscious of it. I try to take a first-principles approach to building.

For instance, a few people have requested "pinned posts." I personally don't want the same post stuck at the top of my screen forever, and upon digging in deeper I find that people really want a "Welcome" post that all new users see and can access. So, I'm exploring some ways of accomplishing that without pinning - such as a dismissible post for new members.


I hate that forums changed from Simple Machine Forums or PHPBB to Discourse, the ui in Discourse is terrible and I find it unfriendly for community feeling - it doesn't invite customization, discourse design looks like an airport bathroom.


I disagree. I find Discourse superb. From the user’s perspective it is simple, clean, fast, with amazing search, etc. It can be customised, but most people using it do it for practical reasons, and worry little about customisations.


Overall I don't mind Discourse, but I would definitely love for it to:

- not hijack my scroll or do that infinite page thing. Please load the entire thread or at least let me use classical pagination.

- not hijack CTRL-f for its own built-in search. I want my browser's on page search, and I know what I'm doing.


> - not hijack CTRL-f for its own built-in search.

Just in case you(or others) don't know, you can press Ctr-F twice to get the native browser page search.


Helpful, thank you!


Why did they use infinite scroll in the first place? Is there any scientific research behind this? What are better alternatives?


I .. guess there are different standards or point of views what counts as clean and fast?

I experience it as very slow and bloated, even though it somewhat improved.


I experience it as fast compared to traditional, pre-SPA-era web forums; the use of JavaScript speeds up a lot of interactions that would otherwise require a full page load. The live Markdown preview is also a heck of a lot better than having to click “preview” and wait for a page load to see your BBCode rendered. Having live updates for new posts/edits without having to refresh contributes to a snappy feeling. And I think the visual theming is nice and clean.

Still, compared to a good email client, it’s not so fast. Which is why I personally read Discourse forums mainly via email, only visiting the actual site for long threads or when I want to reply. It’s not perfect, since Discourse allows editing posts but doesn’t notify email users of edits. But it’s fine. I actually like it better than real mailing lists, because I prefer Discourse’s composing interface.


>fast

Discourse is definitely not fast. Whenever Google sends me to a discourse page I just end up giving up on waiting for it after staring for over 8 seconds at a blank page.


I happily take that over Discord.


I am dumbfounded by the number of people signing up for these chat-based communities. Do people scroll through the threads? Are they watching notifications come through?

Chat works great for a small group of friends, I don't think it is a good fit for a community


Some telegram groups developed as some sort of community.

"Do people scroll through the threads?"

Most won't, so the same things and questions get discussed again and again. If the mod is engaged he will create sticky notes, but people also often ignore those. So - yeah, I agree. Not a good fit for a community. They sort of upgrade it though regulary, and now you can have subgroups in groups that can work as forum threads, but I experience it not as a good UX and I regulary delete telegram as it is really hard filtering out useful comments from noise.


Agreed. Im so thankful for the few remaining good forums like elixirforum.com etc. So sad that discord really hijacked all of the communities (of course i understand people choose it because it is good but still)


I think it's popular because it's easy / free to set up and the friction is very low for new user, not because it's actually any good.

I think it's actually horrendous for things you want to use forums for. I don't remember using IRC in lieu of forums (did we?), why do we use Discord for the same?


They choose it because its engaging.

Discord is really good at sucking you into conversation and capturing your attention/time. Its way better than IRC ever was. But that doesn't mean its a good format for information, issue threads, work discussion and such.


I guess endless frustration and wandering is engagement.


What in the UI or UX of discords has this effect?


Presence indicators, activity indicators, emoji feedback, and video chat, to name a few. Features that provide instant gratification.


Those insights are things I've tried to bake into Booklet - for instance, a really generous free plan and no per-user pricing. Existing community platforms (like Circle) are not set up for bottoms-up adoption, so it ends up feeling like gross enterprise software.


If Discord hijacked all the communities, wouldn't elixirforum not exist? Seems like a contradiction...


I am very sure they weren't speaking literally...


Absolutely. We've made a full circle and I'm very happy that products like this are becoming a thing again.


I believe we need to standarize forums api so we can build readers as well to see all the forums you are subscribed to in one place instead of jumping between websites


IMO, email and RSS are the universal APIs of the internet. Booklet already supports email, and I'm considering adding private RSS feeds.


If you like the old school bulletinBoards + standardized protocol, then you may like LemmyBB. An homage to the classic forums with the reach of activitypub protocol: https://github.com/LemmyNet/lemmyBB


It's not like chat hasn't existed for decades, it definitely has been in foresight for many. I think what attracted people to these platforms is the ease of use and plug n play nature of centralised software compared to forums that have much less intuitive UX and have only recently adopted federation making the very vast majority of them lacking in interoperability.


Absolutely. Two big drivers were:

1. People are impatient, and chat makes everything urgent

2. Chat make posting easy, so authors post more and with less intentionality

I wrote a long post about this on our blog as I announced Booklet: https://www.contraption.co/news/launching-booklet/


This take feels like twee projection of anecdata.

There are thousands of forums that require sign up just to read posts. Always has been.


I would give my left arm to stop having to check work email for the five people who still use it.

Something in the middle sounds lovely.


Do you use Slack?

My impression after today's launch is that I need to deliver Booklet's daily summary over Slack, not just email. Would that work better for you?


We use teams but slack is common enough.

It’s really a social issue more than a technical one. How to get people to stop playing, “guess which platform I sent you an urgent message on, which nobody else you work with uses to contact you, ever?”

Threading and history I think are necessary for the email thread set.


Yes, I agree. Email got ruined by external users - scams, spam, and marketing. Chat is nice for companies because everybody inside is trusted.

The irony is not lost on me that Booklet is almost rebuilding email, but for internal-only usage. I think about this a lot.


That could work nicely, yes.


Disclaimer: Discord-hater here.

It seems that the core feature is the AI generated summary. This could be a paid plugin for the most important discussion platforms in the wild, for example: old-school PHP discussion boards, Discord, Slack, Twitter, Facebook and others. This plugin also could offer AI-augmented search or AI logging. The pro: people don't need to leave their platform to profit!

Another idea: Discord seems to be controversial. Some people love it, some people hate it. Instead of a plugin offer a discussion back-end with two frontends, one behaving like Discord, the other like a traditional discussion board.

Or do both. Whatever. One problem I see is missing focus. People might not understand what you do.


To be clear, the summary is not AI-generated - at least, not yet.

I talk in the demo about the 1% rule for users (1% post, 9% like/reply, and 90% just read). I envision each of these three as separate levels of engagement within Booklet:

1. Some users will post and create threads

2. Some users will read the summary email and never get deeper

3. Some users will see a thread in the summary email and get very engaged in that thread (for example, by commenting or following it)

Based on my experience, chat does a good job of #1, a mediocre job of #2, and a terrible job of #3. Specifically - long-running threads lack discoverability or engagement in chat, so people can't modulate their engagement to the topics they care about.

This is why I built discussions from the ground-up, rather than making some Slack plugin.


Checked out demo @ https://demo.booklet.group , cannot see scrollbar on Firefox. Weird.


I had disabled the scroll bar because I use infinite scrolling all over the app, and the scroll bar was jumping around like crazy as more content loaded. In addition, some pages had scroll bars, but shorter page did not - so as I clicked between pages there were layout shifts as the scrollbar appeared then disappeared.

How do other solve this? Based on the reactions here, it seems like hiding the scroll bar may not be the best approach.


Let the scrollbar jump around like crazy. That's what most other infinite-scroll websites do. It's a nice indicator of how long you've been scrolling for.


It's funny how something so simple & essential like a missing scrollbar can be an instant deal-breaker.


not on Safari either. Maybe an intentional choice?


It's a light purple bar within the dark purple bar on the right. Not sure why the design is like this.


The OP describes it as "modern UI", and that's exactly the type of stuff you're seeing.


Nor on Chrome.


Seems fine on lynx. ;)


Chat has a lower level barrier to participate than a forum post (or even old schooler: a mailing list). Chat is More direct and faster paced, which has its positive and negative effects (engagement vs quality - I’d assume most people put more thought into a forum post or email than a simple chat message) So far I have only seen Reddit/HN style „forums“ to combine these aspects together successfully (although I don’t know if that also happens in slack and the likes)..

Another option might be to filter out important discussions and elevate it on a certain (“BB or mailing list worthy”) level - that seems to be a challenge, that the threading function does not sufficiently solve (also, as users don’t always adher to the technical aspect of replying to a thread).

It will be interesting how LLM/AI might solve some of these issues of organizing the knowledge that is generated in these different formats. That’s a task that so far seems to be too tedious to be done by humans, after all. A wiki generated by AI to certain discussions and topics? Summaries in the chat software to certain keywords/discussions and suggestions on further reading?


I wrote about this a bit in my launch post [1]:

> In today’s chat-centric environment, there’s a skewed emphasis on the ease of posting. We rarely pause to consider the broader implication: for every message posted, it’s likely to be read 100 times by other people. Yet, we continue to post more and more low-value messages, because it’s easy to do so.

> For the vast 99% majority who are on the receiving end, chat becomes a source of stress. Constant notifications require frequent context shifts. Unstructured discussions make it difficult to follow along. And, the lack of summaries means onlookers are left out of the loop.

> Knowledge work becomes more productive when non-urgent communication gets shifted to an asynchronous format. Thoughtful, long-form communications promote deeper thinking and better decision-making. This insight led Amazon to ban PowerPoint in meetings, and instead require 6-page memos to be read silently at the start of meetings. Programmers have long recognized the efficiency of this approach in their work, utilizing batch processing to have computers efficiently handle repetitive tasks. We need to apply a batching approach to our communication.

Getting the newsletter right, including relevance scoring and summarization, is a really fun opportunity. I am experimenting with some GPT approaches - it's quite really effective at summarization.

[1] https://www.contraption.co/news/launching-booklet/


This sounds somewhat similar to the concept of channels in Teams, wherein channels are subjects, and you create new topics and the discussion is canalized on those channels. You can also have email recaps of the conversations in your channels.

On paper it's a good idea, in practice I found it cumbersome. It requires for people to think a little about how to structure their conversation, and thinking is hard, too hard when you can just send a disorganized group chat.


Can't recall if any current tools have this, but being able to take a set of existing comments and make a new room/thread from those would help enable people who want to provide thread hygiene after the fact. Being able to do that would allow people to not be as concerned about when/where/how they start a 'thread', because... you don't always know in the moment where something will go.


On Zulip you can move messages to another topic[0]. Streams are the concept of "channels" on Zulip, and Topics are your threads. On discord, if you use the reply feature enough times, (iirc 3-4 times) it'll prompt you to make a thread and have those messages included iirc.

0: https://zulip.com/help/move-content-to-another-topic


Thanks. Didn't see that in zulip, but haven't used it 'for real' beyond a few demos a couple years back. I don't remember getting prompted in discord like that; is that a setting someone needs to enable?


The goal is good.

Can you open up a sandboxed forum so that people don't need to register to try the product out? I think you'll get much higher conversion if people can see what it looks like before they commit to registering.


Thanks!

Yes, communities can be public - check out https://hq.booklet.group which is a public forum where I share updates about booklet.

For something with more data, check out https://demo.booklet.group

I also tried making a little video demo + walkthrough of the product: https://www.youtube.com/watch?v=yf03XsD4pvo


clicking on any one of those hq.booklet headings gets the turtle in FF due to it taking 1.66 seconds to load, and worse(!) there's no UI confirmation of the click so I thought for sure it was some kind of JS kaboom that ate my onclick. The /replies is 1.78 seconds but that bothers me less

are you getting hugged to death or what?

---

you'll also want to exercise caution leaving user-provided filenames in the URI as that's some pentester funsies: https://bklt-storage.s3.us-east-2.amazonaws.com/p4x0bznob52y...


Thanks for the tips! I'll take a look - requests are typically super fast, so perhaps the database is just under high load due to launch. I'll check now. (I run replicas in a couple cities on https://fly.io, so general latency should be low too.)

For the filenames - I'll take a look. I'm using some popular libraries for files, which I hope address things like this.


If you're allowing image uploads, always make sure it is an image being uploaded. I rooted a very big webhost back in the day by uploading a script as a PFP.

Funnily enough, I found their root password eventually in a config file. It was "internet" :|


I can now say that unless you are still, at this very moment, under "launch duress" it's just the site's steady state because it still takes exactly 1.68 seconds to load the first link of that site, and 1.89 seconds to load the /replies endpoint on it, and -- as I thought I helpfully pointed out -- clicking that link does nothing for almost 2 seconds, leading the user to believe it's borked

I'm glad you have spent all this energy reinventing ruby on rails based forums, but this is not the way

or, actually, in the spirit of being constructive: what is your experience clicking on those links? does it shows some loading indicator for you? does it load faster than 2 seconds for you?


Hey, thanks for the follow-up. While traffic on the marketing website has decreased since launch, traffic on the main app has increased.

I do some performance monitoring (using https://skylight.io) and have identified some opportunities for speed-up. I'm working on getting those updated.

I also just resized the database - it seems that some read queries were being slow.

I'm continuing to dig into the postgres settings and indexes to make sure everything is good, too.

--

Update: I'm seeing ~300ms responses on each of those endpoints now in my browser.


Is there a demo forum we can look at without having to set up an account? That would be a good idea.

Also please make sure it works without javascript, like discourse does. It can be ugly with JS turned off; people who turn off JS don't care about pretty.



why not https://github.com/freedit-org/freedit

No JavaScript at all


How are forums not just a different style of chat room where anyone can make a new room?


It's kind of a subtle thing, but I think the hierarchy of topics (listed newest first) and posts (shown by topic, oldest-first) matters a lot. Creating a new topic is a much more thoughtful and intentional activity under that model than when your "room" is just a continuous chatbox with replies often accidentally posted to the main instead of being properly threaded.


Categorisation tends to be better. And each post tends to compete in a page view of all posts, versus a stream of things in many cases.


History


Logo is seriously reminiscent of bootstrap [1]

[1] https://getbootstrap.com/


Love the design


How much control of the design we get?


It’s free to make an account, so you can jump in and play around with it.

Right now it supports a custom brand color, logo, optional separate logo for dark backgrounds, and icon. (There’s some fun code for determining where and how to use the brand color to maintain sufficient color contrast).

If there are missing controls you want let me know!


Why would someone use this over something like Lemmy? Are there any plans for self hosting?


From the homepage: "Booklet is a modern discussion forum and member directory for professional groups. It sends calm, automated summaries to everybody so that they stay informed and engaged."


Not sure yet how this compares to Flarum - https://freeflarum.com/ you can self-host too https://flarum.org/


If I can't self host it and own the data, I am not interested.


Self-hosted forums already exist (like Discourse), but adoption has been low. I fully support self-hosted forums, but I think they'll never achieve mainstream without a hosted option.


The two aren't mutually exclusive. It is a common monetization strategy for open source projects to offer a paid hosted option in addition to free self-hosting. For example, you can self-host Matrix (synapse, dendrite, and conduit) but you can also pay the creators of Matrix to host it for you[1].

[1] https://element.io/pricing


Yeah, that's fair - Discourse is a different forum software that follows this playbook.

The lack of a unified backend makes it much harder to build native mobile apps.


> The lack of a unified backend makes it much harder to build native mobile apps.

That response comes across as disingenuous. The lack of a unified backend makes a lot of monetisation models hard, but should pose zero problems for native mobile apps. Point at an API and done.


I am also interested in self-hosting, I really dig the design and interface but not being able to self-host is a no-go for me. Discourse is just terrible overall and the only other real alternative is xenforo which is extremely pricy.


I'm absolutely open to supporting self-hosting under some kind of enterprise license, similar to Github. If this is something you're interested in, shoot me an email and we can try it out.


I would be interested in a self-hosted version as well; though have additional questions about administrative items. A return to forums and not a 'feed of high engagement' is sorely needed I think. Unfortunately, so are moderator tools and certain things of a web application that people have come to expect.


Yes, that’s why I don’t support “open signups” yet - I want to avoid spam fighting for now.

There are some moderation tools build in, and some where the API is done but just needs a front end finished.

Which major features do you feel are missing?

Send me an email (Philip at contraption.co) and we can discuss self hosting.


Adoption is low because Discourse just sucks. I just looked up something on the Docker Discourse - it took 8 seconds to load and made 80 requests. I just avoid websites that use Discourse. PhpBB sites loaded faster on my 256Kb/s back in 2006.

Contrast is also low and it's just bad to read. Too many UX people touched it.


Aren't async forums just forums


No. They are special.

I'm being facetious. Take note all ye.


Yeah, not sure “async forums” conveys what OP is trying to convey. Maybe “real-time forums” or “live forums”.

They’re async as in the technical ‘async’, vs. async as in “async communication” (which is what you’re saying).

But the key is that you don’t have to force an update — updates happen in real-time, even edits (they’re pushed). In traditional forums, you’re forced to pull updates.

TLDR: it has the feel of chat, with the structure of forums.


To me team chats always felt horrible, email felt tolerable and the HN-like tree view always felt the best, near-perfect form of communication. I hope people are going to move this way occasionally.


Email had the tree view decades before HN existed. If your email client doesn't show you that, find a better email client.


Technologically email indeed supports proper thread trees. But modern, most commonly used clients don't. The email world would be a better place if people stopped quoting entire threads in every message they send and would rely on message IDs and response relations but they don't.


If only other people would care to respond to the correct mail insgead of the latest


Want to talk about inline replies vs top-posting next? That’s always another great frustration.

We’ve apparently already had that discussion though: https://news.ycombinator.com/item?id=22801233


What people really want is to type their reply without having to include the original message in their response. That's how most people comment on places like Hacker News and Reddit.


> What people really want is to type their reply without having to include the original message in their response.

Who said they have to? I doubt many people even care, previous messages are just included recursively by all the major email client apps by default. I suspect most of the people don't even know.


Email clients have moved over to conversation view, which is supposed to make email threads look like conversations you see in a chat client. The message itself still quotes all previous messages, but it's all hidden unless you look for it.

The interesting thing is that if you use a conventional email client that supports actual threading using the Message-Id and In-Reply-To and References header values, and you edit the email message to trim quoted content and reply inline, the conversation view implementation in their email client breaks and it shows a blank message.


It's not that people don't care; it's the client they use that basically have them reply to the l most recent message regardless.

I blame conversation view.


That's a matter of email client apps design. Users never care about anything unless their app UX nudges them to.


Recommendations?


I watched the video on the landing page and TBH, it looks like a basic CRUD app and didn't see anything interesting over a regular forum.

Real time editing doesn't seem like a useful feature unless you expect people to keep threads open.


Someone trying to sell some stupid proprietary crap that hardly has any innovation in it.

We need people working on open source protocols and tools to make things like this possible with existing protocols and in a secure way, federated/decentralized.

I saw in a comment below what I expected, it already exists LemmyBB!


"Someone trying to sell some stupid proprietary crap that hardly has any innovation in it." you could be more helpful rather than leaving a stupid public crap comment that tries to offend someone that you don't know.


> We need people working on open source protocols and tools to make things like this possible with existing protocols and in a secure way, federated/decentralized.

Have you considered that some people don't see value in the decentralised/federated setup? They want to go to one site, that all there friends go to, without having to play guessing games to ensure that the server they are using is part of the federation that their friend is using.

It's also bad form to call out something just because it is proprietary: Ever used AWS, Azure or GCP products? Why is their "proprietary crap" better than this "proprietary crap"


I took delight in flagging this awful comment.


Be kind.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: