MDN/Development/Google Summer of Code 2013
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 Proposals
Design Proposal #1
Visual Design
Description of Behavior
Note: Behavior are prioritized in a functional point of view along the following scale. It does not guess about the actual technical difficulty to implement it.
- P0: Absolute requirement
- P1: Must have
- P2: Nice to have
- P3: Completely optional
UX and design consideration
The proposed mockup is only a functional mockup used to show off all the expected functionality. The design doesn't need to be stick to it as long as the functionalities remain available as define below. This mock up is divide as follow:
- The first line of options represents a set of filters that allows the user to reduce the number of documents display on the list of document.
- The second line contain two sections:
- On the left: An order box to choose the order used to display the list of documents;
- On the right: a progress bar that give a quick overview of the current state of the localization
- The third part is the list of documents filtered and ordered accordingly with the user choices.
List of behaviors
- P0 - Locale
- This allows the user to pick a given local to work on. If no locale is picked, documents from all locales are displayed in the list of documents. If one locale is picked, only the documents from that local are displayed in the list of documents. Only one locale can be picked at a time.
- P0 - Topic
- This allows the user to choose a given area of MDN to work on. A topic is actually a filter based on the URL schema. If the user choose /HTML/ the list of documents displays only documents with their URL starting by https://developer.mozilla.org/en-US/docs/HTML/ or https://developer.mozilla.org/???/docs/HTML/ where ??? is the local picked by the user (if any). This allows users to pick area in English as well as on their favorite locale. For example /HTML/Forms in English or /HTML/Formulaires in French.
- P1 - Flags // Review flags
- Flags are special information users can add to a document while editing it. Currently, such flags are available in English only. When editing a page in English, there are two check box at the bottom of the page, one for requesting an editorial review and one to request a technical review. The idea is to make those two check boxes also available in the localized documents then to allow users to filter the displayed document based on which document is flagged (ie. if a user pick "editorial review" in the flags list, only document that were flagged as such by users will be displayed in the list of documents). Note that those two check box should be checked by default when a user start a translation. The idea behind that feature is to make easy for contributors who do not have time to make a full translation to be able to at least perform some review on contents (editorial: spelling and grammar; or technical: code sample and technical vocabulary).
- P2 - Flags // Localization in progress
- The idea is to add a new flag on localized document that state that a document is currently being localized. There are two objectives behind this flag: First, make sure that unfinished translations are marked as such to the users who read the doc; Second, allows users to find them on the localization dashboard to pick and finish discontinued translations.
- P3 - Flags
- Make possible to select several flags at the same time.
- P1 - View // Page to update
- tbd.
- P1 - View // Page to translate
- tbd.
- P2 - View // Localization request
- tbd.
- P0 - Order // Oldest local or english first
- tbd.
- P1 - Order // Largest time difference first
- tbd.
- P2 - Order // Most visited first
- tbd.
- P3 - Order // Most voted first
- tbd.
- P3 - Order // Highest corporate priority first
- tbd.
- P3 - Difficulty
- The values of the Difficulty column should be algorithmically determined. For example, longer content should be considered more difficult, less technical information should be considered more easy, etc.