Gaia/Settings: Difference between revisions

(up)
(up)
 
(33 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Development ==
* [https://github.com/mozilla-b2g/gaia/tree/master/apps/settings Source code on Github]
* Worth to solved issues: [https://bugzilla.mozilla.org/buglist.cgi?j_top=OR&f1=cf_tracking_b2g&list_id=12538044&o1=substring&resolution=---&classification=Client%20Software&o2=substring&query_format=advanced&f2=cf_tracking_b2g&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&v1=%20%2B&component=Gaia%3A%3ASettings&v2=backlog&product=Firefox%20OS backlog] Pick one to start contribute!
* [https://bugzilla.mozilla.org/buglist.cgi?component=Gaia%3A%3ASettings&list_id=12513771&product=Firefox%20OS&query_format=advanced&resolution=---&order=bug_id&limit=0 All settings bugs in bugzilla]
* [https://github.com/mozilla-b2g/gaia/commits/master/apps/settings Recent gaia commits]
* [https://raptor.mozilla.org/dashboard/script/measures?var-device=flame-kk&var-memory=512&var-branch=master&var-test=cold-launch&panelId=11&fullscreen performance metric]
Reviewer:
If you have a Settings patch, Please set review to following maintainers:
* :gasolin
* :yzen
== Design Specs ==
== Design Specs ==
For the latest UX specifications, please visit [https://mozilla.app.box.com/s/43hu91p51oxh1lv4t8mr Box]
For the latest UX specifications, please visit [https://mozilla.app.box.com/s/43hu91p51oxh1lv4t8mr Box]
Line 5: Line 18:
Bluetooth related specs and plan are tracked in https://wiki.mozilla.org/Gaia/System/Bluetooth
Bluetooth related specs and plan are tracked in https://wiki.mozilla.org/Gaia/System/Bluetooth


== Bug Queries ==
==v2.6 Roadmap==
*[https://bugzilla.mozilla.org/buglist.cgi?f1=OP&o3=equals&list_id=11542175&f0=OP&v3=%2B&j2=OR&classification=Client%20Software&f4=CP&query_format=advanced&f3=cf_tracking_b2g&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&f5=CP&component=Gaia%3A%3ASettings&product=Firefox%20OS tracking-b2g+]
 
* [https://bugzilla.mozilla.org/buglist.cgi?component=Gaia%3A%3ASettings&list_id=12513771&product=Firefox%20OS&query_format=advanced&resolution=---&order=bug_id&limit=0 All settings bugs in bugzilla]
* Features:
 
* Change:
** Bug 1182837 - [meta] the Settings menu list is too long
 
* Architecture:
** remove Bluetooth v1 API (DONE)
** GIP to GIJ Integration Test Conversion (DONE)
 
* UX improving work:
 
* Planning https://public.etherpad-mozilla.org/p/settings
 
== 2.6 Features Dashboard ==
 
<bugzilla>
    {
        "product":"Firefox OS",
        "component":["Gaia:Bluetooth", "Gaia::Settings"],
        "cf_feature_b2g":"2.6+",
        "cf_feature_b2g_type":"contains",
        "include_fields": "id, component, summary, status, resolution, assigned_to, depends_on, blocks, whiteboard, cf_blocking_b2g"
    }
</bugzilla>
 
== 2.6 Blocker Dashboard  ==
 
<bugzilla>
    {
        "product":"Firefox OS",
        "component":["Gaia:Bluetooth", "Gaia::Settings"],
        "cf_blocking_b2g":"2.6+",
        "cf_blocking_b2g_type":"contains",
        "include_fields": "id, component, summary, status, resolution, assigned_to, depends_on, blocks, whiteboard, cf_blocking_b2g"
    }
</bugzilla>
 
== 2.6 Nomination Dashboard ==
 
<bugzilla>
    {
        "product":"Firefox OS",
        "component":["Gaia:Bluetooth", "Gaia::Settings"],
        "status":["FIXED", "UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED"],
        "cf_blocking_b2g":"2.6?",
        "cf_blocking_b2g_type":"contains",
        "include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks, whiteboard, cf_blocking_b2g"
    }
</bugzilla>


==v2.5 Roadmap==
==v2.5 Roadmap==
Setting 2.5 changes mindmap (from Feb to Nov) https://coggle.it/diagram/Vj4c-zCrecoFNf95/a22dc77de69319bab824d4f1850d4693ccfdcf88e04471e5458f0b3dd306d21b


* Features
* Features
**New Home Screens manager {{bug|1180666}}
**New Home Screens manager {{bug|1180666}} (DONE)
** New Security/Permission related Panels
** New Security/Permission related Panels {{bug|1207717}}
*** App & Websites
*** Tracking Protection
*** Permissions
** Firefox Sync configuration panel {{bug|1168185}} (DONE)
*** Privacy
*** History & Stored Data
** Firefox Sync configuration panel {{bug|1168185}}
**Support options for building settings app on various form factors.
**Support options for building settings app on various form factors.
* Change:
* Change:
**User can only switch MTP/UMS when USB disabled {{bug|1194045}}
**User can only switch MTP/UMS when USB disabled {{bug|1194045}} (DONE)
**Bug 1166495 - [Settings][Screen lock] Passcode lock screen transition animation flows in the wrong direction (DONE)
* Move subpanel styles from settings.css to app.css
* Move all rootpanel handler to panels/root
 
* Architecture:
* Architecture:
**CSS refactor with web components
**CSS refactor with web components (gaia-checkbox, gaia-ratio, gaia-switch) and clean related CSS (DONE)
**Update Settings to be ready for L10n API v3 - {{bug|1187668}} (DONE)
**Update Settings to be ready for L10n API v3 - {{bug|1187668}} (DONE)
**Bluetooth API v2.0 panel refactor - {{bug|1074075}} (DONE)
**Bluetooth API v2.0 panel refactor - {{bug|1074075}} (DONE)
Line 30: Line 95:
**Panel refactor - {{bug|973432}}
**Panel refactor - {{bug|973432}}


* Planning https://etherpad.mozilla.org/settings
* UX improving work
** improve user satisfaction by addressing foxfooding requests
** revisit specs and implement remaining UX inconsistencies
*** Bug 1088450 -  improving Bluetooth transfer messages (DONE)
** identify good first bugs & backlogs


== 2.5 Features Dashboard ==
== 2.5 Features Dashboard ==
Line 40: Line 109:
         "cf_feature_b2g":"2.5+",
         "cf_feature_b2g":"2.5+",
         "cf_feature_b2g_type":"contains",
         "cf_feature_b2g_type":"contains",
        "include_fields": "id, component, summary, status, resolution, assigned_to, depends_on, blocks, whiteboard, cf_blocking_b2g"
    }
</bugzilla>
== 2.5 Blocker Dashboard  ==
<bugzilla>
    {
        "product":"Firefox OS",
        "component":["Gaia:Bluetooth", "Gaia::Settings"],
        "status":["UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED"],
        "cf_blocking_b2g":"+",
        "cf_blocking_b2g_type":"contains",
         "include_fields": "id, component, summary, status, resolution, assigned_to, depends_on, blocks, whiteboard, cf_blocking_b2g"
         "include_fields": "id, component, summary, status, resolution, assigned_to, depends_on, blocks, whiteboard, cf_blocking_b2g"
     }
     }
Line 63: Line 119:
         "product":"Firefox OS",
         "product":"Firefox OS",
         "component":["Gaia:Bluetooth", "Gaia::Settings"],  
         "component":["Gaia:Bluetooth", "Gaia::Settings"],  
         "status":["UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED"],  
         "status":["FIXED", "UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED"],  
         "cf_blocking_b2g":"2.5?",
         "cf_blocking_b2g":"2.5?",
         "cf_blocking_b2g_type":"contains",
         "cf_blocking_b2g_type":"contains",
Line 102: Line 158:
** GATT client/server demo app (blocked by Bluetooth API v2.0)
** GATT client/server demo app (blocked by Bluetooth API v2.0)


== Settings Blocker 2.2 Dashboard  ==
<bugzilla>
    {
        "product":"Firefox OS",
        "component":["Gaia::Settings"],
        "status":["UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED"],
        "cf_blocking_b2g":"2.2+",
        "cf_blocking_b2g_type":"contains",
        "include_fields": "id, component, summary, status, resolution, assigned_to, depends_on, blocks, whiteboard, cf_blocking_b2g"
    }
</bugzilla>
== Settings Nomination 2.2 Dashboard ==
<bugzilla>
    {
        "product":"Firefox OS",
        "component":["Gaia::Settings"],
        "status":["UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED"],
        "cf_blocking_b2g":"2.2?",
        "cf_blocking_b2g_type":"contains",
        "include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks, whiteboard, cf_blocking_b2g"
    }
</bugzilla>


== Use Cases ==
== Use Cases ==
Line 199: Line 229:
**Permissions (per app/client)
**Permissions (per app/client)
**Browser data
**Browser data
== Development ==
[https://github.com/mozilla-b2g/gaia/tree/master/apps/settings Source code on Github]
[https://github.com/mozilla-b2g/gaia/commits/master/apps/settings Recent Change]
[http://raptor.mozilla.org/#/dashboard/script/apps.js?device=flame-kk&branch=master&memory=319&series=coldlaunch.*&panelId=11&fullscreen performance metric]


== Security Review ==
== Security Review ==
The security review of this app can be found [https://wiki.mozilla.org/Security/Reviews/Gaia/settings here].
The security review of this app can be found [https://wiki.mozilla.org/Security/Reviews/Gaia/settings here].

Latest revision as of 03:23, 1 December 2015

Development

Reviewer:

If you have a Settings patch, Please set review to following maintainers:

  • :gasolin
  • :yzen

Design Specs

For the latest UX specifications, please visit Box or Dropbox

Bluetooth related specs and plan are tracked in https://wiki.mozilla.org/Gaia/System/Bluetooth

v2.6 Roadmap

  • Features:
  • Change:
    • Bug 1182837 - [meta] the Settings menu list is too long
  • Architecture:
    • remove Bluetooth v1 API (DONE)
    • GIP to GIJ Integration Test Conversion (DONE)
  • UX improving work:

2.6 Features Dashboard

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


2.6 Blocker Dashboard

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


2.6 Nomination Dashboard

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


v2.5 Roadmap

Setting 2.5 changes mindmap (from Feb to Nov) https://coggle.it/diagram/Vj4c-zCrecoFNf95/a22dc77de69319bab824d4f1850d4693ccfdcf88e04471e5458f0b3dd306d21b

  • Features
    • New Home Screens manager bug 1180666 (DONE)
    • New Security/Permission related Panels bug 1207717
      • Tracking Protection
    • Firefox Sync configuration panel bug 1168185 (DONE)
    • Support options for building settings app on various form factors.
  • Change:
    • User can only switch MTP/UMS when USB disabled bug 1194045 (DONE)
    • Bug 1166495 - [Settings][Screen lock] Passcode lock screen transition animation flows in the wrong direction (DONE)
  • Move subpanel styles from settings.css to app.css
  • Move all rootpanel handler to panels/root
  • Architecture:
    • CSS refactor with web components (gaia-checkbox, gaia-ratio, gaia-switch) and clean related CSS (DONE)
    • Update Settings to be ready for L10n API v3 - bug 1187668 (DONE)
    • Bluetooth API v2.0 panel refactor - bug 1074075 (DONE)
    • Bluetooth API v2.0 system - bug 1072721 (DONE)
    • Bluetooth APP AMD (DONE)
    • Panel refactor - bug 973432
  • UX improving work
    • improve user satisfaction by addressing foxfooding requests
    • revisit specs and implement remaining UX inconsistencies
      • Bug 1088450 - improving Bluetooth transfer messages (DONE)
    • identify good first bugs & backlogs

2.5 Features Dashboard

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


2.5 Nomination Dashboard

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


v2.2 Roadmap

  • Visual/UX:
    • Building block refresh
    • Consistency
    • Built in keyboard settings refinement (style)
    • Ringtone picker (style)
    • Toggle + description UI style
    • Cap letter for titles - bug 1073341
    • Cellular & Data settings UX refinement
    • Wifi API and UX refinement
  • Peripheral:
    • GATT client/server demo app (blocked by Bluetooth API v2.0)


Use Cases

  • In general, Tom is familiar with "settings" so he knows he should be able to set his preferences for many basic functions
  • Because B2G's settings are broken out into categories, it's easy for Tom to find what he needs to change
  • Tom has the ability to tweak the following categories (names are just examples):
    • Device settings
    • Network settings
    • System settings
    • User account settings
  • Tom's Persona account stores all of his data in the Mozilla cloud - his phone is 'smart' and stores the most important data:
    • Contacts
    • Apps (Core + 3rd party)
      • Email settings
      • Calendar settings
      • SMS DB
      • Photos
      • Browser settings/data
    • Phone settings
    • Permissions (per app/client)
    • Browser data


Requirements

Gaia v1

  • Device settings
    • Sounds
    • Display/Brightness
    • Wallpaper
    • Storage/Usage
    • Apps (Core + 3rd party)
  • Network settings
    • WiFi
    • Bluetooth
    • GPS/a-GPS (3rd party service needed)
    • Data usage
    • Airplane mode
    • Mobile settings
      • Connected Network
      • Roaming
      • APN
      • 3G/EDGE toggle option
      • IMEI/MAC address/ICCID
  • System settings
    • Date and Time
    • Keyboard
    • Notifications
    • International
    • Debug mode/Performance data
    • About
  • User account settings
    • Persona account
    • Security
    • Permissions
    • Cloud storage/restore
  • Persona Cloud storage
    • Apps in the cloud
    • Contacts in the cloud

Gaia v2

  • Accessibility (vision + hearing)
  • NFC
  • Persona Cloud storage
    • Email settings
    • Calendar settings
    • SMS DB
    • Photos
    • Browser settings/data
    • Phone settings
    • Permissions (per app/client)
    • Browser data

Security Review

The security review of this app can be found here.