Looking for critique of a project/idea

Hello!

I was hoping people could provide me some feedback and constructive criticism about an idea I’m working on at home.

I wanted to make a discussion site where discussion groups were like atproto accounts, in that they could be hosted on different PDSs, and displayed by different front-ends. People might also own their own comments, and threads would be a tree of refs to those comments.

These “buns”[1] would be created by the server, and part of the creation process would involve assigning an owner who had the permissions to edit and move the bun. Are there any projects where one DID is the “owner” of another?

Buns would have an active or front page of threads, and an archive page of threads. That’s mostly my own requirement for organization.

Buns would hold the data for thread names, descriptions, tags, audit log, etc etc. Threads would be a tree of references to data on user’s accounts. To show a thread, a user would have to allow the bun server to always access those comments, which is going to run into all sorts of trouble. So ownership of comments might not be practical, and this part is where I’d love some ideas or thoughts from people.

There’s a few other random bits I want to throw into this server, but the main stuff I wanted comments on is the bun-thread-comment-user relationship and its practicality.

  • buns would have aliases, so the problem of multiple forums being named similarly would hopefully be avoided. i.e. “tech”, “technology”, “techtalk”, “technews” could all be the same bun.
  • Likewise, tags would have aliases, so “dog”, “dogs”, “doggo” etc would be the same tag.
  • Tags would also be the basis of moderation and admin actions, so a thread tagged with “nsfw”+“sexual content” would be treated differently from “nsfw”+“medical gore”. “illegal” would be treated by the server one way, “copyright strike” another. I’d want to at least try to solve the various issues that mods on reddit (and bluesky) have complained about.
  • Another big thing I’d really like is for content creators and moderators, people who donate their time and expertise to a site, get compensated for it. But I’d want that to be separate from the bun-thread-comment-user relationship. More thought needed on that, like I don’t think it would be possible to get rich moderating a bun, but your time wouldn’t just be considered free labour by the site.

Anyway, I’m getting off track, so I need to wrap this up. I hope my descriptions are enough to allow some criticism, thank you for reading if you made it this far!

[1] bun for “bunch” as a synonym of “group”, but that turned into “bunny” because “rabbit” is English slang for chatting. The site would possibly be called bunbun or something similar.


  1. Footnotes ↩︎

2 Likes

Yes there is! With Roomy we’re creating something very forum-like ( while being built more on top of group chat ) and our “Roomy Spaces” are like “communities” that each have their own DID and PDS account that can be managed by the admins.

We have a work-in-progress service we call the arbiter that enforces a customizable “policy” over the community account. This policy lets you make completely custom rules for who is allowed to do what to the comunity’s ATProto repo.[1]

For example, you could say something like:

  • There’s a record containing a list of admins: they can do anything
  • There’s a record containing a list of “members”: they can create com.bunbun.comment records that contain an at:// URI linking to a record in their own PDS, but do not allow them to create records linking to someone else’s PDS.

There’s a lot of different things you can do.

There’s also the opensocial group proposal that might be a good foundation: Opensocial.community proposal . Habitat is also thinking about things like this. I think that there will be more solutions popping up for this as the ATProto permissioned data proposal gets more mature.

The permissioned data proposal puts all private data in an “ATProto space”, and the owner of that space chooses which other accounts are allowed to read data from the space. You don’t need to directly grant any server access to the data, because if a user that has access to the space logs into an app, the app can use that user’s login to get a credential to access any data the user has access to.

But there are still other disadvantages to having comments owned 100% by users, for example, nothing stops the user from just deleting their comment without notice.

In Roomy we’ve considered having “moderator archive” services that listen for all the chats / comments posted and copies it to an archive that isn’t public so that users can’t try to hide abusive actions from the eyes of the moderators.

There’s trade-offs to that, of course, such as users not being able to delete sensitive data, and giving more power to moderators, so you have to weigh what’s important to you from a community / app perspective.


Anyway, overall there’s nothing wrong with the idea! I think the biggest challenge is that this “community / organization / forum” kind of pattern is still shaping up in ATProto as we work out the permissioned data proposal and the hopefully interoperable community standards that we need to build on top of it.

So it’s early days and that might mean a bit more churn and difficulty if you want to pursue the idea before things settle a bit more. It’s an exciting time for ATProto!


  1. Happy to explain more later if you would like. It’s still very new and we’re iterating on it’s design as we use it for Roomy still. ↩︎

4 Likes

Wow, thank you for replying and with so much info. I appreciate you!!

1 Like

as for “federated reddit” there is a lot of prior art here. on the activitypub side there are a few interoperable independent implementations, which threads crisscross:
https://community.nodebb.org/category/31/forums-and-threaded-discussions-task-force

using neither protocol, there is also an interesting one called plebbit that seems to maybe be a good fit for your user stories above:

“Group DIDs” exist in many other contexts outside of did:plc, but within PLC I think Zicklag already pointed you to most things that come to mind-- I know the Hypercerts folks did some group DID stuff, not sure what the status is on those experiments now that ATP Spaces™️ are en route?

4 Likes