== OVERVIEW
==== Background
Currently there is very little customization or personalization [1] available to the Explore feed.
Moreover, users are currently placed into feed as the main view after only a brief onboarding screen, with no guidance on how the content is derived and the extent to which they can tailor the reading experience. [2]
=== User story
When I browse the feed in the Wikipedia app, I want to see only content that I have interest in so that I can easily find things I like to read without being distracted by irrelevant noise.
==== Hypothesis
By providing customization options to users, we increase their sense of ownership and investment in maintaining their own tailored feed, which will increase utility of the Explore feed for more users.
==== How would we like users to solve this problem or discover this solution?
- Providing customization options for new app installations during onboarding
- Promote the customization feature via 'announcement' cards on the feed
- Provide periodical prompts on the feed to to access customization options when users take action to hide content
==== How do we know we’ve been successful?
- Usage of customization features
- Higher PVs from content in customized feeds
- Positive user feedback
== PROPOSED SOLUTION
This task focuses on the following content customization features:
(a) Show/Hide content types on the feed
(b) Prioritizing specific types of content for those that do use the feed (ie., ordering of content types)
=== STEPS (QA required {icon check color=green})
# User sees the customization promoted as card on the feed, and taps on the card to view feed customization screen
# User hides all card types except for Random and Today on Wikipedia, then and re-orders the remaining visible cards
# It is **expected** that upon returning to the feed, their choices are reflected in the new feed displayed (whereby Random and Today are only shown once).
# User taps on the overflow menu on a card and selects the new option to "customize feed". It is **expected** that they will be taken back to the feed customization screen where they select to show the "Featured article" card type.
# It is **expected** that upon returning to the feed, their choices are reflected in the new feed displayed (whereby Featured articles are shown daily, Random is shown every 3 days, and Today is only shown once). User swipes left on a Featured article card to dismiss it. After the <third> card of this type is dismissed this way, user is presented with an option to 'customize' the feed to not show the "Featured article" type of card.
# User taps on the Explore feed overflow and taps on the "Customize your feed" option
# Within the customize your feed option, they tap on 'Restore to default'. It is **expected** that upon returning to the feed the default display of cards will be restored.
=== Design components
**1. Customization screen**
Introduce a UI allowing users to show/hide content types, and to re-order content types.
| Default view {F10964245} | With overflow to restore the default view, as well as to select or deselect all {F10964248}
// View [[ https://zpl.io/bLLK4y7 | Zeplin board ]] for redline mocks tagged with "Customize" //
**2. Customization prompts in feed content**
Show a menu option to go to customize feed content when users tap on the overflow on feed cards
Separated into task T180843
**3. Promote customization on the feed**
Separated into task T181147
**4. Update messaging during app onboarding to promote new feed features including customization **
Separated into task T181149
**5. Add 'smart' prompts to customize feed based on user behavior**
Separated into task T181153, likely for V2
____
=== ENHANCEMENTS / V2 PROPOSALS FOR FURTHER CUSTOMIZATION
// Filed as separate tasks //
- T160567 - Allow users to show content in multiple languages
- T181157 - Allow users to choose categories/topics of interest to include in the feed
- T181158 - Change frequency of user-selected content types (Provide more granular options to hide feed content //**within the feed**// (one-time dismissal → show me less → hide this type of card)
____
=== REFERENCES===
[1] 'Personalization' is differentiated from 'Customization' in that Personalization is enacted by the **system** being used (based on data collected on user actions by that system); whereas customization is any change made by the **user** in tailoring their experience.
See more on Schade, A., ‘Customization vs. Personalization in the User Experience’, Nielsen Norman Group [online article], 10 July 2016, https://www.nngroup.com/articles/customization-personalization/, accessed Oct 11 2016.
[2] More background info in this comparative review of customization features https://goo.gl/Aow7Xp