MDN/Development/Google Summer of Code 2013

From MozillaWiki
Jump to: navigation, search

Project statement

Build a Localization Dashboard for the Mozilla Developer Network (MDN) to help contributors view localization progress and find articles that need to be localized. The dashboard should be somewhat similar to the existing Revision Dashboard. Over the course of the summer, the student should build a minimum viable product and work with the MDN team to iterate on it, making as many improvements as time allows.

Considerations

Performance

Some of these features could be taxing on the server-side. Even the Revision Dashboard is having trouble with this. We will need to keep this in mind during implementation.

Design Proposal

Visual Design

The mockup shown below is only meant to illustrate expected functionality. The final visual design does not need to be visually identical, as long as the functionality is roughly the same.

The major components of the mockup are as follows:

  • Top area: Filters that allow the user to reduce the number of documents displayed on the Dashboard
  • Middle area
    • Left side: A selection box to change document sorting and a progress bar which provides
    • Right side: A progress bar which provides an overview of localization progress
  • Bottom area: A list of documents, filtered and sorted according to the selected options


FTwtYFV.png

Features

Features are prioritized according to the following scale. Keep in mind that these priorities consider only business value, and are not adjusted for implementation difficulty.

  • P0: Absolute requirement
  • P1: Must have
  • P3: Nice to have
  • P4: Optional


P0 - Locale filter 
The user should be able to filter documents based on the locale he wants to work on. If a locale is selected, only documents from that locale should be shown. If no locale is selected, documents from all locales should be displayed. Only one locale should be able to be selected at a time.
P0 - Topic filter 
The user should be able to filter documents based on topic area. The topic area of a document should depend on its URL. For example, if the user chooses HTML, only documents with URLs starting like **https://developer.mozilla.org/[selected-locale]/HTML** should be shown.
P1 - Localized review flags and review flag filter 
While editing documents (currently only English documents) users can flag documents as needing editorial review or needing technical review. These options should be available in localized documents, checked by default. The user should also be able to filter the Localization Dashboard based on these flags.
P1 - "Localization in Progress" flag 
Localizers should be able to flag their work as being in progress. Users of the Localization Dashboard should also be able to filter based on this flag.
P3 - Multiple flag selection 
Users should be able to filter on several flags at the same time.
P1 - View > Pages to update 
The user should be able to filter documents based on whether they need to be updated. A localized document needs an update if its corresponding article has changed more recently than the localized version.
P1 - View > Pages to translate 
The user should be able to filter documents to show only English documents that are not already translated.
P2 - View > Localization request 
Users should be able to flag documents as being requested for translation. Users of the Localization Dashboard should also be able to filter based on these requests.
P0 - Order > Last update 
Users should be able to sort documents based on their last update. The default should be descending order (the oldest first, the newest last).
P1 - Order > Time difference
The user should be able to sort documents based on the difference between the last update of the English version and the last update of the localized version.
P2 - Order > Most visited 
The user should be able to sort documents based on which English ones are most visited.
P3 - Order > Most voted 
The user should be able to sort documents based on which ones have the most localization requests.
P3 - Order > Priority 
The user should be able to filter documents based on priorities set by Mozilla staff.
P3 - Order > Difficulty 
The user should be able to sort documents based on difficulty. Difficulty should be determined algorithmically. For example, longer content might be considered more difficult, or less technical information might be considered more easy.
P3 - Progress bar
A progress bar should be provided to display the current state of MDN localization. The progress bar should convey the total number of documents that need to be localized, the number of documents that are actually localized, and the number of localized documents that need to be updated.
P0 - Usable scrolling behavior 
The Revision Dashboard scrolls in a way that confuses users, and causes them to lose their place. The Localization Dashboard should scroll in a way that does not have these problems. The exact scrolling behavior remains to be determined. We should test different approaches (like pagination, infinite scrolling, and more) and see what works best.
P2 - Link to locale community page 
When filtering on a locale, the Localization Dashboard should link users to a community page for that locale. The page can be used to set priorities, coordinate efforts, and more. The community page will be created and maintained by the community -- the Localization Dashboard will just need to link to it.

Prior art

Features similar to the Localization Dashboard have already been built into other products. These features are provided here as inspiration for work done on the Localization Dashboard.