Page MenuHomePhabricator

Update Most Read slide for Year in Review
Closed, ResolvedPublic3 Estimated Story Points

Description

Background

In V2 of Year in review, there was a slide that shared what day of the week users open the app the most. We want to expand this slide to include time of day and month insights.

Task

  • Create a slide for Logged-in users agnostic of Wiki that shows the following insight:
    • The time of day the user likes to read (time of day is not dependent on day of the week)
    • The day of week the user likes to read
    • Month user read the most
  • Time buckets should be as follows
    • Morning (5:00AM-11:59PM)
    • Midday (12:00PM-12:59PM)
    • Afternoon (1:00PM-4:59PM)
    • Evening (5:00PM-8:59 PM)
    • Night (9:00PM-11:59PM)
    • Late night (12:00AM-4:59AM)
  • Include time buckets in translation instructions for this copy

Engineering Notes

  1. Update YearInReviewMostReadDaySlideDataController's populateSlideData method:
    • Modify "most read day" calculation:
      • Do not fetch from legacy page views anymore. Instead get data from WMFPageViewsDataController's fetchPageViewDates method.
    • Add "Time of day" calculation:
      • Fetch all page views from the year from WMFPageViewsDataController. Sort each CDPageView's timestamp into time buckets according to task description, calculate which time bucket had the most page views. Ensure data point gets persisted in slide data.
    • Add most-read month calculation:
      • Fetch all page views from the year from WMFPageViewsDataController. Sort each CDPageView's timestamp into a particular month, calculate which month had the most page views. Ensure data point gets persisted in slide data.
  1. Create new V3 slide
    • We may be able to lean on WMFYearInReviewSlideStandardViewModel + WMFYearInReviewSlideStandardView for this, but if the design proves too tricky (due to font) to fit in the old standard view, we can make a custom WMFYearInReviewSlideV3MostReadDayViewModel + WMFYearInReviewSlideV3MostReadDayView. Ensure new slide is only inserted when V3 developer setting is enabled, otherwise use old slide design and copy for V2. Slides are inserted in the WMFYearInReviewViewModel.
  1. Ensure sharing individual slide works well

QA Notes

  1. Delete all Wikipedia apps on device. Fresh install the app (White icon, 7.8.5). Ensure device is logged in.
  2. Navigate to a bunch of different articles.
  3. Enable YIR v3 in dev settings
  4. Navigate to profile
  5. Year in review
  6. Scroll through the slides until you see this slide.

Event Timeline

Tsevener updated the task description. (Show Details)
Tsevener updated the task description. (Show Details)
Tsevener set the point value for this task to 3.Aug 26 2025, 2:07 PM
Tsevener triaged this task as Medium priority.Aug 27 2025, 10:35 PM

In Staging build 7.8.2 (101) for design review.

Test steps:

  1. Fresh install on Staging, log in, ensure EN app language, US device region.
  2. Visit some articles.
  3. Go to developer settings, toggle V3 on.
  4. Go to Settings > Year in Review, toggle off and back on to regenerate report.
  5. Go to Year in Review, ensure you see most read slide, now with time and month calculations.

hi @Tsevener, i'm having the same issue here where I don't see the Year in Review toggle in step 4 even though i've followed all the steps — is there something wrong with the build configuration?

ABorbaWMF subscribed.

Appears to be fixed on 7.8.5 (5867)

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

HNordeenWMF claimed this task.