Now that Pawb.Social has forked Lemmy, I thought it would be appropriate to go ahead and compile a list of changes or additions that have been suggested, or that have been spotted by others or myself. This is hardly a comprehensive list, and down below will be two comments by me, one for changes to back-end changes or additions and one for the front-end suggestions as well.


A quick note before I start

One important thing I do want to stress is that any changes or additions made should not render our fork incompatible with other Lemmy instances, the apps that allows for easy usage of Lemmy (Jerboa, Thunder, etc), nor cause issues for interacting with, or interactions from, the rest of the Fediverse. To take a quote from Linux Kernel development: Don’t Break Userspace!

Now, let me specify for any who aren’t in the know about the differences between back-end and -front-end are:

  • Front-end: focuses on the user interface, designing the visual elements, and ultimately the UI elements that a user will interact with on the web page.

  • Back-end: deals with the server-side functionality, handling data processing, storage, and communication with databases and external systems (The rest of the Fediverse) using server-side programming languages and frameworks. For Lemmy, this is done with the Rust language.


Now, with that summary done, here is a (still WiP) list of changes:

Back-end

  • Addition: Individual community blocking (as opposed to the current instance and user-only blocking).
  • Addition: Ability to follow entire instance (or at least follow all communities on an instance).
  • Addition: Allow for individuals to block instances and communities, instead of requiring instance-wide action to block them.
  • Addition: Give instance admins better moderation tools (hashed IP address, etc. Needs to be GDPR compliant)
  • Change: Better support for automatically linking other communities (and instances) back to your primary instance for easier following and interaction.
  • Change: Better cross-compatibility between Lemmy and the Mastodon/Pleroma side of the Fediverse.
  • Change: Better cross-compatibility with KBin.
  • More to come

Back-end & Front-end

(For things that will require changes on both ends to function properly)

  • Addition: Post flaring - To allow for better post management, sorting, viewing, and moderation.
  • Addition: Ability to sort communities into groups (similar to multireddit).
  • Addition: 2FA during login/sensitive actions like password changes.
  • Addition: Mark servers and people as “friends” so they display a marker by their name elsewhere.
  • Addition: Better nsfw post handling, more specific viewing settings, etc.
  • Addition: Adding notes to users (for moderation purposes)

Front-end

  • Addition: Add more themes/theming support to the UI.
  • Addition: Add better support for widescreen displays.
  • Addition: Ability to pick a default sorting method (perhaps per community).
  • Change: Refresh and organize some of the UI elements for Lemmy (somethings are just a bit outdated looking…).
  • Change: Alter donation button at the top to point to the donation portal for the/an instance (this should be the default tbh, the prominent button shouldn’t direct to the Lemmy devs to begin with…)
  • Change: Move all information about Lemmy and the Lemmy devs to one, out of the way location, potentially as a citation in the footer.
  • Change: Add link pointing to the GitHub fork for Pawb.Social
  • More to come.

Please see below for the two threads to add your own thoughts or comments on things you want added, changed, or even removed. All comments and thoughts are welcomed!> ability to sort communities into groups (similar to multireddit).

  • dakerDraws
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 years ago

    Addition: Ability to follow entire instance (or at least follow all communities on an instance).

    Does there currently exist a way for one instance to poll another instance for their list of communities? I thought that an instance wouldn’t even know a community exists unless someone specifically searches for it.

    I know it’s listed under backend, but wanted to ask about the front end plan for this feature. Let’s say I search for Lemmy.world. Is the plan to output a checkbox list of communities and have us deselect any and confirm?

    • theneverfox
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I’m working on an app, and it’s pretty straightforward - you just ask them what communities they have. I’ve got a screen that let’s you browse them (I added in mostly because the server page was too empty), but pawbs still doesn’t know about them

      Most apps only connect to one instance at a time, because it’s way more complicated to manage… I’ve got big goals though haha.

      It’s not exactly easy though - there’s well over 1k Lemmy instances now, and Lemmy.world federates with around 2k. Through the interconnects you can get kbin magazines if you know about them, but you’d need to use their API if you want to see all of them

      And I don’t think Lemmy uses the normal API to federate, and probably pulls every community it knows about - both are very much solvable problems, but there’s more important things to solve first. It’d be nice for users, but ultimately it’d mean more federation, and some servers are having trouble keeping up

      Finally, those 1300 instances? The vast majority of them are reporting 1-5 people, but they’ve got plenty of communities - many of them reporting no people and 1 or 2 posts.

      If you throw that all at the users, it’ll be almost worthless - you have to filter them. But where do you draw the line? Most of the instances are probably private servers and don’t want too much attention, and what about ones that are just new?

      They need to extend the protocol to handle communities better in many ways, but you can’t do that casually.

      In the meantime, my app is almost ready to launch, but i was going to do it last night for the next wave of refugees, and everyone else apparently had the same idea.

      I tried some out, and they’ve become a lot more polished, while I was going to leave optimization and fancy features for next week. My app wasn’t the fastest or the prettiest anymore… It’s not slow or messy, but I’m not sure I’d pick it. But I can make it faster and a little prettier with another day or two (I’m hoping someone here can give me some style advice after seeing the art here), but more importantly I can also add features that set me apart

      So I can do fuzzy searching on your device for communities, so it will search the name, description, and sidebar for words. I can’t do the same for servers - it’s too much data. I need to write something to filter out smaller servers and ones in different languages, and even then I’ll probably be limited to the address and maybe name before it gets slow. I might also have to strip out the servers with closed registration

      So you can find servers by name, maybe look through the top 100 and more data on them. Then, I can grab communities on them one server at a time, or I can let you use their search bar to find them by name

      I could also take the top 5 or 10 servers, and let you search through the top few dozen communities on each

      Hopefully that made sense…

      So walk me through how you envision this feature, tell me various ways you think you’d use this, what frustrates you, and I’ll do my best to build it in

      I’m also open to whatever other suggestions to what would make Lemmy better for you, practical or not