Page MenuHomePhabricator

[M] For You Feed: Because You Read Module
Open, HighPublic2 Estimated Story Points

Description

Background

The Because You Read module surfaces article recommendations based on the most recent article the user has read using the MoreLike API. It provides 4 article cards in a horizontal scroll. The reason label identifies the article is being triggered based on the users reading history.

Every For You card shares the same persistent chrome: Wikipedia logo (top left), Community tab access, language switcher dropdown (showing user-configured languages + link to language settings; changing language refreshes the module content in the selected language without leaving the module), and notification bell. The bottom navigation bar is always visible.

User Story

As a Wikipedia reader, after I finish reading an article I want to see related article suggestions based on what I just read, so that I can continue exploring topics that interest me without having to search.

Requirements

  • The module selects the user's most recently read article (for more than 10 seconds) as the basis for recommendations
  • Avoid using a non-mainspace page as the seed article, and avoid suggesting non-mainspace pages as recommendations for Because you read
  • 4 recommended article cards are displayed in a horizontal stack
  • Refresh the MoreLike suggestions daily
  • Only suggest articles in the main namespace, and do not suggest disambiguation articles
  • The reason label on each card reads 'Because you read [Article Title]'.
  • If the user has no reading history, this module is hidden from the feed until they've read at least one article.
  • Exclude disambiguation pages and main page.
  • Remove the existing "Because you read" module and associated settings from the legacy explore feed (Community) for users in the B group of the experiment. Users in Control should maintain access.

Nice to have

  • Ensure freshness: instead of just taking the last article read, for every new explore day, take all articles that were read for 1+ minutes in the last month and randomly pick one as the seed

Design

Figma link →

Android task for reference: https://phabricator.wikimedia.org/T419691

Toni Handoff Notes

Based on progress at PR https://github.com/wikimedia/wikipedia-ios/pull/5995

Noting things remaining todo:

Avoid using a non-mainspace page as the seed article, and avoid suggesting non-mainspace pages as recommendations for Because you read
Exclude disambiguation pages and main page.

This needs to be done - filter out non-main namespace articles, disambig pages and main page in the selection criteria (at the data controller layer).

The reason label on each card reads 'Because you read [Article Title]'.

UI still needs to be fine-tuned, current UI is stub / generated. Double-check patterns (WMFFont, etc), layout, rotation, iPad, themes, etc. Optimize for Voice Over if needed.

Event Timeline

Hi @HNordeenWMF, questions before we can finish estimating T413374:

The module selects the user's most recently read article (for more than 10 seconds) as the basis for recommendations

Does this include today, in the same session? So if I read Cat for 10+ seconds, go to Explore, pull to refresh, I will see Cat-related articles in "Because you read"?

If user has already seen the article, show a fallback: randomly select any article visited in the past 30 days that the user that user spent 10 seconds on

Also confused by this, they will have already seen this Cat article based on picking a recently read article, seems odd to exclude that as a seed. Let's discuss in our meeting.

Does this include today, in the same session? So if I read Cat for 10+ seconds, go to Explore, pull to refresh, I will see Cat-related articles in "Because you read"?

Correct

Also confused by this, they will have already seen this Cat article based on picking a recently read article, seems odd to exclude that as a seed. Let's discuss in our meeting.

Again, I need to clarify that this is only seen in the feed, not article view

Under background we have

It provides 3 article cards in a horizontal scroll.

Under requirements we have:

4 recommended article cards are displayed in a horizontal stack

@HNordeenWMF can you clarify the number? It doesn't impact estimation.

Mazevedo renamed this task from For You Feed: Because You Read Module to [M] For You Feed: Because You Read Module.Jul 1 2026, 2:20 PM

Updated - sorry about that!

HNordeenWMF raised the priority of this task from Low to Medium.Jul 1 2026, 3:04 PM
HNordeenWMF lowered the priority of this task from Medium to Low.Jul 7 2026, 7:38 PM
HNordeenWMF raised the priority of this task from Low to Medium.Mon, Jul 13, 2:46 PM
HNordeenWMF raised the priority of this task from Medium to High.Mon, Jul 13, 7:31 PM
HNordeenWMF removed a project: Design.
HNordeenWMF added a subscriber: SChekfa-WMF.
Mazevedo set the point value for this task to 3.Wed, Jul 15, 2:20 PM
HNordeenWMF lowered the priority of this task from High to Medium.Mon, Jul 20, 4:36 PM
HNordeenWMF raised the priority of this task from Medium to High.Wed, Jul 29, 2:32 PM
Seddon changed the point value for this task from 3 to 2.Wed, Jul 29, 4:47 PM
Seddon added a subscriber: GOlson-WMF.