Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC (repost): Priority of algorithm usage across different X features #15181

Open
twister21 opened this issue Jan 23, 2025 · 0 comments
Open

Comments

@twister21
Copy link

tl;dr: fewer algorithms for home feed generation, more algorithms for content & author discovery across the core features Topics, Trends, Lists and Search

Introduction

X platforms (including Twitter, a text-focused service) shouldn't serve a “For You” home feed by default that includes any embedding space (e.g., subscribable creators, tweets or videos “based on your likes”) or a large amount of social graph content, apart from likes and reposts if this hasn't been explicitly disabled, because it isn't suited for users who follow a wide thematic variety of content, and algorithms can't outperform human beings in picking whose posts best fit in one's personal feed. Instead, content moderation is done more effectively by following the right and unfollowing the wrong accounts or topics, but the current feed systems lack customization and discovery features, and need improvement.

Extending curation options and enabling platform interoperability (via shared following lists and histories as well as superfeeds and supersearch) is more reasonable than cloning related platforms, such as YouTube, Substack/Medium, LinkedIn or Discord (https://github.com/orgs/community/discussions/60763).

Overview

Introduce new sorting and filter options for (now multiple) following-only home feeds (see Feed restructuring) and provide separate methods to discover follow-worthy accounts and notable posts through better use of a user's

  • topic following list, which should be fully viewable via /topics and individually via /t (human-readable identifiers are more useful than generic (such as snowflake) topic ids for direct URL access), also show topic-based|related followables on the sidebar
  • seen and search history, which should be accessible via /history, and pausable, searchable, selectively deletable (individually, multi-selectable and/or by time period - also automatically) as well as clearable
  • recommendations, which should additionally be filterable by sources used for generation and by default not be language-restricted if auto-translation is also active

as well as

  • general data record similarity (such as Twitter's SimClusters system for accounts), filters (such as topics) and sorting
  • account summaries
    • highlight all major topics/subtopics an account posts about (with percentage distribution), implement historical analytics
    • allow following (account, topics) pairs
    • auto-generate lists (by account type) based on affiliates
    • link connected accounts of other platforms, and show post type statistics
  • search
    • semantic, multi-language capabitilies
    • quick access for advanced search
    • additional/separated fields (topic: name; account: biography; video: description, captions; Space: title, captions)
    • align related embedding space section contents (such as "people also viewed", "from releated searches", "people also search for") horizontally and always show them
    • specifically YouTube: remove unrelated sections from the results (such as "previously watched", "explore more" or "popular today"), reduce number of "Shorts" sections (with inline navigation) to 1 in mixed feed, and improve keyword-based results quality (e.g. the query "youtube" yields lots of results not containing the keyword)
    • and Discord: global server post search

Data feeds

Feed lists should have Standard sorting & filter options, depending on data record's type (followable|post), the option for auto-refresh and automatically present translations of languages not declared as supported (which can be configured, specifically the primary/target language, or inferred from an user's own use), unless set to manual mode or translation is already provided by the original author (multi-language post). For speech audio content (including live), auto-generated language-specific tracks should have a natural, similar sounding voice and high-quality, accurate subtitles, as well as a separate transcript on the related text-based platform, if not disabled.

Followables (account|topic|community|list) feeds should have a multi-follow feature.

Specific feeds (such as replies, tag and individual account) should show post filter group distribution statistics, and be filterable by percentage.

specific Post type can be, for example:
Twitter: tweet, space
YouTube: (live|re-live|music) video, movie, short, (podcast|show) episode
Medium: (factual-only) article
Substack: (subjective) story
LinkedIn: job

specific types can be (needs refinement):
objective: instructive|explanatory|documentary|summary|news|review|analysis
subjective: argumentative|narrative|descriptive essay, interview, fictional story, poem

Differentiation doesn't make sense if content gets crossposted, which shouldn't be necessary.
Instead, in addition to each platform's type-specific feeds, there should be a filterable super(home|topics|explore|account|...) feed as well as a supersearch feature and supercreation menu (via x.com), redirecting to specific interfaces if necessary. Similar types across platforms should be treated as identical or be concentrated/moved, e.g., Twitter: tweet; Substack: note; YouTube: post.

List can be, for example:
Post list: YouTube playlist, Medium list/publication, Twitter bookmark folder
Account list: Twitter list

Engagement type: reply, quote, repost, save (into list) -- bookmark, like
Data record visibility type: public, unlisted, private

Differentiate seen count/content between impressions (served in feed/scrolled-by) and unique account/IP views (for short-form text content, this doesn't necessarily require interaction, so either there should also be unique impressions or the term is used differently from clicks). Other data record and platform metrics (such as total users, total posts, MAU) should also be public.

Topics/genres are automatically assigned to data records, as well as more specific types to posts, if available, while tags can be manually assigned to posts, and need to be verified, at the latest when being served under the tag.

Communities and lists can be edited and assigned human-readable identifiers by permitted accounts.
Lists should be forkable, or data records be submittable.

Feed restructuring
Home

  • "For you" should be replaceable by a "Most interacted" tab, serving Standard sorting & filter options respecting top posts from the account following list.
  • Accordingly, "Following" is renamed to "Latest", or introduced if it doesn't exist yet

Topics

  • Once all content of the home feed has been seen, the custom topics feed should appear
  • Posts are listed either grouped by topic or individually (with topic link) based on sorting preference

Explore
(Twitter's Explore page currently only shows trends, tweets from five? of the topics a user follows and unfilterable recommendations)

  • should be enhanced or introduced (see below, Explore feed)

This way, users can remove the recommendations from their own timeline and not miss out on highly relevant content without losing the ability to discover novel content. In practice, this can be previewed on a home feed sidebar card titled "Explore more" or "More activity" (instead of "who to follow"), above/below the trends card, if they haven't been hidden.

Explore feed
Should consist of automatically curated content:

  • trends and the links of the topics they belong to
  • the entirety of data records, except for topics grid, groupable by Standard filter options datetime ranges (expandable preview sections), which should also be filterable by geo-location popularity
  • recommended data records based on social graph layers (1st: "followed or viewed by account(s) you follow") or related/similar to following list as well as engagement type, seen or search history

These feeds should be seperately viewable (via /trends, /all or /popular, /recommended), and additionally filterable by data record's type.

Implement new graph visualization feeds.

Trends feed
(the term is used differently, in this context: popular tags based on posts in a specific time period (how Twitter uses it),
alternatively: individual popular posts (how e.g. YouTube uses it), ambiguity should be removed by using the same name for the same feature)

  • improve grouping ("Trending with" currently only works in some cases)
  • quick switch for regional, personal ("For you") and (custom) topic-filtered trends, also selected timespan/historical and international trends (requires translation)
  • add option to preview top post(s) for each trend
  • map events to hashtags, show additional information if available
  • summary, some trends don't have a tag?

(Hash-)Tag feed

  • prevent abuse (incorrectly labeled content) by implementing a semantic filter

Following Lists feed

  • contents should be viewable in one feed, so that filters can be applied

Replies feed

  • replies should additionally be filterable/groupable by
    • spam score/marked as "probable spam" (which needs improvement)
    • reactions-only (emojis, punctuation marks, interjections, and potentially meme replies)
    • context/recurring tags (replies that refer to the same thing)
    • contains timestamp
  • quote posts should be treated as replies
  • reply restrictions for accounts (mentioned, following, verified) should be reader-configurable filters instead, and the options to hide/delete or pause/disable replies become needless

This greatly improves the experience, and the original "Community Notes" are replies, curatable in a meaningful way.

Standard sorting & filter options

both:

  • activity (latest post/reply, frequency)
  • post:
    • average view completion score, exclude skipping; also replies
    • unseen/view completion
    • content length (word count; video: duration; text: estimated reading time), tweet: threaded (true|false)

sortable by:

  • datetime of creation (latest|oldest)
  • popularity (top|least relevant): number of
    • post: engagements, seens; engagement or interaction/seens ratio (best)
    • followable: followers, posts and combined metrics
      • account: paid followers, affiliates
      • post list: views
      • topic|community (= members): posts, authors
  • language precision/accuracy score

filterable/groupable by (optional):

  • datetime range of creation (last 1h|24h|72h|7d|30d|6m|1y|10y; current or selected year/month/week/day; all-time; custom timespan)
  • topic(s)
  • geotag, if available
  • account: type (personal|organizational|automated); professional category; verified, (inter-)governmental, affiliated, paid-followable (e.g. Twitter: subscribable, YouTube: joinable) (true|false)
  • post:
    • (specific) type
    • (author/intrinsic) sentiments (positive|neutra|negative|opposed)
    • styles (formal: e.g. academic/scientifc, corporate, bureaucratic/legal, not exclusive: journalistic, political|informal: e.g. poetic, casual, simple|profane: e.g. swearing/cursing, insulting|illegal: e.g. threatening, inciting violence (non-filterable, except for direct messages or by authorized users)
    • tones (objective|robotic|enthusiastic|friendly|sympathetic|diplomatic|passionate|aggressive|annoyed|confident|humorous|ironic|persuasive|urgent|apologetic|sad|skeptical|condescending)
    • original languages
    • content types (language: factual/opinion statement, quote, question, social expression, poll, statistic, external link, La(TeX), code block, graphic: violence)
    • only for specific feeds: engagement type (true|false)
@twister21 twister21 marked this as a duplicate of #9093 Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant