I'm hoping to start a dialogue about the current use of descriptive community names, usernames, lack of semantic URLs, and other usability issues on the Lemmy platform. I say dialogue because I am new to Lemmy and I can appreciate that some things may be done differently here for specific reasons.
This is not my sandbox but I'd like to see a castle here someday nonetheless, and I'm willing to help make that happen if there's an appetite to see these core issues addressed:
1. Community display names
Community display names should not be used in any meaningful way on the platform. They should not be displayed in the feeds, nor in community search results. Personally, I don't think they should be used anywhere except as a byline on the community's feed.
These descriptive names are not unique and it is trivial for anyone to create a community and change its display name to match that of another on the same instance. This clone will appear right alongside the legitimate community in search results, page feeds, and even moderator lists (such as those viewed on profile pages).
Many community display names are so long that they are truncated when viewed in mobile apps, adding to the ambiguity.
It is also impossible to know the actual community name until a link is hovered over (impossible on mobile) or actually visited (potentially dangerous).
2. User display names
Similar to community names, these descriptive names should not be used in any meaningful way on the platform. There is nothing to stop me from changing my display name to that of a site admin, moderator, or user, and then creating posts under the guise of that person. Again, there is no way of knowing the actual username without hovering over the link (impossible on mobile), or visiting the user's profile directly.
Another side effect of showing display names in the feed is that some users have emojis in their names, or emojis as their name, which is distracting at best and annoying at worst.
In my opinion, display names should be restricted to a user's profile page, similar to how GitHub implements usernames and full names. Post feeds, search results, and any other meaningful place should display the unique username only.
3. Semantic (clean) URLs
A GitHub issue discussing cleaner URLs has been open since July 2020, which leads me to believe this isn't a priority. I won't list the many reasons why user-friendly, SEO-friendly post slugs are important today, as Wikipedia already has it covered (and with a clean URL). The merits of clean URLs have been written about extensively for more than a decade. The bottom line is that this:
https://lemmy.ml/c/lemmy_support/72hsHD/qol_usability_concerns
...or even this:
https://lemmy.ml/c/lemmy_support/1043897
...reveals a lot more about a link before I click it than this:
https://lemmy.ml/post/1043897
It helps to understand the link destination before you click it, and this is an issue that will only get messier if left unaddressed for too long.
4. Sanitized post titles
Last week, I noticed that users are able to include markdown in their post titles, allowing for `code
` syntax highlighting in the title itself. This is a bad practice, prone to abuse in the long run as some users will increasingly try to draw attention to their posts.
5. Link posts don't link to the link
I fully appreciate that Lemmy isn't trying to be a Reddit clone but as a link aggregator platform, I'm surprised that link posts do not actually link to the submitted hyperlink. This contradicts not only Reddit, but other link aggregator services, including Hacker News and Lobsters. Currently, the user has to know to click the thumbnail instead of the post title, or enter into the post and then click the title a second time to visit the submitted link. This is not intuitive.
It does help greatly in general though, because all of your data will be encrypted when the device is at rest. Theft and B&Es will no longer present a risk to your privacy.
Per-app permissions address this specific threat model directly. Containerized apps, such as those provided by Flatpak can ensure that apps remain sandboxed and unable to access data without explicit authorization.