A plugin system that allows for custom scoring methods is a good idea, IMO.
This would allow instance admins to install whatever plugins fit their users’ needs. See how many instances are deploying multiple clients like default Lemmy, old Lemmy, alexandrite, and many more.
Arbitrary code execution is not safe, so it would probably require an admin permission to install plugins.
Some ideas for interesting scoring/sorting methods or feed generation in general:
- personalized AI scoring, most of us agree it’s bad when a big corp controls AI, but maybe it’s better if the user could fine tune it
- instance/community/other AI scoring, instead of super individualized scoring sometimes you may value the feedback of others including the communities you follow or your instance
- the explore feed that was recently suggested (or any another mixer), i.e. a mix of home, local and all based on factors the user can configure
- random
- Top/Hot/Active/New but only counting interactions from people you “trust” (i.e. you follow the same communities, or have at least X% compatibility) (again big corps bad, self hosting good)
deegeese@sopuli.xyz 1 year ago
Sorting algorithms run on the server.
No way a server can allow arbitrarily remote code execution.
You could implement something that uses a server sort and has the client do custom sorting on the results the server told it about.
veroxii@aussie.zone 1 year ago
How you do it is a hybrid of how you described.
One of the first optimisations the lemmy devs did with the Reddit exodus was to precompute the “hot score” of a post and store it in a field rather than trying to compute it “live” in every query. So the score gets updated every hour and also whenever there is some comment or change to the post.
And the server simply sorts by this value.
There is no reason similar sorting fields can’t be exposed via the API allowing the client (or some client eg with mod access or admin access) to store some arbitrary value to a column and then the server can happily sort by this column.
deegeese@sopuli.xyz 1 year ago
If the server sends posts, and the client computes the ordering, the client has to do the sorting.
The “hot” thing is just server side caching of scores for a server side sort.
What you seem to be suggesting is that the server support storing post scores for send from clients so it can feed that sort back to the client. I don’t think that would scale for millions of users storing their preferred post sorting order on the server.
cbarrick@lemmy.world 1 year ago
With fixed sorting algorithms, the server can do caching and indexing to speed it up. (Emphasis on “can”. IDK if Lemmy servers actually do this.)
With custom sorts, that goes out the window.
Natanael@slrpnk.net 1 year ago
Bluesky has custom feeds with arbitrary selection and sorting algorithms, although it’s more Twitterish than forumish
Capricorny90210@lemmy.world 1 year ago
I guess that answers it. It is a neat idea.