MDN/Development/Google Summer of Code 2013: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 9: Line 9:
Some of these features could be taxing on the server-side. Even the [https://developer.mozilla.org/dashboards/revisions Revision Dashboard] is having trouble with this. We will need to keep this in mind during implementation.
Some of these features could be taxing on the server-side. Even the [https://developer.mozilla.org/dashboards/revisions Revision Dashboard] is having trouble with this. We will need to keep this in mind during implementation.


== Design Proposals ==
== Design Proposal ==


=== Design Proposal 1 ===
=== 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


==== Visual Design ====


http://i.imgur.com/FTwtYFV.png
http://i.imgur.com/FTwtYFV.png


==== Description of Behavior ====
=== 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.


''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
# P0: Absolute requirement
* P1: Must have
# P1: Must have
* P3: Nice to have
# P2: Nice to have
* P4: Optional
# P3: Completely optional


===== UX and design concerns =====


The proposed mockup is only a functional mockup used to show off all the expected functionalities. 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:
; 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.


# 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.
== Prior art ==
# The second line contain two sections:
## On the left: a select 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 to the user choices.


===== List of behaviors =====
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.


; 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 locale are displayed in the list of documents. Only one locale can be picked at a time.
* [https://support.mozilla.org/en-US/contributors SUMO Knowledge Base Dashboard]
; 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, and then to allow users to filter the displayed documents based on which document is flagged (ie. if a user pick "editorial review" in the flags list, only documents 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 in the process to be 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 : The ''view'' option allow to select pages that required specific action base on their states. ''Page to update'' represent all the localized documents with their last update date older than their related English document last update date.
; P1 - View // Page to translate : ''Page to translate'' represent all documents without any translation for the locale picked by the user or all the documents without any translation if no locale were picked.
; P2 - View // Localization request : This represents English documents flagged by users to request a translation. It requires to update English pages to allow user to ask for localization, maybe some kind of a vote button. On the dashboard, only request for the locale picked by the user are display. If no locale were picked, all documents with a translation request are displayed.
; P0 - Order // Oldest local or English first : It is required to be able to order the documents by their last update date. This should be done by the update date of the localized documents or by the update date of the original English document. Ascendant and descendant order are necessary, but the default order should be the descendant order (from the oldest first to the newest last).
; P1 - Order // Largest time difference first : This allow to order the documents based on the difference between the last update date of the localized version and the last update of the original English version. It allows users to know which localized documents urgently need update.
; P2 - Order // Most visited first : This order is based on the number of visit on the English document.
; P3 - Order // Most voted first : This allows to order documents based on the number of localization request (see above).
; P3 - Order // Highest corporate priority first : This allows to order documents based on the priority define by Mozilla. It requires to update the Kuma admin tools to let the site administrator to define those priorities on behalf of Mozilla.
; P3 - Difficulty : The values of the ''Difficulty'' column is an hint to let users know how hard it is to perform a translation. It should be algorithmically determined. For example, longer content should be considered more difficult, less technical information should be considered more easy, etc. The exact rules needs to be determine.
; P3 - Progress bar : The progress bar is a way to display the current state of MDN localization (if no locale picked) or of a given locale. The states displayed are: The total number of document to localized (The number of English documents available multiplied by the number of locale picked: all or one); the number of document actually localized and up to date for the local picked (or from all locale if none is picked); the number of document actually localized and out of date (or in the process of being localized) for the local picked (or from all locale if none is picked).

Latest revision as of 00:49, 18 June 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 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.