Skip to content

Instantly share code, notes, and snippets.

@lazyatom
Created April 11, 2023 18:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lazyatom/ad15184989aa3345a8514b73e8f1591a to your computer and use it in GitHub Desktop.
Save lazyatom/ad15184989aa3345a8514b73e8f1591a to your computer and use it in GitHub Desktop.
Fedifeed notes - JGA
Fedifeed implementation notes
Two components
Server implements a few endpoints
/reblogs — returns accounts that you reblog the most
/core_servers — returns the instances who host most of the accounts you follow
/favourites — returns users that you favourite the most
Client hits those endpoints, and then:
- Gets trending posts from each “core server”
- Get the posts from your home timeline (e.g. your default timeline)
- Sorts those, prioritising accounts you have reblogged or favourited with weights that you can control
Overview
The quick summary of what this ends up doing, above what you’d get by default (i.e. in your home feed)
- Posts you’d already see, but sorted by reblog/favouriting (i.e. upweighting posts from users you already reblog/favourite
- Trending posts from other servers, sorted by reblog/favouriting
Good things:
1. It all happens in-client, which means it’s _scalable_
2. It only uses _your_ data — doesn’t try and do any aggregation over multiple users to suggest stuff from outside of your sphere. This arguably means the results aren’t as good as they could be, but it is more clearly aligned with the prevailing sentiment of Mastodon.
Less-good-ish things:
1. If your instance already has a reasonable number of users, I’m not convinced that getting trends from other instances has a huge amount of value. But it might! And certainly it’s a way of seeing stuff that you _might_ never otherwise see
2. The weightings will impact users you reblog/favourite, but I would _guess_ that you tend to favourite/reblog users that you already follow, so this content will already be in your Home feed. But if this replaced your home feed then the overlap would be fine
Overall I think this is an interesting way of _prioritising_ the Home feed, bringing posts from users you tend to interact with closer to the top, and also with some chance of either seeing trending stuff from other instances, or just seeing trending stuff _at all_ (since many users don’t look at the “Explore” parts of Mastodon — see my poll https://ruby.social/@james/110072599281284467 — 67% don’t use it at all.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment