this post was submitted on 25 Mar 2025
20 points (100.0% liked)

Announcements

24459 readers
1 users here now

Official announcements from the Lemmy project. Subscribe to this community or add it to your RSS reader in order to be notified about new releases and important updates.

You can also find major news on join-lemmy.org

founded 6 years ago
MODERATORS
 

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.

(page 4) 50 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 2 months ago* (last edited 2 months ago) (5 children)

What are its greatest strengths and weaknesses? How would you improve it?

There are some more obvious things, like mod tooling, but I'm gonna concentrate on smaller, niche UX issues that I think arise from how it is designed already, because I think there are probably already enough voices who will speak up for the bigger things.

  • Inconsistent language UX between lemmy-ui and Jerboa. Specifically, that Jerboa provides no way to specify the language of a post or comment.
  • Inconsistent parsing of markdown between lemmy-ui and Jerboa. Specifically. ^Superscript^ and ~subscript~ work fine on single words, but ^multiple words in superscript^ ~or in subscript~ do not display correctly in lemmy-ui. They do in Jerboa.

It's bad enough that third-party apps do these things (and others, like spoiler text) without following the spec consistently. But can they really be blamed when even the two main first-party UIs don't do it right? The post/comment language feature is awesome, as is the fact that you can do such a wide variety of syntax including subscript. But if users are not getting a consistent experience with these across platforms, it leads to confusion.

  • Spoiler text syntax is clumsy. I like the idea of having collapsible text, but ::: spoiler [display text] is an insanely wordy way of doing it. In what other context is markdown do anything similar to requiring the literal text spoiler? It would be great if (a) an inline spoiler text syntax could be implemented, similar to >!Reddit's!< or ||Discord's||, and (b) if a more elegant collapsible text syntax could be created.
  • Lemmy has a nasty habit of transforming user input. I just found out it converts your backslashes into forward slashes (see this comment), but a while ago I noticed that it completely removes text posted between angle brackets , which is annoying when trying to write pseudo-XML. {does it allow braces?} [square brackets?]. It feels to me like a relatively lazy attempt to sanitise user inputs, and it creates a poor UX, especially since I'm sure prepared statements and other safe data handling is employed. In my opinion any time you're changing what a user wrote, that's an anti-pattern. If you can't just leave it how it is, it's better to just block posting with a clear error message explaining why

Basically, I'd just like to see an overall focus on the user experience and how it all fits together as a system.

Also my little pet feature: keyboard navigation. Back on that other site, before the redesign, there was incredible keyboard navigation thanks to the Enhancement Suite. j/k to navigate up/down through comments. Enter to collapse. a/z to up/downvote. Etc. It's a delight to use, and is a big part of the reason I could never move to the redesign, before I came over here. Not having that is a big drawback IMO.

edit: looks like the angle brackets thing was . Still need the backslash thing fixed.

edit 2: I was just reminded of another example of the lemmy-ui vs Jerboa confusion, as well as another example of well-intentioned by ultimately anti-patternesque transformation of user text: how user and Community mentions are handled.

@[email protected] will not be a hyperlink for viewers in lemmy-ui, but /u/[email protected] will be...despite the latter being generally not the preferred way to do it. lemmy-ui also does this awkward thing where if you use the autofill suggestions when typing a name, it wraps them in a hard-instanced URL instead of the better UX of taking someone to their profile on your instance: @[email protected].

Communities are even weirder. Allowing the autofill of [email protected] will create a hard-instanced URL ([!community@domain](https://domain/c/community)), but then the parser ignores this and creates a URL to the user's instance. If, instead, URLs went where the user's text input says they go, but the autofill would default to naked Community mentions such as [email protected], this would be a much better experience.

Meanwhile, Jerboa doesn't have an autofill capability for users or Communities. Users who are mentioned with /u/ are not linked, while users who are linked with @ get a link that is handled within the user's instance, regardless of whether it's a hard-instanced link or a naked mention. Communities are also always handled within the user's instance.

load more comments (5 replies)
[–] [email protected] 2 points 2 months ago (3 children)

Old user, haven't been active recently. Where'd all this growth come from?? Another reddit refugee situation?

load more comments (3 replies)
[–] [email protected] 2 points 2 months ago (4 children)

What have been the biggest challenges with the project over the years, both in terms of technical and non technical aspects. I'd be interesting to hear a bit of retrospective on how has the stack's been working out, and what surprises you might've run into in terms of scaling and federation. What recommendations you'd make based on that and what you would've done differently knowing what you know now.

[–] [email protected] 2 points 2 months ago (6 children)

The stack is overall amazing, but not perfect. Waiting for the Rust code to compile is sometimes very annoying, but I wouldn't want to use a different language. And we had to implement somewhat complicated things that existing Rust libraries did not do. For example, I made the "i_love_jesus" library so Lemmy could have cursor pagination that uses indexes well and allows bringing back the "back" button, we have a few custom QueryFragment impls because of diesel's limitations, and we have a custom migration runner to do fancy stuff (see crates/db_schema/src/schema_setup.rs).

load more comments (6 replies)
load more comments (3 replies)
[–] [email protected] 2 points 2 months ago (3 children)

What was the last post that made you really laugh?

load more comments (3 replies)
[–] [email protected] 2 points 2 months ago (1 children)

Just wanted to say I LOVE lemmy! It's a really positive community, the atmosphere is great and I like how it's unique but also familiar. I really appreciate your work on it. I know this is AMA... what's your favourite animal?

load more comments (1 replies)
[–] [email protected] 2 points 2 months ago (5 children)

Not really a question, but something to think about is being more strict about backwards compatibility so that people don't get burnt out on having stuff break. Coming from this post by the Tesseract dev, who did not like the breaking changes to the v3 API in 1.0: https://dubvee.org/post/2904152

To formulate that into an actual question, do you think the changes are still worth it and you'd make the same decision to break backwards compatibility?

[–] [email protected] 2 points 2 months ago

Divas have problems no matter what you do.

[–] [email protected] 2 points 2 months ago

This is all a matter of dev resources. If we had maybe 6 full-time devs, we could handle things like backwards compatibility.

People forget that lemmy, like other open source hobby projects, don't have the resources that large corporations do. People understandably get frustrated when there's breaking changes, but they also need to not put enterprise-level expectations on a small number of people.

If someone wanted to work on that, of course we wouldn't be opposed, but you should know how monumental a task that would be.

load more comments (3 replies)
load more comments
view more: ‹ prev next ›