In the last weeks Lemmy has seen a lot of growth, with thousands of new users. To welcome them we are holding this AMA to answer questions from the community. You can ask about the beginnings of Lemmy, how we see the future of Lemmy, our long-term goals, what makes Lemmy different from Reddit, about internet and social media in general, as well as personal questions.
We’d also like to hear your overall feedback on Lemmy: What are its greatest strengths and weaknesses? How would you improve it? What’s something you wish it had? What can our community do to ensure that we keep pulling users away from US tech companies, and into the fediverse?
Lemmy and Reddit may look similar at first glance, but there is a major difference. While Reddit is a corporation with thousands of employees and billionaire investors, Lemmy is nothing but an open source project run by volunteers. It was started in 2019 by @dessalines and @nutomic, turning into a fulltime job since 2020. For our income we are dependent on your donations, so please contribute if you can. We’d like to be able to add more full-time contributors to our co-op.
We will start answering questions from tomorrow (Wednesday). Besides @dessalines and @nutomic, other Lemmy contributors may also chime in to answer questions:
Here are our previous AMAs for those interested.
No questions right now. Just wanted to say thank you for your hard work.
I know y’all catch a lot of shit and get hammered with requests/demands, so I wanted to let you know that your work is greatly appreciated.
Thanks for dedicating your time and energy to making a non-corporate, federated social environment possible.
Being on Lemmy has been a breath of fresh air.
Thanks so much for doing your part to make Lemmy an active place. That’s the main thing that sets us free.
❤️
Thx! Really appreciate it, and I’m glad someone thinks its worthwhile work we’re doing.
+1 on registration experience being the #1 issue.
Would also be cool if we could stop 404/500ing deleted posts and instead display some indication it has been deleted. See https://en.m.wikipedia.org/wiki/Principle_of_least_astonishment.
Thanks for Lemmy! 💙
We have gone back and forth a few times on how deleted content is returned by the API, its very tricky to get right.
The right answer is letting the user decide. The second answer is the user will scrape every post on every server on every hour so censorship becomes impossible. Sorry but instance owner and moderator empowerment over the users turn lemmy into reddit with extra steps.
I’ve read the Github issues. While I could agree there’s some nuance to it, black-holing the entire thing as though it never existed is a bummer.
Are you disappointed with the way things are growing with people trying to marginalise the likes of ML and Grad?
I get a chuckle out of the “Tankie Triad” talking point some people keep using. It sounds like a villain organization from a Saturday morning cartoon.
It seems some people simply need some target to hate on. Hopefully they will learn to accept different opinions when they arent being manipulated by for-profit social media anymore.
Communities that go against hegemonic capitalist/imperialist discourse will always get marginalised. Not being able to take down those communities easily like on Reddit is a huge win by itself for Lemmy. The software offers a valuable savehaven for e.g ex r/chapotraphouse, r/genzedong etc.
Yep, the fact that Communists can build their own platform and networks free from any outside censorship on corporatized platforms is itself the strategy for building leftist spaces. The goal isn’t hurt by more non-Communists being on the overall Lemmy platform because these non-Communists can’t actually do much to shut the Communists out.
That’s a good thing, as a Communist I’m happy we have spaces.
The anti-communist witch-hunters are extremely peeved that they can’t remove our communities like they can on reddit. Overall it doesn’t bother me because I don’t work for them, and they can always go back to reddit where their views are already dominant.
Anyone trying to make the world a better place, will always be hated and hunted by some people; it’s a fact of life, and the sooner we accept it, the better.
<3 I appreciate your work, comrades!
When a instance goes permanently offline, does the content vanish? If so, could there possibly be a way for another instance to “adopt” the content on their instance so those posts aren’t lost to time?
I think it might help reassure people to pick smaller instances.
It can’t be transferred, but the posts / content will never vanish. Most importantly, it will stay searcheable.
The best option is just to create another community on a living server, and link to the local version of a dead one in a sidebar.
Edit: I suppose I shouldn’t be answering this. Kinda forgot the thread I’m in. I guess I asked something as well.
If your instance was federated with it when it existed then your instance automatically has its own backup of it is as far as I understand things. I would like clarity on this however. My instance is a few days older than this account. Therefore the smaller instances that have already died are already duplicated locally here at sh.itjust.works. I can still view vlemmy, waveform.social, lemmy.film, (etc.) communities/posts as essentially an archive.
What I’d like to know is if I linked a sh.itjust.works link to one of those threads could a user of a more recent instance load the content?
I’m not sure what point it would ultimately serve as with the host instance being offline nothing could federate out between us anyway.
This, content is already mirrored to federated instances and stored forever (though media may not be included).
What I’d like to know is if I linked a sh.itjust.works link to one of those threads could a user of a more recent instance load the content?
Lemmy only loads content from the original instance where it was created, otherwise it would be possible to impersonate users. So it is not possible to load that.
That makes sense. Thanks for the clarification (and for all the work put into this platform).
Do you plan to introduce some kind of post tags into Lemmy, preferably something that will behave like Hashtags on Mastodon and other activitypub platforms? I know that Lemmy has been embedding community name as a hashtag for a while now, though having tags that can be populated by users would help discovery greatly.
Lemmy is not for microblogging, so I dont think hashtags make sense.
Well they don’t have to show up as hashtags to users on Lemmy, they can show up as their own designated tags you add to the post on creation of editing. Just some form of post tags to indicate the category of a post (could even be specific to communities like subreddit flairs) but they would show up as hashtags on Mastodon, similar to how Lemmy already embeds a hashtag of the community into posts.
Ah, post tags are currently work in progress. They are also going to be federated.
From my perspective we need better Mod and Admin tools. Forum software has a lot of them but Lemmy is lacking in this department.
The key important one is being able to move posts to different communities. You’ll often get reports of posts not being appropriate for a community but there is no way to actually move it.
Which tools specifically? I ask because this is a common complaint, but 99% of the time its something we already have, that most ppl are unaware of.
The key important one is being able to move posts to different communities.
Lemmy like all federated services, can’t rewrite history, but you can already cross-post (although it would be the mod cross-posting, as we don’t let mods alter user data except to remove it). It would just take someone adding that as an issue to lemmy-ui and working on it.
Which tools specifically? I ask because this is a common complaint, but 99% of the time its something we already have, that most ppl are unaware of.
- mod mail, so that users can reach out to the whole mod team at once, and the team can come back to them
- a more structured mod queue, allowing to filter by community. The Reddit one on old.reddit was good to help keep an overview on the mod actions to take
more structured mod queue, allowing to filter by community
The upcoming combined modlog has this, as well as other more detailed filters.
You can read through these issues related to modmail, but the short version is that it’s way out of scope for us, and not something we have time to do. Replicating private group chats is better done by other services like matrix, or using a shared email inbox.
I see, thank you for the links
It would be nice to have way for admins and mods to make notes on people. E.g. If you are giving someone a warning, you currently need to use an external tool to log the warning.
Which tools specifically?
Standard Web forum tools include:
- Editing posts - the main issue is misleading titles
- Moving posts to different communities
- Merging posts
- Splitting comments into separate posts
- IP check
This post makes some good points about reports federating (being worked on, I believe) but also about the lack of what we’ll call a “moderation panel” where you can access tools for the community, like seeing a list of banned users and being able to add to it there or unban someone.
There are other “nice to have” tools like post approval
I am curious to see what moderation tools PieFed, has and NodeBB now they are federated, but the documentation is skimpy on that front.
Editing posts - the main issue is misleading titles
Moving posts to different communities
You can read over the discussion here, but we will never allow mods or admins to act as / impersonate users, or edit their content.
We also can’t rewrite history in the fediverse (unlike a forum) so “moving” a post would also entail deleting and recreating content other people made.
Splitting comments into separate posts
Merging posts
These ones sound really strange, but its similar, I don’t want mods to be able to rewrite user history or move it.
IP check
We don’t store IPs so that’d be impossible.
You can read over the discussion here, but we will never allow mods or admins to act as / impersonate users, or edit their content.
I really don’t get this. Why is editing user content with slur_filter or modifying URLs accepted but allowing mods/admins to change the NSFW toggle isn’t? It also ignores that savvy-enough admins can edit user content with SQL queries.
I think slur filters, tracking param removals, and local link rewriting are acceptable, because (with the exception of the slur filter) they’re non-moderation actions, and also applied uniformly regardless of who made them.
It also ignores that savvy-enough admins can edit user content with SQL queries.
That’s unavoidable of course, anyone with DB access ultimately can edit things. But if people catch on, I doubt your server would gain many users or last that long. Most importantly, we shouldn’t allow that to happen via the API.
You’re free to start a “Should mods be able to edit user’s data?” discussion, but I doubt it would get much support, especially from reddit allowing this and it souring everyone to it.
Most importantly, we shouldn’t allow that to happen via the API.
My view is that not adding this to the API will only encourage admins who want this to do it through less transparent means, like injecting fake activities into the
sent_activity
table. Most admins are reasonable people, and have good relations with their users, so if admins explained themselves then I think most users would be pretty accepting.You’re free to start a “Should mods be able to edit user’s data?” discussion, but I doubt it would get much support, especially from reddit allowing this and it souring everyone to it.
I mean there’s been like 3 or 4 GitHub issues opened about this, so there’s clearly some demand for it. Should I make a post in [email protected]? So users not on GitHub can chime in.
Sure, and be sure to link that closed github issue.
There was some discussion of this not long ago: https://feddit.uk/post/24412286
@[email protected] linked this GitHub issue: https://github.com/LemmyNet/lemmy/issues/2345
It shouldn’t be too difficult. A move is essentially a cross-post but it keeps the OP as the poster (rather than the cross-poster). You’d then want to lock the original post, and either hide it or add a message directing people to the new post. That’s all current forum software does.
The main question is how this can work in terms of federation. When creating a new post it directly references the community url. If the user and community are on different instances then the community instance cannot rewrite the post to reference a different community. So it would have to tell the post creator to (automatically) resubmit the post to the new community. Same for all comments, they would have to be recreated by the respective author’s instance in the new post. Seems quite complex to implement.
What’s something you wish it had? What can our community do to ensure that we keep pulling users away from US tech companies, and into the fediverse?
One of the biggest issue at this point is probably the registration experience. There are quite a few occurrences on [email protected] of users not sure whether their email has been validated or not, and at the moment they really need to look out for the toastify notification on their first try, later attempts won’t show it.
Most recent example: https://lemmy.ml/post/27607055?scrollToComments=true
If there could be a way to inform a user saying “your email address has been validated, please wait for an administrator to activate your account, you can reach out to them at xxx”, that would be great.
Youre right, I also noticed some other problems while testing registrations:
- https://github.com/LemmyNet/lemmy/issues/5547
- https://github.com/LemmyNet/lemmy/issues/5548#issue-2949361836
For the email validation it could also make sense to send out another email saying “your email has been validated”, so its not only shown on the website.
Thanks!
This generally goes against security best practices as it can be used for attempted user enumeration. A better version would be “we’ll send you an email with your account status if this user exists” but obviously that results in a fair amount more complexity (and cost) to implement
I am not suggesting users being able to enumerate other users, just that the unique link that is currently used for email verification would be more explicit than just the one time toastify notification
Enumerating users is not a security problem. It’s platform obscurantism to even suggest that it is.
I think I’ll trust owasp and my own over 20 years of experience building commercial software but you do you
That just opens the door for bots that can never be closed
Native push notifications would be awesome for Lemmy! I’m keeping my fingers crossed.
Unified Push support would be great.
https://github.com/LemmyNet/lemmy/issues/2631
It’s coming in the next release
Let’s go! No more email notifications
Thanks for the info! It looks like we’re almost there - 81% completion means the final release of 1.0 update is just around the corner!
There is an issue open requesting this… I been following it for a while.
Are there any plans to deal with the most common annoyances regarding Lemmy? In my opinion these are all based on federation:
- Some completely automated way for users to join Lemmy. Yeah, it’s not hard to select a server and it’s a “good thing to do”, but it’s still better to give people the option to go for convenience instead of the “proper” path. Maybe some kind of system where instances sign up for this general, convenience way of signing up, and the registered users just get automatically distributed evenly across those instances.
- Duplicate post aggregation. The nature of federation will always make it make sense to have duplicate communities, but this will also make posts with the same links, same images, same videos, etc show up in people’s “all” feeds multiple times. It is technically possible to algorithmically detect these duplicates and offer users a UI option (not actual backend merge) to merge them all visually into one post.
- A way to backup your whole user data and completely restore it on any instance you want. If an instance goes under, it should be possible to keep all subscriptions, all your posts, all your comments, and migrate them to a new instance.
Yeah, it’s not hard to select a server and it’s a “good thing to do”, but it’s still better to give people the option to go for convenience instead of the “proper” path.
We could add a “fast join” button to the signup dialog on join-lemmy.org , where it takes you to a random instance’s signup page.
Overall though, we should ignore the “advice” from reddit that tells us that people are too stupid to sign up for anything now. People did this for every forum and every other site all until ~2005 when US tech gobbled up most services, and ppl continue to show us that yes, they do know how to type in a username, password, and email to sign up for something.
Duplicate post aggregation. The nature of federation will always make it make sense to have duplicate communities, but this will also make posts with the same links, same images, same videos, etc show up in people’s “all” feeds multiple times.
In lemmy-ui we have a post-deduplicator for feeds, but unfortunately not a lot of other apps (including jerboa, that’s my bad) have added something similar.
A way to backup your whole user data and completely restore it on any instance you want. If an instance goes under, it should be possible to keep all subscriptions, all your posts, all your comments, and migrate them to a new instance.
Settings export already exists. Copying historical content and rewriting history isn’t possible in a federated system, but we do have an open issue for data export.
we should ignore the “advice” from reddit that tells us that people are too stupid to sign up for anything
Definitely agree. The problem is just when someone in the past said “you should join <forum x>!”, you were always able to just immediately go to forum x’s signup page and sign up. But if someone hears of Lemmy, and goes to join-lemmy.org, there is no way to go to a signup page directly. They have to first learn about the multiple servers, and choose one. I think a “fast join” button like you say should be fine, and immediately next to it something to catch all the advanced actually curious users with something like a “advanced sign-up”
In lemmy-ui we have a post-deduplicator for feeds
That’s weird, because that’s exactly from where I’m coming from, I’m always using the lemm.ee website directly on all my devices, and I constantly see duplicate posts.
Copying historical content and rewriting history isn’t possible in a federated system
I have less knowledge of this topic so I’ll defer to you, but I have the feeling this may not be true. You might of course not be able to ensure consistency between all instances, ensure that it’s been changed everywhere, but I really can’t see why this is any different than “editing” a comment’s content or a post title, which is already possible. Why wouldn’t it be possible to “edit” the comment/post author in exactly the same way?
Thanks for your response and all you’re doing!
That’s weird, because that’s exactly from where I’m coming from, I’m always using the lemm.ee website directly on all my devices, and I constantly see duplicate posts.
I was thinking about what you were saying yesterday and I had another look.
- on the subscribed feed, using “New Comments”, crossposts seem to indeed aggregate
- on the All feed, using “Top of the Day”, crossposts would indeed appear multiple times, depending on their respective scores
I like to use “Top of X” a lot 🤔
it’s still better to give people the option to go for convenience instead of the “proper” path.
https://phtn.app/signup gives a prepopulated list
show up in people’s “all” feeds multiple times.
Which interface do you use? Crossposts only show up once on the default UI
A way to backup your whole user data and completely restore it on any instance you want. If an instance goes under, it should be possible to keep all subscriptions, all your posts, all your comments, and migrate them to a new instance.
You can already export and import your subscriptions between instances (account settings - import/export)
Posts and comments can’t be migrated, but Mastodon doesn’t allow it either.
Mastodon currently does not support importing posts or media due to technical limitations, but your archive can be viewed by any software that understands how to parse Activity Streams 2.0 documents.
gives a prepopulated list
The official one also does that. I’m talking about choosing a username, password, and email maybe, and then clicking register, and being done. No thinking involved.
Crossposts only show up once on the default UI
False, you get links to the other posts, of which you posted a screenshot, but each post is handled as being completely separate. If you are in the subscribed, local or all feeds, you would see all of these posts separately. Have you really never noticed scrolling by “the same” post multiple times? You have to go to each post manually to get all the comments to the “same” thing.
but Mastodon doesn’t allow it either […] due to technical limitations
Yes, I know that. But I’m also a programmer and I know that “technical limitations” is mostly a term for “that’s how we started it and it would be too costly to solve now, so we’ll just dismiss it” and not for actual limitations (i.e. not technically possible). It’d maybe require breaking changes of some kind or some kind of annoying backwards compatibility workaround, but that is why I’m asking. I’m not completely familiar with activity pub, but there’s likely some key used to verify posts/messages are made by a certain user, and there’s currently no way to transfer or change that key to a new account. But it seems very technically possible to me, and also possible without massive security issues. So that was my question, is there any plans to do this or no?
False, you get links to the other posts, of which you posted a screenshot, but each post is handled as being completely separate. If you are in the subscribed, local or all feeds, you would see all of these posts separately.
I understand your frustration, however these can be multiple posts but to different communities with varying focuses and moderation styles.
Simply consolidating all the comments in one introduces its own problems.
That’s why no one suggested “simply consolidating”. I didn’t suggest any solution at all. I’m just posing a question of if this actually pretty big problem is attempted to be handled.
I guess it’s just been mentioned too much in the past that it still comes to mind when I hear this. Sorry.
The official one also does that. I’m talking about choosing a username, password, and email maybe, and then clicking register, and being done. No thinking involved.
This should probably be handled more by people when they talk about Lemmy. Instead of explaining what Federation is, just point people to https://vger.app/settings/install so that they can install an app.
Voyager by default suggests Lemm.ee as the instance to register, so no thinking indeed: https://vger.app/profile
That’s the recommended approach nowadays on [email protected]
False, you get links to the other posts, of which you posted a screenshot, but each post is handled as being completely separate. If you are in the subscribed, local or all feeds, you would see all of these posts separately.
I only see them once in my subscribed feed. You may indeed see them multiple times if you are not subscribed to all the communities.
You have to go to each post manually to get all the comments to the “same” thing.
This one I agree, and it’s why I generally suggest to consolidate similar communities to solve that issue. [email protected] has quite a few examples of successful consolidations.
I’m not completely familiar with activity pub, but there’s likely some key used to verify posts/messages are made by a certain user, and there’s currently no way to transfer or change that key to a new account.
You’re looking for https://activitypods.org/ . I haven’t been following their recent progress, not sure how mature their solution is, and how many Fediverse platforms support them.
Multispam is one of the things that is genuinely a threat to Lemmy’s usability. If you follow certain topics, you start seeing 2-5 copies of every post. It’s a genuine spam problem and “just block” or “just scroll” is as much of a non solution as it is with other spam.
Personally when I want to share something to multiple communities, I deliberately space out the posts in time. It has the slight downside of potentially showing up for a person repeatedly for days, but I think this is outweighed by the upside of them not seeing the same post multiple times within a few minutes, which is really annoying. And it has the added advantage of being more likely to be seen by people who weren’t online at the right time to see it the first time.
Some users use it as an ideological war on instances they don’t like, which is extremely funny.
Thanks a lot for the work you do! How do you get by with such a limited amount of funds? How sustainable is your financial situation if donations don’t pick up considerably?
I live in Spain, the cost of living here is much cheaper than Germany or especially the United States. I also dont need luxuries, and have enough money saved to last for a while. If donations are not enough I could always work for some company, and spend less time on Lemmy.
- From a code architecture perspective, how close is Lemmy/ActivityPub to reaching its maximum capacity for posts/comments per second? Are there any ways to 10x the load ActivityPub can handle?
- With Nicole in everyone’s DMs, what does the future of spam filtering look like on Lemmy?
- There is no specific maximum capacity, in theory it can scale indefinitely with horizontal scaling. Also see my reply here regarding scaling.
- 0.19.10 already includes a fix to remove private messages when a user gets banned which should help a lot. There is an issue about disabling private messages by default, but Im not sure if that will be necessary. Also 1.0 will include a plugin system, so other devs and instance admins can write their own checks. That way spam waves can be fought in a more flexible way, without having to get a change merged into Lemmy and then waiting for a new release.
I can answer the first point.
We’ve already tackled part of that problem with the Parallel Sending feature that can be enabled on instances with a tremendous amount of traffic. Currently the only instance that makes sense to enable that is LemmyWorld and the only reason is so servers in geographical far away can get more than 3-4 activities/second.With that feature, servers that eventually house and generate the biggest amounts of traffic will be able to successfully communicate all of those activities to everyone else who needs them.
I predict a 10x increase is well in our grasp of easily accessible by all of our current systems. 1000x? That’s a different story which I don’t have the answers too.
Hello,
Thank you for organizing this AMA!
Starting with a quite expected question: when do you think you’ll be able to release Lemmy 1.0?
Its hard to say because these things always take longer than expected. Now we are finally getting to the point where all the breaking database and api changes are almost finished. After that it will take some months to update lemmy-ui for all the backend changes and new features, and the same for all other apps. Then a testing period to fix all the problems that come up. So maybe around autumn for the final release, although lemmy.ml and some other instances may upgrade some months before already.
With the rate ppl are adding issues (and we’re finding more), is sometimes feels like it keeps getting farther away than nearer, but we’ll get there in some months.
Do you plan on moving away from GitHub to something else like Forgejo?
Once its mature, I personally wouldn’t be opposed to moving issue tracking off github and into a federated one like forgejo.
Some Lemmy clients offer the option to auto-hide posts and comments which contain certain keywords of the choice of the user. Are there any plans to implement this feature into the stock Lemmy experience?
I know it is possible to do some hacky stuff with UblockOrigin to do the same, but that is not something most know about and are willing to do.
This is currently work in progress.
How are you?
A bit tired because my whole family is half sick. Luckily the kids are still okay to go to school.
Otherwise Im excited for this AMA, because I rarely have such direct conversations with users about Lemmy. The discussions on Github are usually quite technical.
Not bad, the swiss chard and spinach I planted recently are sprouting, so that’s got me excited.
Spinach is a finicky bastard in my experience, take good care of it
Chilling in the morning before I start my day job.