This task is about adding the user's experience of the suggested edits module itself. This task may be too large, and we should make sub-tasks if necessary.
**Note on platforms**: all these specifications will need to apply to both desktop and mobile. During the time that explicit mockups for mobile are not available, engineers should use their judgment to build mobile versions. Those initial builds can be modified later as the mobile designs are finalized.
* **The module consists of these elements:**
** Difficulty filter
** Topic filter (ticketed separately)
** List of tasks
** Task feed interface
** Task explanation
** Footer
* **Difficulty filter** (T235042)
* **Topic filter**
** This module will also contain a topic filter, ticketed separately.
* **Other filters**
** No protected articles should be shown, at any level of protection.
** No articles should be shown that are nominated for deletion. Specific templates for our target wikis are listed [[ https://docs.google.com/spreadsheets/d/1Zgat_KdCSqvAIaP3A8RB7OP9yEEveDuqbo3kfSCFnAc/edit#gid=1487245771 | in this spreadsheet ]].
* **List of tasks**
** Recommendations are drawn from articles that are tagged with a maintenance template/category. [[ https://docs.google.com/spreadsheets/d/1Zgat_KdCSqvAIaP3A8RB7OP9yEEveDuqbo3kfSCFnAc/edit#gid=213535649 | This worksheet contains the listing ]]. Here are some notes:
*** For each wiki, a certain set of specific templates/categories are specified, and they are assigned to a higher level task type, such as “Copy editing” or “Adding links”.
*** Some rows have a maintenance template and category, and some have just a template or just a category.
*** The list also contains an approximate count of how many articles should fall into each maintenance/category, which will hopefully be useful for checking to make sure the right maintenance/category is actually being used.
*** The following list is the mapping of task types to difficulty levels.
**** Links = Easy
**** Copy edit = Easy
**** Update = Medium
**** References = Medium
**** Expand = Hard
*** If an article has multiple maintenance categories/templates, it should only be counted once in the list showed to the user. The list from the bullet above should also be used to show the order of preference of how the article is counted. For instance:
**** If an article has both the "Links" and "Copy edit" templates, and the user has selected the "Links" and "Copy edit" checkboxes, the user should see the article in the list once, as a "Links" article. But if they have only selected the "Copy edit" checkboxes, the user should see the article in the list once, as a "Copy edit" article.
**** If an article has both the "Copy edit" and "Update" templates, and the user has selected the "Copy edit" and "Update" checkboxes, the user should see the article in the list once, as a "Copy edit" article. But if they have only selected the "Links" and "Update" checkboxes, the user should see the article in the list once, as an "Update" article.
** Filtering by difficulty
*** The recommendations should be filtered to articles that have any of the maintenance templates/categories that correspond to the task types specified in the difficulty filter.
*** When presented to the user, the articles should be sorted randomly, to decrease how often different users sees the same articles.
* **Task feed interface** ([[ https://wikimedia.invisionapp.com/share/FUTVMSLV24X#/screens/383491464 | desktop mockup ]] and [[ https://wikimedia.invisionapp.com/share/2TU9L4HJAKW#/screens/387511042 | mobile mockup ]])
** The tasks are shown to the user one at a time as a card that includes:
*** Image from the article (or placeholder image)
*** Article title
*** Beginning of the text
*** Number of pageviews in past 60 days
** Above the card is shown how many tasks there are with the current filter settings and which number task the user is looking at, e.g. "1 of 194 matching suggestions". We should cap this at 200. In other words, no filter configurations should yield more than 200 suggestions.
** The user can click arrows to pass back and forth across the list. On the first card, the left arrow is grayed out and not clickable.
** Note: the "X" in the upper right of the cards shown in the mockups is not required for the first version. It is ticketed separately in T232899.
** When the user gets to the last card in the list, they can click the right arrow one more time, and then they see an area that says something like, “Change the filter settings to find more tasks.” along with a graphic. (T235043)
** If the user's filter settings yield no tasks, they should see an area that says something like, "Change the filter settings to find more tasks." along with a graphic. (T235044)
** When the user clicks a card, they go to the article from the card.
* **Task explanation** (T235046)
* **Footer**
** The bottom of the module should have a footer that reads, "Other users have noted these articles need work. Help make <Wiki project> better for its <#> readers each month.
** <Wiki project> should contain the project name, like "Czech Wikipedia" or "French Wiktionary".
** The number of readers each month should come from unique devices. It should be rounded in a reasonable way. Perhaps if under 1 million, it should be rounded to the nearest hundred thousand, and if over a million, rounded to the nearest million. Then displayed with an abbreviation like 400k or 4 million. This could be an average of months across the last year, the most recent month, or something along those lines.
Below is a list of non-engineering items that need to be complete before this task is complete, but that do not block engineering:
[v] Lay out the exact templates and categories from which we'll source tasks in Arabic, Czech, and Korean Wikipedias, along with their task type and the difficulty levels of each task type.
[v] Add mobile designs.
[v] Collect deletion templates
[v] Finalize copy
[v] Decide hierarchy of which task types to prefer if an article has more than one maintenance template/category.