Skip to content

Simple public home feed #303

@bedeho

Description

@bedeho

Background

Our home feed in Atlas has arguably gotten worse from when I originally raise this issue: #245

I believe we currently have

  • introduced higly reliable language filtering
  • allowed all videos from all categories
  • tried to improve bad channel weights set prior

although this latter point may not have been executed succesfully. We are also going to be filtering out shorts soon, but they also continue to negatively affect the feed.

Currently, the feed looks worse than ever, and there is substantial operational problems in understanding the ranking algorithm at any time, in particular how it trades of recency and quality, and also even what the true quality of a given channel really is.

Screenshot 2024-02-23 at 14 34 39

Proposal

As a sort of short term emergency, I propose we introduce a fully manually curated public home feed.

Data Model

We add a new field include_in_home_feed: boolean to videos, make it false by default.

Query

We introduce a new query called dumb_public_feed which randomly selects up to STATIC_HOME_FEED_LENGTH videos so long as

  • their language is suitable
  • include_in_home_feed is true
  • not censored

and returns them in random order, so expected to be different from query to query, even if data is same. I believe in PostgreSQL this query would look something like this

SELECT * FROM videos ORDER BY RANDOM() LIMIT STATIC_HOME_FEED_LENGTH;

Operator API

We add two operator endpoints

  • list all videos with include_in_home_feed
  • set include_in_home_feed for video with given ID.

Operationally

  • The curators should try to update overall composition of videos over time, the scope and frequency of

Costs

  1. This does not take recency into account, which I think is fine for now
  2. The time required to update the pool of videos is unknown, and could be large, but again, the name of the game here is improve content selection, so if we have to accept some older content, thats worth it.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions