Skip to content

Instantly share code, notes, and snippets.

@lazyatom
Created April 11, 2023 18:55
Show Gist options
  • Select an option

  • Save lazyatom/ad15184989aa3345a8514b73e8f1591a to your computer and use it in GitHub Desktop.

Select an option

Save lazyatom/ad15184989aa3345a8514b73e8f1591a to your computer and use it in GitHub Desktop.

Revisions

  1. lazyatom created this gist Apr 11, 2023.
    33 changes: 33 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,33 @@
    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.