this post was submitted on 14 Jun 2023
190 points (100.0% liked)

Programming

568 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

Hello all,

Wanted to open a discussion on Lemmy's post sorting options right now. I don't have any experience with implementing this type of thing but right now the algorithm appears... Off? For example, 'Active' gives me a lot of posts over a day old but 'Hot' may as well be 'New' i.e. more recent posts with little engagement.

I don't know if it's due to Lemmy still picking up steam or a fundamental flaw with the algorithm. Like I said, I'm really curious to hear the opinions of those more knowledgeable.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 62 points 1 year ago* (last edited 1 year ago) (3 children)

I think having "Active" as default is unfortunate too, if a new user sees the top post was from two days ago they might assume the whole platform is inactive, since they can't see that a new comment was added just seconds ago from that page view. Having "Hot" as the default would probably be better since those are usually newer posts with at least a few comments.

[–] [email protected] 28 points 1 year ago

None of the megaguides I've seen actually show how to use the mobile apps/sites. I've been told what the Fediverse is and how it works enough times to build the backend myself, but I have no clue how to navigate.

[–] [email protected] 12 points 1 year ago (1 children)

That might be true. I'm glad you can set your own defaults but having the starting fknfkg to be a generally useful one is a good idea. Im curious if people find Local to be a good default? Subscribed doesn't make sense I guess because you start out with no subscriptions. But maybe all is nice to find new communities and explore?

[–] [email protected] 10 points 1 year ago

Maybe instance owners could have a recommended subscriptions option that new users could default to. That way new users can experience seeing content on other instances right away. Different instances with different standards could customize their new user experience.

[–] [email protected] 6 points 1 year ago

I noticed one of the Lemmy instances recommending everyone change their settings to use 'hot' by default in their site rules sidebar. Makes sense, the many instances look a lot more lively that way.

[–] [email protected] 38 points 1 year ago (3 children)

I don't know a lot about Lemmy's implementation but a difficult thing to deal with is how do you "rank" a post? Like you have a small community of a few active people, but there's federation with a massive community with lots of users - which posts are "better"?

Worse still, there's an inherent lag/delay with the federated posts, a post that was very active in the last hour might have only been federated to the server in the last 5mins - so what do you do, do you bubble up all those posts or ignore it because there's more recent and relevant things?

The kicker is that these decision points aren't instant either, any system that's doing this kind of ranking will have an algorithm as you describe, but that algorithm will take time to process all the data, while the data is coming in batches as each server federates with each other. It's a difficult problem to solve.

[–] oxideSeven 27 points 1 year ago* (last edited 1 year ago) (1 children)
[–] [email protected] 19 points 1 year ago (1 children)

I'm aware, what I am getting at is that there's multiple "Right" answers to solving what is essentially a very difficult problem.

load more comments (1 replies)
[–] [email protected] 3 points 1 year ago

Also, it has to be designed in a way that limits federated servers from gaming the system.

load more comments (1 replies)
[–] [email protected] 31 points 1 year ago

My best guess from the way it looks is that Active is like a forum or imageboard sort, where new comments "bump" old threads to the top. Hot appears to be more like "rising", new posts that are interacted with more than others. Both probably make more sense with greater volume, but neither seem perfect for the structure of the site. I would also think "tuning the algorithms" is probably in the "when we get around to it" bucket for most of the people who would be handling that.

[–] [email protected] 22 points 1 year ago (2 children)

Yeah, I'm feeling a bit lost here too. I've been using mostly 'hot' (found this post using it), but there's also the issue with dynamic posts, that suddenly there's a cascade of posts being loaded and you lose where you were on the feed.

[–] [email protected] 19 points 1 year ago (2 children)

It is unintended, a bug that is already known and will possibly disappear when support for websockets is removed (i.e. only plain HTTP traffic from you web browser to the server will remain).

[–] [email protected] 8 points 1 year ago

Thanks for that info, I just complained about this issue in a different thread. Guess I'll just have to be more patient during this phase.

[–] [email protected] 4 points 1 year ago (1 children)

do you know what the official github issue number is? Ide like to follow the progress on it as it is extremely annoying to me as well.

[–] [email protected] 6 points 1 year ago

Yes! This is mega annoying and ruins my preferred way to use Lemmy.

[–] [email protected] 15 points 1 year ago (3 children)

I'm on jerboa, and like others are saying "active" is pretty ass and 'hot' is okay. My main actual complaint is the inability to sort comments! Please God, I'm tired of seeing the rare hateful message with 1/2 up votes on top, and then a more normal good comment with 50 up votes beneath it. Going to be a real problem for onboarding people and optics.

[–] [email protected] 6 points 1 year ago

Yup, this is my biggest issue with Jerboa as well. Using the browser, it has a comment sort but it also has some scrolling bug that was making me unable to read headlines or click on posts haha.

[–] [email protected] 5 points 1 year ago

Seems like there is an active PR for this

[–] [email protected] 2 points 1 year ago

There is an option to hide posts that you've already read in settings, I know that's not exactly the same thing, and I haven't tested it out, but that might help solve the problem of seeing the same posts every time we open the app

[–] [email protected] 14 points 1 year ago (1 children)

Ranking is hard. My biggest gripe with this however, is that the front page doesn't seem to cache my filter/sorting options between page reloads. I've resorted to replacing the anchor href on the logo with my own preferred pre-filtered search result href, via JS injection.

[–] afcfrimpong 19 points 1 year ago (1 children)

I think you can set default sort and subbed/local/all in settings

[–] [email protected] 5 points 1 year ago

Oh you're absolutely right! Thank you! I swear I checked for it a couple of days ago 😅

[–] [email protected] 11 points 1 year ago

I'm a bit baffled - I love the active sort so far. Sure, it's different from reddit, but in a good way. It means the exact timing of a post, to line up perfectly with the peak active hours of U.S. users, or similar, isn't critical anymore, because a post can go relatively ignored for a day or two and then get picked up and filled with comments and discussion.

It gives people more time to get around to reading a long linked article or watching a linked long video first, before commenting, too, while still leaving them able to participate in discussion after.

It means that people who comment "late" still get replies. Commenting even slightly late on reddit and not getting any replies or votes felt awful, like you were talking to a wall. And the people who sorted by new and commented first tended to stick to the top of threads because they accumulated more upvotes by sheer force of time.

I hope we can avoid re-creating the constant, over-hurried content-churn of reddit, and keep this more patient feel.

That said, I'll concede that active search is best for discussion posts, like on Chat or Gaming (e.g. threads that ask people to share favorite xyz games and so on), or those based around longread articles, and not necessarily as good for Breaking News. But even then... I think it does us good to allow time to discuss news posts, too, and active search does that.

Tldr I use active search as default for everything and I absolutely love it like this, please don't get rid of it just to make the site more like reddit.

[–] [email protected] 9 points 1 year ago (2 children)

Can someone explain why if I choose All/Hot the first page will look "normal" for a bit, but then it starts updating/scrolling constantly? Like I can't keep my place, new items are continuously being added and I can't even finish reading a headline. I don't see any settings to prevent that. What am I doing wrong?

[–] [email protected] 4 points 1 year ago

I think it's a UI bug.

load more comments (1 replies)
[–] [email protected] 7 points 1 year ago (1 children)

Hopefully the algorithm will improve over time - compared to the site which shall not be mentioned, I find that Hot or Active tend to show the same articles for days (despite there being plenty of newer content). Top Day works well the first time I log in for the day, but then that gets stale too. On the front page I feel like I need more like a "Top Hour" option ... so I can see what is new without the "drinking from the fire hose" that is "new".

These are the early days, Im not unhappy with where we are, I just hope this remains a work in progress and improves.

[–] [email protected] 2 points 1 year ago

Agreed. Something like Top for the last 4 hours would be super easy to implement because Top for the last day already exists (just change 24 hours to 4 hours in the code that fetches comments). However, for those that are used to checking the site multiple times in a day, you don't want to ge served up the same content every time you check. Top for the past 4 hours would seemingly be a decent balance between giving posts that have some type of traction while not giving posts that are stale.

[–] [email protected] 6 points 1 year ago (1 children)

So I think it's just growing pains of the software still being at a pretty early stage; I agree it's not ideal right now but I'm fairly confident it'll get worked out. That said, there's one option that I'd really like that may not be in the works: I'd like the ability for posts I've seen to get bumped way down in the ranks, so when I refresh the front page it's mostly new stuff. Mostly the reason people go next -> next -> next is from wanting more stuff; it'd be nice if we could cut out the middleman and just show them new stuff.

[–] [email protected] 2 points 1 year ago

The "Top Day" sorting option does this, but posts fall off a cliff rather than falling off gradually. My understanding is that they'll remain on the page from hour 0 to hour 23, but then completely disappear starting in hour 24.

Instead of that, it would be ideal to implement a mathematical formula that pushes pages higher into the rankings with every upvote, comment, or view it gets, but pushes posts lower in the rankings with every additional hour passed. You have to tweak the specific parameters of that formula to get it right, but it essentially forces posts off the page after enough time has passed, while introducing new posts to replace the old. Unlike the "Top Day" sort where things are a step function, the idea with this is to make it gradual so that a popular post falls from #1 overall down to #2, then #3, etc. over the course of a day.

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

I always sort by "New Comments". "Active" just gives me the same posts over and over again.

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

I'd really like to see a "Unread" filter, that shows posts that has not already been up/downvoted or clicked

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

It is already an option, go to profile settings and unmark "Show Read Posts".

[–] [email protected] 3 points 1 year ago

But when is a post marked as read? Do I have to click on everything or vote for everything?

[–] [email protected] 2 points 1 year ago

omg thank you! I never noticed it!

[–] [email protected] 6 points 1 year ago

Biggest problem I think right now is how it auto-appends new posts to the top - browsing /new/ is a simply impossible task. Maybe just tell me there are new posts to fetch and let me refresh when I'm ready? Right now I can't read stuff before it yeets off the bottom of the page

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

I'm not sure about the algos, but I'd kill if it would at least remember my choices between page refreshes.

[–] isildun 2 points 1 year ago (1 children)

Although it's a little less convenient than just remembering across refreshes, you can set a default sort in your profile if there's a particular sort you like.

That being said I find myself hopping between Top Day and Hot so I can only start on one or the other. Would be nice if it just remembered.

load more comments (1 replies)
[–] [email protected] 4 points 1 year ago (1 children)

I wish I could change the default comment sorting

[–] [email protected] 2 points 1 year ago (1 children)

Also defaulting to "All" communities would be nice :)

load more comments (1 replies)
[–] [email protected] 3 points 1 year ago

Reddit's top hourly was one of my favorite ways to browse. They need to implement that here. Just show me the top posts from the last hour.

[–] [email protected] 3 points 1 year ago (1 children)

A lot of the discussion around sorting specifics makes me wonder if a plugin-like system for user created sorting algorithms would be useful.

It could allow you to curate your own feed in a way, based on age, activity, filters, basically any post metadata. The algorithms could be shared or maybe even federated through lemmy itself. I have a suspicion this would be closer to "neat" than "worth it" though. This is really just a brain dump of a random idea.

load more comments (1 replies)
[–] [email protected] 3 points 1 year ago

My biggest issue is that posts stream in regardless of the sorting option you have picked. So, even if I am sorting by 'hot' posts I'll get a stream of posts that where made less than a minute ago.

[–] [email protected] 3 points 1 year ago (1 children)

I use "Top Day" and seem to be quite happy with it.

load more comments (1 replies)
[–] [email protected] 2 points 1 year ago

Personally I usually sort by "hot", works good for /all, but mixed results on subscribed

[–] meltylikecheese 2 points 1 year ago

I've been doing top of today.

[–] [email protected] 2 points 1 year ago

I have the same issue, would love to engage more but sorted feed is either same through out day or bloated

load more comments
view more: next ›