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 selected | When >0 interests selected |
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





