Background
A cold start into an empty or generic feed can undercut the personalization work done in previous onboarding steps. This transitional screen gives the app time to process the user's selections and signals to the user that something meaningful is being built for them — setting a positive expectation before they land in the feed. After completing all onboarding steps, users should see a transitional loading screen ("Great! Let's build your feed...") while the app assembles their personalized explore feed based on the choices made during onboarding. This is the final step before landing in the app.
User Story
As a new user who has completed onboarding, I want to receive a visual indicator that my feed is being built, so that when I land in the explore feed with content that reflects my preferences I feel oriented.
Requirements
- After the final onboarding step, users should see a loading screen with an animated illustration while the app processes their selections (interests, feed preference, languages).
- Once loading is complete, users should be taken directly to the home feed
- [If possible] Preload the feed while the animation is showing so that they don't have to wait after the animation for the feed to load.
Design Link
Figma link (static image inside flow for reference) →
Note: the implemented image should have a max width of 240px (see Figma for reference), which is a smaller width than the exported Lottie - let's scale it in code.
Toni Handoff Notes
Based on progress at PR https://github.com/wikimedia/wikipedia-ios/pull/5995
This work has not been done. While this animation is running, it may be a good idea to make these calls in WMFHomeDataController:
- fetchForYou (don't force fetch)
- fetchCommunity (don't force fetch)
We won't be doing anything with the data for this view, but it will be enough to hydrate the cache, so that the Community and For You data loads almost immediately when this animation is dismissed.
Eng notes
- Need to install Lottie to work with JSON animation