Hello,

I’ve been reading over all the feedback provided by the community. This is an update on progress while also asking some questions to the community.

I’m currently working on the Detailed Design of the project. This is a document that serves two purposes:

  1. Ensures what I plan to build is what is expected
  2. It forces me to think through the project in detail to find any holes early on

While working on this document, I realized it would be great to separate additional contributions the community can make that cannot relate to this project.

I am going to define the following feature sets:

  • In the scope of this project
  • Which parts must be a core enhancement
  • Out of the scope of this project
  • Finally, the requests that require significant design decisions today

In-Scope Features

There is a clear set of features that will be included. These are must-haves for this project to be a success.

  1. Roles & Responsibilities
    1. The ability to create super admins, moderators of the entire site, single communities, and/or just application reviews.
  2. Smart mod queue ranking
    1. The ability to rank local or external posts higher.
    2. The ability to use rank posts by how well the OP behaves (has moderation strides against them already, etc.)
    3. Certain words, phrases, or domains will rank reports higher. These words can be used to also auto-report posts.
  3. A way to resolve reports by sending and recording a warning to the user or suspension by time or permanently.
  4. Private notes for local moderators on posts, accounts, comments, users, etc.
  5. The ability to search & filter the mod log by the user, posts, comment, community, local or remote instance.
  6. Statistics to help find:
    1. Overactive users that like, comment, post
    2. Retention
    3. Report details
      1. Open reports
      2. Resolved
      3. Response time
    4. Totals on users, communities, comments, etc.
    5. Likes of posts & comments over time
  7. List of posts from users of your community to other communities. For general scanning of busy communities.
  8. List of comments from users of your community to other communities. For general scanning of busy communities.

Must be core enhancements

Several requests are changes to the core of Lemmy and cannot be accomplished by an external tool.

  1. Restricting content from federated instances from pulling locally. Federation is all or nothing. It would be a terrible user experience for a post to be on the main instance but never able to be pulled locally without some notification that the content broke local rules.
  2. Restricting federation in any form.
  3. Forcing federated communities and/or instances to moderate your instance rules.
  4. Blocking federated users from local communities in any way.

Out of scope

Some features I just cannot fit within this project’s scope or help push the need for them to be added to the core. If these are important to you, please, work with the core team to add them.

  1. Customer service tasks
    1. Password reset (site handles this)
    2. Changing user account details
  2. Federation tools
    1. Most federation-related requests will require major changes to the core and should be done as core contributions.
    2. Limiting which posts show or are hidden from the feed.
  3. User tracking across instances.
    1. This feature would require a single instance, a central database to track, and/or enhancements to the federation logic within Lemmy.
    2. This includes preventing certain users from posting in a community.
  4. Any bugs with Lemmy

Finally, a design decision

Some features will require some design decisions to be possible. Mostly, the ability for more joint moderation between instances. I’ll list the features below:

  1. Strike count across instances
  2. Risk ranking of users across instances
  3. Common SPAM detection
  4. Instance frustration detection (lots of strikes against its users, lots of removal of communities, etc.)
  5. Shared private notes on users/communities/posts, etc

These features will require some central moderation hub, which brings me back to one of the original questions. Do you want to self-host without central features, or do you want there to be a central site (like mods.socialcare.cloud) where you log in and interface with your instance?

Self-hosting brings additional costs. Some data will need to be stored for this moderation tool and scale depending on your site’s traffic. So for site admins, here are the pros and cons of self-hosting versus cloud solution:

For cloud hosting

Pros

  1. Simple setup and zero to low cost
  2. Better communication between instance mods
  3. Quicker development 4. No need to devote development hours to installation scripts, guides, community support, etc.

Cons

  1. Admins cannot modify code directly
  2. Potential subscription cost (no monetization has been figured out to run the servers/development)

For self-hosting

Pros

  1. Admins can directly modify code rather than wait for updates or changes.

Cons

  1. Slower to develop
  2. Potentially complicated installation
  3. Might be less adopted by users

What’s next?

I’m working on the Design Doc for what is In-Scope. These features will be built regardless. This will be done by tomorrow’s EOD (July 2nd, 2023).

After that, I will break ground on development. The plan is to split some of the development into microservices. This should allow for parallel development for whoever wishes to contribute.

“What can I do?”

Please help me figure out what to do with the core enhancements. Please let me know if anyone wants to take them on and own them. Let me know if you’d prefer I create GitHub issues for the core team. I need you to let me know what you want to do or can do.

Please help me add to this pro/cons list for self-hosted vs. cloud-hosted, and let’s decide.

Thanks, jgrim

  • jgrimOPM
    link
    fedilink
    English
    11 year ago

    I didn’t quite get the design doc complete. I’m considering doing this project alone and quickly in a simple framework like Laravel. I could probably do it in a week with something like that. I’ll let you all know.

    I’ve not heard much feedback regarding direction, so keeping it simple might be the best first step.