Page MenuHomePhabricator

[S] Activity tab (user story): Survey
Closed, ResolvedPublic2 Estimated Story Points

Description

User story

As a user of the activity tab, I want to give feedback, so the team building the activity tab can hear my thoughts and make improvements.

Background

The team is testing an activity tab that would add reading insights to existing history tab with the goal of deepening engagement and increasing retention of readers.

Requirements
  • ✅ Present survey once, upon users' 3rd entry into Activity Tab
    • - We should only count it as a "view" if they tap the activity tab bottom (or top) tab bar button, and activity tab is at the root view. (Do not count navigating "back" into the tab as a view, or a view of the tab when an article is on top of the tab)
  • ✅ logged-in and logged-out users are eligible
  • Survey results should go to analytics
  • ✅ Allow free-text responses
  • ✅ Show confirmation toast that feedback has been submitted
  • Stop showing the survey after January 15

Boilerplate requirements

  • Should lay out well with long translations. Truncate, wrap text, or scroll where necessary.
  • Should change colors according to multiple themes
  • Should navigate easily and have understandable accessibility labels for Voice Over
  • Should lay out well on larger font sizes. Truncate, wrap text, or scroll where necessary.
Designs

https://www.figma.com/design/2ShBsmgWuzsDAeTafyKzg6/iOS---%3E-Activity-Tab?node-id=408-1263&t=AgNtmUPGd1BDt8k0-4

Engineering notes

Re-use WMFSurveyView component.

For incrementing the visited count, there are various callbacks in WMFAppViewController for detecting when someone tapped the bottom tab bar. shouldSelectViewController might be the best area to increment the count, since I expect it to fire before ActivityTabViewController's viewDidAppear.

Here, you could check self.currentTabNavigationController (which should be of type UINavigationController), check that it's viewControllers.count == 1 to indicate it is at the root, and check that it's rootViewController class is of type ActivityTabViewController. If it passes these, increment the count.

Presenting the survey can still occur from ActivityTabViewController's viewDidAppear, after you check that the visited count >= 3.

Testing Notes

These fixes are in the TestFlight Wikipedia app 7.8.7, starting in build 5894 (this can also be tested in a later build number).

Event Timeline

Tsevener renamed this task from Activity tab (user story): Survey to [S] Activity tab (user story): Survey.Oct 29 2025, 7:52 PM

@HNordeenWMF

Present survey once, upon users' 3rd entry into Activity Tab

Just to confirm, we don't want "Back" into Activity tab to count as an entry, correct?

@HNordeenWMF iPad introduces some tricky situations here. Can you tell me when something counts in these situations? Going to add what I think should count or not.

iPhone:

  1. User taps bottom activity tab bar button to reveal feature - counts as a visit.
  2. User visits an article from activity tab, then taps back - does not count as a visit.
  3. User goes deep down a rabbit hole from activity tab, then taps the W button to go back to feature - does not count as a visit.
  4. User is on activity tab feature, then taps something that pops up as a modal (say Profile > Settings, or Profile > YiR), then dismisses modal to reveal activity tab again - does not count as a visit.

iPad:

  1. Fresh state (just launched), taps activity tab button in top toolbar and sees feature - counts as a visit.
  2. Goes down rabbit hole from Explore, on article taps activity tab button in top toolbar and sees feature - counts as a visit.
  3. Goes down rabbit hole from Activity tab, on article taps Explore button in top toolbar and sees Explore. Then taps Activity tab top button again which actually shows Article - does not count as a visit (because feature is not visible here).
  4. User goes deep down a rabbit hole from activity tab, then taps the top activity tab button to show feature - does not count as a visit? (This is akin to iPhone's W icon so I think not).
  5. User is on activity tab, then taps something that pops up as a modal (say Profile > Settings, or Profile > YiR), then dismisses modal to reveal activity tab again - does not count as a visit.

@Tsevener I agree with your decisions here - We should only count it as a "view" if they tap the activity tab bottom (or top) tab bar button, and activity tab is at the root view.

Tsevener set the point value for this task to 2.Fri, Nov 14, 4:57 PM
ABorbaWMF subscribed.

Working for me on 7.8.7 (5896). Tested on iPhone 16 on iOS 26, iPad Pro on iPadOS 26, and iPhone 11 on iOS 18.