Page MenuHomePhabricator

Create A/B/C test for more dynamic Tabs
Closed, ResolvedPublic3 Estimated Story Points

Description

Background

To effectively measure the impact of adding more dynamic improvements to the tabbed browsing feature, we would like to run it as an A/B/C test with a limited audience.

Requirements
  • Wrap up the new tab experience
  • Sort the users into as soon as possible after opening the app (do not require closing of the app for sorting)
  • Limit the experiment audience to:
    • Users with an App primary language of English, Arabic, or German
    • Users with a device country of Germany, or within ESEAP or MENA regions (use these lists)
    • Stop sorting new users into experiment on 15 January. All other users should retain their experiences until we make a scaling decision
  • Test set up
    • A group
      • No changes to tab behavior, users still must have 1 tab open
      • New tab remains the Main Page, search is not active on opening a new tab
    • B Group
      • On first launch of tabs users should see a Main Page tab in their overview (which can now be closed).
      • If a user opens a new tab it should take them into a focused search
    • C Group
      • There is no "Default" open tab of the main page. Users start with an empty state (0 tabs)
      • When opening a new tab it brings them to main page, search is not active
    • BOTH Group B & C
      • Users can have 0 tabs. If someone closes all tabs, they see an empty state
      • Add a module at the bottom of the tabs screen that has Did You Know if they have less than 2 tabs and showing Because You Read content based on their most recent tab should they have 2 or more tabs open.
      • Empty state illustration and text
      • Recommended content pinned to the bottom of the tabs overview screen
      • Overflow menu with the ability to hide recommendations AND close all tabs
      • Highlight the active tab
      • Show the survey

QA Notes

The most "pure" test of these would be:

  1. Set your device region into Germany, or within ESEAP or MENA regions
  2. Fresh install
  3. Set the target App primary language to English, Arabic, or German in onboarding.
  4. When you land on Explore, tap the tabs overview button.
  5. If you see an initial Main tab, then you are in either Group A if there is no close button, or Group B if there is a close button. If you see an empty state, then you are in Group C.

We have developer settings toggles for each experience, but they are a little awkward when it comes to testing the initial tab overview state. This is because the app tries to immediately create a Main Page tab in Groups A and B. If you then switch the toggle to Group C via developer settings, the tabs overview initial state will still show the Main Page tab, because we aren't deleting any tabs when we switch the developer settings toggles.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
HNordeenWMF renamed this task from Create A/B test for more dynamic Tabs to Create A/B/C test for more dynamic Tabs.Jul 14 2025, 4:11 PM
HNordeenWMF updated the task description. (Show Details)

@Mazevedo, @GOlson-WMF, @SNowick_WMF highlighting here that there is a slight audience shift from Tabs V1 to Tabs V2. We're removing Japanese, and adding German/Germany. Hopefully that isn't too much trouble to update in the logic.

Test Notes
  1. Set the device to a valid language and region (Germany and English, for example, try others if possible) and relaunch the app
  2. Open an article. Stay on it for more than 30 seconds so you have one valid article for because you read.
  3. Open tabs: If assigned to control, the new tab remains the Main Page. Otherwise, you might see Did You know or Because you read. (Note: the data store takes a moment to process significantly read articles, so if you only see "Recently searched", you are assigned to Because You Read. It should show if you open a new tab again.)
  4. Repeat steps 2-4 until you see the three assignments
  5. To test the dev setting - in assigment, go to dev settings and choose enable Because you read if you get control or DYK, or DYK if you got control or Because you read.
  6. Open tabs again, verify the toggle setting changed your view
  7. Set you device to an invalid region or language
  8. Fresh install the app. Verify you see the main page
  9. Test the dev settings toggles, verify you can enable did you know and because you read
ABorbaWMF subscribed.

Appearsd to be working on 7.8.1 (5733)

Tested on iPhone on iOS 26.0 and iPad on iPadOS 18.5.

JTannerWMF removed the point value 3 for this task.
JTannerWMF subscribed.

Kicking this back with the new requirements. Feel free to update the estimation.

Hi @JTannerWMF !
We have two conflicting requirements here:

First bullet point

Sort users when on article view

Last bullet point

Sort the users into as soon as possible after opening the app (do not require closing of the app for sorting)

Can we go with "Sort the users into as soon as possible after opening the app ..."?
We typically create the default Main Page tab when launching the app. Since we're changing that logic for this ticket, it would make sense for us to assign groups before that happens. This way, we won't have to re-engineer too much of the tabs data layer.

@HNordeenWMF Can you double-check the requirements once more before we pick this up? It seems like some are still a little outdated from the original design (like Because You Read are now featured in both tests vs. one last time).

Tsevener set the point value for this task to 3.Sep 25 2025, 3:02 PM

@HNordeenWMF Just wanted to confirm for this one - the original task description (before we reworked it) had a End the A/B test on September 30, 2025 requirement, but there's no date requirement in the new task description. Was that intentional?

@Tsevener good catch, we should add an end date! I put December 15, 2025 in the description (to give wiggle room).

Hi @GOlson-WMF, how much of a lift would it be to remove the country requirement on this test? Not asking for it yet, but I'm wondering if it's a simple change

@HNordeenWMF Should be easy, do you want us to?

I don't think the experiment end date made it in, so moving back into Current Sprint Work.

@Tsevener no change needed on the country requirements (Shay and I were discussing but decided it'll be ok).

Ok if the end date hasn't been coded yet, based on our recent activity tab discussions, I updated that requirement:

- Stop sorting new users into experiment on 15 January. All other users should retain their experiences until we make a scaling decision

Appears to be fixed on 7.8.4 (5853)

Tested on iPhone 16 on iOS 26, iPad 12.9 on iPadOS 26, and iPhone 11 on iOS 18. Tested on all themes