Co-Founder (NodeBB) | Husband 🤷‍♂️ and Dad 🙉 to three | Rock Climber 🧗‍♂️ | Foodie 🥙 | Conductor 🎵 | Saxophonist 🎷

✅ Small teams craft better code.
🇨🇦 Made in Canada
🗨️ Federating NodeBB with funding from NLNet ♥️🇪🇺

  • 1 Post
  • 28 Comments
Joined 3 months ago
cake
Cake day: August 14th, 2025

help-circle
  • This is an important thing to consider, and why NodeBB decided to even pursue federation at all.

    It’s arguable that we’ve reached the point at which forums cannot organically grow due to the ubiquity of social media. Depending on who you ask, we’ve reached that point 10+ years ago already.

    It’s becoming increasing imperative that forums federate or risk dying due to attrition. Forums used to be the social network for niche topics. Facebook (with Groups) and Twitter (with hashtags) started competing, and Reddit (with subreddits) made another huge dent.

    There are some communities that fear integrating with AP will cause their local communities to become flooded with just anybody. Those fears are unjustified, but understandable.



  • Hey! Thanks for the concise reply. There’s a lot of technical stuff I can say about Discourse and such, but because I am the maintainer for NodeBB it is probably in my best interest to keep my mouth shut as we directly compete!

    Anyhow, the OrderedCollection stuff is actually all from me. I’ve been working as part of the Threadiverse working group to bring intercompatible formats to all threadiverse software, which besides Discourse and NodeBB, includes Lemmy, Piefed, and Mbin.

    The OrderedCollection enables software (like NodeBB) to quickly backfill entire topics. This is a huge problem on the microblog-side of the fediverse, and is not really a problem on the theadiverse, since there is already strong support for synchronization. However, smaller instances often do run into issues where they can’t ever “catch up” on old posts because there’s no way to get those posts. (e.g. start following a new community, you can’t read any of the old content)

    To that end, Lemmy and Piefed have (or soon will) ship code to allow software to backfill using OrderedCollections. They don’t use them yet, but they will provide them. It helps software like mine because I will then be able to see entire threads from communities I don’t even know about or follow. It’s a huge boost to discovery! :smile:

    > while Discourse decided to use an OrderedCollection, with the first item being the opening post.

    NodeBB also does this, but they’re not incompatible per se. You’ll see NodeBB topics showing up just fine on Lemmy and Piefed (see activitypub@community.nodebb.org or general), and that’s because NodeBB does the extra step of announcing OP and replies, just like Lemmy/Piefed.

    Importantly, Discourse does this too, but because of the inability to find Discourse categories, I don’t think it’s easy to follow them. Chicken and egg, really. The way the AP integration in Discourse is built-out, it is more insular by design. Threads from Discourse only ever go out to the fediverse, you can’t post in from the fediverse. That makes those communities much more insular by design and severely limits discovery.



  • I’m sorry, this is not how federation works, and if it were truly as limited as “one activity at a time”, moving a community to an entirely different continent is a fantastically short sighted idea.

    Moving geographically closer to something else is important if you need real-time savings (e.g. high frequency trading, scientific research). ActivityPub is an asynchronous communications protocol built upon technology with decent if occasionally dubious reliability. Doing something this drastic to shave off ~100ms is not correct.



  • In a nutshell, it’s because you don’t have to build the entire kit and kaboodle all at once.

    Lots of BlueSky is centralized so you don’t have to worry about distribution, user, hosting, scaling, etc. and just focus on the frontend.

    It’s the same reason why all the Lemmy and Mastodon apps look way better than the web versions, because all those other parts are no longer relevant and the creator(s) can focus on just putting out a polished product.