I just posted this in a comment here: https://lemmy.ml/post/112460/comment/110439 (link goes to the “What are your most wanted Lemmy features?” post in the “lemmy” community)

I am following up now with this new post, because I just found https://github.com/LemmyNet/lemmy/issues/875 (link goes to the “Community name in post URL” issue on the lemmy project’s github, under the LemmyNet organization… note github has 2 of those 3 pieces of information in their URL) where I learned that @dessalines@lemmy.ml has actually thought about this and arrived at (imo) the wrong conclusion. Afaict, they have decided that having human-meaningful in URLs is “silly” and therefore we shouldn’t?!

I am hoping they’ll change their mind!

I think having no idea what a URL is about makes for a really lousy user experience. When people send me lemmy links, I want to have a clue as to what they’re about before I decide to click it. Maybe I’ve seen it before. Maybe it’s a meme, and I want to look at it later. Or maybe it’s the answer to a question I urgently need to know the answer to. So, I have to click to find out - often to discover it is just a meme i’ve seen 3 times already.

Having the community name and the post title in the URL would make my lemmy experience much better.

In my opinion, there is no benefit to lemmy URLs being short except for in the rare case that you need to transmit one verbally or on paper. But, in that case, you can actually just omit the post title when copying the URL, as there would still be a database ID preceding it! (Try it with a reddit URL: if you remove the title slug and just supply the database ID, it redirects you to the post’s canonical URL with the slug in it.)

Lemmy devs: please reconsider this!

mekhos
link
fedilink
3urte bat

It would be cool if Lemmy recognised its own links and just fetched the post title by itself so that the first part of your explanation became:

I just posted this in a comment here: What are your most wanted Lemmy features? (link goes to the…

Arthur Besse
creator
link
fedilink
1urte bat

I’d rather have the URLs be self-describing.

Automatically formatting issue numbers on sites like github is nice, but I think doing it with freeform titles mid sentence like that would be jarring more often than not.

Dessalines
link
fedilink
3urte bat

Either this, or using an optional &title= param is the only way I’d support this, and in that case you might as well include the whole post title, maybe changing spaces to underscores.

Arthur Besse
creator
link
fedilink
3
edit-2
urte bat

On github I see @nutomic@lemmy.ml said “If we make this change, we should do it before releasing federation. After that it will get much harder to change the URLs.” - I haven’t looked closely at the data model but I’m optimistic that a graceful upgrade to a better URL format should not be a problem. Eg, this post is currently https://lemmy.ml/post/152773 and in my ideal world in the future that old-format URL would continue working but become a redirect to a canonical URL such as https://lemmy.ml/post/152773/lemmy/Lemmy_URLs_should_be_human_meaningful or https://lemmy.ml/c/lemmy/152773/Lemmy_URLs_should_be_human_meaningful

Really the /c/ and/or /post/ parts shouldn’t be necessary; could just be https://lemmy.ml/lemmy/152773/Lemmy_URLs_should_be_human_meaningful

@nutomic@lemmy.ml
mod
link
fedilink
3urte bat

Yes that migrating the urls would be possible. Just needs someone to implement it, as always ;)

Arthur Besse
creator
link
fedilink
1urte bat

cool, i’m glad to hear you’re amenable to this change!

maybe a good reason for me to finally start learning rust :)

(i’m not going to in the immediate future, however, so if someone else wants to do it please do!)

@nutomic@lemmy.ml
mod
link
fedilink
0urte bat

It would be a pretty complex change, probably better to start with something smaller first. Anyway its always good to have more contributors :)

明-3 NOMAD
link
fedilink
2
edit-2
urte bat

I think it’s better to keeep the /c/communityaddress part so that only with reading the URL you can know where the discussion is taking place, also posts could be displayed with /p/ following how everything else is being displayed /c/, /u/. but I agree with you. It would be much better.

https://lemmy.ml/c/lemmy/p/Lemmy_URLs_should_be_human_meaningful

Beautiful.

Arthur Besse
creator
link
fedilink
3urte bat

That is a nice URL, but it omits any database ID, which means that you couldn’t have two posts with the same title. Also, you would need a more expensive database lookup to serve the URL. For wikis and blogs, I think using the post title as the unique key makes sense, but I don’t think that actually makes sense for lemmy.

Mmm, I see your point now. what about something like:

https://lemmy.ml/c/lemmy/p/XYZ123/Lemmy_URLs_should_be_human_meaningful

Arthur Besse
creator
link
fedilink
1urte bat

yeah, that seems reasonable.

@edward@lemmy.ml
link
fedilink
0
edit-2
urte bat

https://lemmy.ml/c/lemmy/post/XYZ123 as the canonical url would be best IMO. Then the title following can be optional. But post instead of p seems like a good idea, not too much longer, but helps readability.

Well, that is the exact opposite of what OP thinks, since it’s not human meaningful if title is optional. Also I don’t see the reason why /post/ helps with readability more than /p/.

@edward@lemmy.ml
link
fedilink
2
edit-2
urte bat

Adding the community name is a big help, and like I said, the post title can be there but not canonical. https://lemmy.ml/c/lemmy/post/152773/Lemmy_URLs_should_be_human-meaningful would work just as well as https://lemmy.ml/c/lemmy/post/152773.

But purely title based URLs is a really bad idea. Multiple posts can have the same title.

Also I don’t see the reason why /post/ helps with readability more than /p/.

Just nicer tbh.

Ahh, I get your point, I think it could redirect by default to the human readable one but if one where to delete to only the ID should also work. Yeah, I understand the only title based URL part.

I disagree on being nicer, since it makes the URL larger and it does not follow the same pattern as everything else, but let’s agree on disagree on that part.

@kevincox@lemmy.ml
link
fedilink
2
edit-2
urte bat

A common pattern here is making part of the URL human-readable but ignored. For example instead of https://lemmy.ml/post/112460/comment/110439 you have https://lemmy.ml/post/Lemmy-112460/comment/Lemmy-URLs-should-be-human-meaningful-110439. Everything except the numeric IDs is just stripped before hitting the API but makes it easier for a human to get an idea of what to expect.

There are a couple of minor downsides here:

  1. This can be used for phishing because the server ignores the text here. A malicious user can put something malicious.
  2. Can affect caching. I don’t think this is a major issue and can be resolve by redirecting all to the canonical URL. The redirect is cheep and the canonical URL can be cached.

This pattern is used on a number of sites such as Stack Overflow and Reddit and seems to work well.

@testingthis@lemmy.ml
link
fedilink
1urte bat

One way to get around #1… if there is text, it has to be specific text, either via a redirect or 404…

@kevincox@lemmy.ml
link
fedilink
1urte bat

That is what I meant by redirect to the canonical URL. The 404 approach may be nice to avoid problem 1. However, it has interesting implications because now you need to store the original slug (in case of edits, algorithm changes…), so instead of being a UI-only feature it needs some server support. Or maybe it could be something like returning a 404 with “Warning, the title of this post doesn’t match the URL. Do you want to visit {current title}?” and link to the post with the updated title. I’m not sure it is the best UX but it is an interesting idea.

@Echedenyan@lemmy.ml
link
fedilink
1urte bat

I like the current model.

Arthur Besse
creator
link
fedilink
0urte bat

I like the current model.

@Echedenyan@lemmy.ml
link
fedilink
1urte bat

It is simple and short.

The only part I don’t like are the URLs with “data_type” and such things included that appears in some parts of Lemmy. (I don’t remember where).

Arthur Besse
creator
link
fedilink
2urte bat

You memorize lemmy post IDs?! They’re currently six digits here, and I can’t imagine why you would need to memorize one. It is sort of nice that they can be communicated verbally, though I doubt that actually happens very often. But, in any case, my proposal still allows for that because the title part can always still be omitted when entering the URL. Do you ever receive lemmy URLs in chat? I do, as I imagine many people do, and that is the case I would like to see improved.

I think the only URLs containing data_type that I’ve seen were 404 URLs from a bug in the inbox, sometimes triggered by reloading immediately after clicking “mark all as read”.

@Echedenyan@lemmy.ml
link
fedilink
0urte bat

my proposal still allows for that because the title part can always still be omitted when entering the URL

These links are completely ugly. Short links are perfectly clean and should be by default.

As a WebDev student we are taught to take into account that.

Recently, we started to modify an app (in order to learn BladeOne template engine) and got the way to show urls in a WebApp by “folder” addresses.

Basically, the WebApp overwrites the default web address and replace its structure following a hierarchy in the sense of example.com/, example.com/user/ (a list of users), example.com/user/1 (specific user), example.com/user/create (create a new user), etc.

And this is a recommended way here.

@remram@lemmy.ml
link
fedilink
0urte bat

Should be the default why? Is recommended by who?

@testingthis@lemmy.ml
link
fedilink
1urte bat

He’s full of it, haha

@Echedenyan@lemmy.ml
link
fedilink
-1
edit-2
urte bat

WebDev working standards.

Recommended by several Devs in development and in teaching.

@testingthis@lemmy.ml
link
fedilink
1urte bat

No, that is not a WebDev working standard. String-based IDs are legitimate as well, and can even be primary keys in a database.

@remram@lemmy.ml
link
fedilink
1urte bat

Link to where “WebDev working standards” say URLs should be short? SEO benefits from more info in URL, and so does web browser history/bookmark search. Many platforms such as Reddit and Medium put the title (or part of it) in the URL.

Presenting your opinions as fact and quoting “standards and teaching” when asked does not advance the debate.

Everything about Lemmy; bugs, gripes, praises, and advocacy.

For discussion about the lemmy.ml instance, go to !meta@lemmy.ml.

  • 0 users online
  • 2 users / day
  • 28 users / week
  • 42 users / month
  • 169 users / 6 months
  • 4 subscribers
  • 404 Posts
  • 3.03K Comments
  • Modlog