Page MenuHomePhabricator

Recommended reading exp: Show interaction element(s) to select interests on the reading module
Closed, ResolvedPublic3 Estimated Story Points

Description

Background

This work is part of a web experiment to show reading recommendations on newcomers home page. T435396

In the new onboarding experiment by contributor growth team, users will be asked to pick their interest in order to personalize the Home Screen. As part of our team’s experiment, these users will see reading recommendations based on their interest on their home page in addition to the things that already exist.

Users can also select or update their interest from the home page. This ticket defines where in the reading module can users select interest, and what happens in the reading module after they select and modify interests.

User stories

As a user viewing reading recommendations on my Home Screen, I want to select or update my interests directly from the reading module, so that my reading recommendations reflect what I’m currently interested in.

Designs

Figma
When zero interest selectedWhen >0 interests selected
newcomer homepage.png (1,712×3,804 px, 561 KB)
newcomer homepage.png (1,712×3,804 px, 760 KB)

Requirements

  • When the user zero interests selected, show a prompt inside reading module for personalizing recommendations as show in the design.
  • When the user >0 interests selected, remove the prompt and instead show an icon in the top right corner of the module.
  • When the user taps on “select interest” or “interest icon”, show the interest picker.
  • When the user saves the interest and come back to Home Screen, refresh the reading module content
    • If new interests are added show recommendations related to those
    • If previously added interest are removed, refresh the module to not show recommendations for those interests.

Note: currently the interest picker is global, so any changes made to interest either from reader module or suggested edits module will result in affecting both modules

Technical notes

The InterestSelector was created (and patch merged) in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/GrowthExperiments/+/1315932 , as part of T432920: Account setup: Screen 1 (welcome) + Screen 2 (account type) in account setup flow (DE1.3.1) and T432811: Account setup: Create interest selector and storage of interests (DE1.3.1) (with some mockups)

Growth team T430058: [EPIC] Account Setup (DE1.3.1 - early onboarding): with the onboarding flow, where new users can select interests. User can add/change interests on Special:Homepage. The interest selector will appear in 2 places, and the interests (selected articles, up to 4) are stored as a user preference and the interests are shared between Daily Reads and suggested tasks.

BDD

Scenario 1

A user doesn't select any interests
Given a new account is created
When a newcomer doesn't select any interests during onboarding tour
Then a newcomer will see a prompt "Select interests" to select interests in "Personalize your daily reads"
And a newcomer can select interests by clicking on the button

Scenario 2

A user does select >0 interests
Given a new account is created
When a newcomer selects some interests during onboarding tour
Then a newcomer can modify selected interests by clicking on the select button
And both Daily reads and Suggested edits recommendations will be modified according to the selected interests

Scenario 3

A user select interests that do not return any recommendaitons
Given a new account is created
When a newcomer selects some interests during onboarding tour that do not return any recommendations
Then a newcomer sees randomly selected Daily reads recommendations
And Suggested edits display "No suggestions found"

Test Steps

For QA engineer to fill out.

If you want to see the CTA from an existing user

mw.loader.using( 'mediawiki.api' )
      .then( () => new mw.Api().saveOption( 'growthexperiments-interest-articles-editing', '' ) )
      .then( () => location.reload() );
  • check the BDD scenarios
  • check light/dark mode
  • check desktop/mobile

Event Timeline

Volker_E renamed this task from Show link to select interest on the reading module to Show interaction element(s) to select interest on the reading module.Aug 25 2026, 5:21 PM
Volker_E renamed this task from Show interaction element(s) to select interest on the reading module to Recommended reading exp: Show interaction element(s) to select interests on the reading module.Aug 27 2026, 4:45 AM
Volker_E updated the task description. (Show Details)
Sneha triaged this task as High priority.Aug 28 2026, 2:58 PM

@Sneha When the user clicks "Select interests" does this open a dialog with the interest selector? or is there another way that this should work?

Yes its a dialog that contributor growth team is building. This is how it looks on phone and desktop

AnneT subscribed.

I'll at least start this @Volker_E

Change #1339157 had a related patch set uploaded (by Anne Tomasevich; author: Anne Tomasevich):

[mediawiki/extensions/GrowthExperiments@master] [WIP] Enable interest selection for reading recommendations

https://gerrit.wikimedia.org/r/1339157

@Volker_E I pushed a patch but am not sure the approach is right; as noted in the inline TODOs it's probably a better idea for the Homepage.ReadingRecommendations module to launch its own Dialog component that contains the InterestSelector component and updates the Pinia store in response to user interaction. Hopefully you can at least use the updated markup and CSS from my patch though.

@Sneha With the main EdGrowth module featuring a primary button, our module's button should be a "progressive normal" at most:

image.png (1,218×666 px, 54 KB)

I went with this in my most recent amendment of the corresponding patch.

Change #1341258 had a related patch set uploaded (by VolkerE; author: Anne Tomasevich):

[mediawiki/extensions/GrowthExperiments@master] feat(AccountSetup): Enable interest selection for reading recommendations

https://gerrit.wikimedia.org/r/1341258

Change #1341317 had a related patch set uploaded (by Anne Tomasevich; author: Anne Tomasevich):

[mediawiki/extensions/GrowthExperiments@master] feat(AccountSetup): Add interest selector for reading recs

https://gerrit.wikimedia.org/r/1341317

Change #1339157 abandoned by Anne Tomasevich:

[mediawiki/extensions/GrowthExperiments@master] feat(AccountSetup): Enable interest selection for reading recommendations

https://gerrit.wikimedia.org/r/1339157

@AnneT I found an issue with the InterestSelector:

https://phabricator.wikimedia.org/T438046

I think it could be fixed independently of adding the InterestSelector to the reading module or as part of enabling the interest selection for the reading module.

Change #1341317 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] feat(AccountSetup): Add interest selector for reading recs

https://gerrit.wikimedia.org/r/1341317

Change #1341258 abandoned by VolkerE:

[mediawiki/extensions/GrowthExperiments@master] feat(AccountSetup): Enable interest selection for reading recommendations

Reason:

Superseded for the time being by Ice900306393683c4200a7 for a leaner solution. Generalization of other InterestSelector further discussed with EditorGrowth.

https://gerrit.wikimedia.org/r/1341258

Test wiki created on Patch demo by ATomasevich (WMF) using patch(es) linked to this task:
https://ef3468c8fe.catalyst.wmcloud.org/w/

When the user zero interests selected, show a prompt inside reading module for personalizing recommendations as show in the design.

Two minor points:

  • when a user doesn't selects interests, Suggested edits will be present - showing all Suggested edits available. This case is different from the case when selection of interests doesn't return any results. so the state of Homepage when the prompt for Daily reads selection is present and Suggested edits module displays "No suggestions found" is not possible.
  • Desktop "Personalized your daily read" box text is centrally aligned in figma design; currently, in production is left-aligned (for @Sneha review)
testwiki wmf.23figma design
Screenshot 2026-10-06 at 11.54.02 AM.png (2,262×1,720 px, 645 KB)
Screenshot 2026-10-06 at 11.43.37 AM.png (826×1,722 px, 200 KB)
Screenshot 2026-10-06 at 11.50.24 AM.png (1,978×1,670 px, 385 KB)

@Etonkovidova we can pass the alignment as implemented even if it does not align with figma. Its a minor difference and we will refine things when we decide the scale. For the experiment it is okay.

@Etonkovidova we can pass the alignment as implemented even if it does not align with figma. Its a minor difference and we will refine things when we decide the scale. For the experiment it is okay.

Thank you, @Sneha! All else seem to be in place. I find&filed an issue for Growth team - T440399: Home page onboarding: Interest selector dialog (cdx-dialog--fixed-height) displays lot of white space ,

Jdlrobson-WMF reassigned this task from Etonkovidova to AnneT.
Jdlrobson-WMF added a subscriber: Etonkovidova.