User Stories
- As a casual Wikipedia reader, I want to discover the May Reading Challenge through a prompt, so that I can opt in without feeling pressured.
- As a new participant joining anytime in May, I want to understand the rules upfront: open 1 article per day, for 25 days, so that I can make an informed decision to join.
Requirements:
- ✅ A user may join the challenge at any point between May 1st and May 31st inclusive
- Joining is a one-time action: there is no re-enrollment
- Once joined, the user is enrolled for the remainder of the challenge period
- ✅Only logged-in users can successfully join the challenge.
- Enrollment may be tied to the user’s device, and does not need to be synced across devices at this point
Full-page announcement
- ✅ A full-page announcement is shown to all logged-in users starting May 1st
- Announcement is shown on ✅ Article view, ✅Activity, or ✅ Explore, on first open of the app on or after May 1
- ✅ The announcement should be shown to users a maximum of 1 time
- ✅ Displays the challenge name, rules summary, prize details, widget mention, a Join CTA, and a "Learn more" CTA
- ✅ Dismissible: the user is not forced to join.
- ✅ Must include a brief, plain-language statement clarifying that the only data tracked for the challenge is local data on device.
- ✅Full page announcement should stop showing after May 31
Widget announcement
- ✅ After someone joins the challenge, they should see the widget announcement: it can show immediately or on next app open if they navigate away before it displays
- ✅ "Got it" dismisses announcement
- ✅ [Spike] Is there any way we can take people directly to the native flow for adding a Widget, OR add the widget in the background for them automatically?
Joining from Widget (State: Not enrolled )
- ✅ The widget also renders a Join CTA for logged-in users who have not yet joined
- Tapping "Join challenge" on the Widget:
- Opens app with full-page announcement on top of the activity tab (Any user who has not joined the challenge yet should be eligible to see the announcement when clicking "Join" from the Widget State. They can continue to see the announcement each time they click "Join" until they join the challenge.)
- They must tap “Join challenge” on the announcement to enroll
- ✅ They should not see the Widget announcement after the full-page announcement since they already have it installed
- ✅ After joining, their Widget should update to State: Enrolled but not started or State: Streak ongoing: read today depending on their reading for the day
Designs
- Full-page Announcement: https://www.figma.com/design/nnXvcESYGNFiMmxYA41vVG/WP25--Apps-Reading-Challenge?node-id=381-1715&t=33Zrff8kZOyR1KaO-4
- Widget announcement: https://www.figma.com/design/nnXvcESYGNFiMmxYA41vVG/WP25--Apps-Reading-Challenge?node-id=382-2855&t=33Zrff8kZOyR1KaO-4
- Join Widget https://www.figma.com/design/nnXvcESYGNFiMmxYA41vVG/WP25--Apps-Reading-Challenge?node-id=380-1659&t=33Zrff8kZOyR1KaO-4
