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

From MozillaWiki
Jump to navigation Jump to search
No edit summary
 
(10 intermediate revisions by 2 users 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 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:
; 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: 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 =====
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 local 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 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.

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.