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).
Comment here for any suggestions for Back-end development!
Honestly would be cool if that could be done for anybody, not just admins / mods, like Reddit with RES. It lets you add something sort of like a flair to any user that only you can see. You can pick from a list of font colors and just add a short thing, it’s very handy.
Yes that can certainly be done! That actually fits with the “Friend Flair” feature that was suggested elsewhere here pretty well.
2FA during login/sensitive actions like password changes.
Not sure if this is strickly backend, but some sort of 2FA would be really appreciated, like getting a one time password via email or having to enter a password from a TOTP app.
Don’t we already have the ability to block individual communities on an user level? We certainly have a ‘Block Community’ button available, and it seems functional from what I can tell.
I’d love the ability to better filter and sort the communities list. In particular, I’d like to be able to filter (or sort) by communities I haven’t subscribed to, or by communities by instance, or by their NSFW flag. I get that we can go to another instance and see their community list, but it’s a bit of a PITA to subscribe or unsubscribe from there; ideally, we’d be able to do this within this community, so the sub/unsub links are present and functional.
To expand on this; introduce some functionality like browse.feddit into the site itself, to show a list of communities that Pawb has federated with or is federating with, breaking that down by local/all, grouping similar subs together with a multi-reddit style collection of sorts, and gathering similar links/posts together in the interface in a manner like: discussions in (x) other communities/threads, so that regardless of where something is being posted/talked about, it doesn’t show up excessively on the front page (i think part of that is already here, but these would add refinements).
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?
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
Does this mean that finding and subscribing to communities on other instances will be streamlined? If not, that definitely needs to happen. The current process of going to another instance to search for a community there, copying a link, then going back to your home instance and searching for the community where you already know it doesn’t exist is just mindbogglingly unintuitive. Hell, I can’t even see NSFW communities on other instances even though my account is set to show them, and it seems like the only current way to fix that is to go to that instance and subscribe to one of its NSFW communities (that I can’t see).
User/community migration from one instance to another; I believe there is an open issue for this on the main Lemmy issue tracker. Dunno how far it’s gotten, I’m sure it’s a non-trivial thing to figure out.
Community Approval!
Basically, an instance option that requires a new community to be approved by an admin when created, in the same way that a new user account would.
As far as I’m aware, currently there is no notification that a new community has been created and unless people are watching the local community list regularly, it’s easy for them to slip by unnoticed. This allows scummy people to create a dodgy community, post a bunch of garbage to it and use it to attract more scummy people or start inter-instance drama.