Some instances and groups are very chatty (*gestures to /lemmyshitposts), so much so that they dominate the All page.

I knew that there would be a point that browsing /all would no longer be a pleasant or feasible experience, but I quite liked having a pulse on what everyone in the #threadiverse (that kbin.social federates to, anyway) are thinking. But right now it seems @memes is dominating everything.

I don’t want to fully block them from showing up in my feed, but i don’t want to let them full send either. Would it be feasible to add a feature in future releases to be able to adjust the algorhythm on the user-side that would allow for mutes, or deranking it in your feed, instead of outright blocking it?

  • curiosityLynx@kglitch.social
    link
    fedilink
    arrow-up
    10
    ·
    1 year ago

    We could use the Reddit approach to Hot (in Reddit’s equivalent to /sub):

    1. Show the hottest post
    2. Show the hottest post that isn’t in a magazine from which a post was already shown
    3. Repeat step 2 until we’ve reached a minimum level of hotness
    4. Show the rest in order of hotness regardless of which magazine they came from

    Ideally you’d replace Step 4 with something that recursively applies steps 1-3 to what’s left over, but since Reddit doesn’t do that, I assume it would be too computationally expensive.

    • dandan@kbin.social
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      Yeah, something in the algorithm that prevents one magazine or one instance dominating would be the best approach.

    • tables@kbin.social
      link
      fedilink
      arrow-up
      4
      ·
      1 year ago

      This would be great, it would enable users to follow all of the communities they want to follow without having the bigger more active ones drown out the smaller ones.

    • curiosityLynx@kglitch.social
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      My naive guess to how Reddit does it would be that they do two SQL commands that look something like this

      WITH CTE AS (
          SELECT  *
                 ,row_number() OVER(PARTITION BY magazine ORDER BY heat) AS row_num
          FROM    posts
      )
      SELECT   *
      FROM    cte
      WHERE   row_num = 1
      ORDER BY heat;
      
      

      followed by

      SELECT *
      FROM posts
      WHERE id<> $IDs_of_previous_request
      ORDER BY heat;