Gaia/Settings: Difference between revisions

(up)
 
(107 intermediate revisions by 10 users not shown)
Line 1: Line 1:
The Settings app is the central location for a user to manage the majority of preferences for the phone. This includes the Core Apps as well as installed 3rd party apps and their system related settings3rd party settings that are app specific (i.e. sounds effects, etc.) will live with in the app itself.
== 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 ==
For the latest UX specifications, please visit [https://mozilla.app.box.com/s/43hu91p51oxh1lv4t8mr Box]
or [https://drive.google.com/a/mozilla.com/#folders/0Bx_3KVci6YdObHpoQWh2NUp3V28 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:
 
* 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==
 
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 ==
 
<bugzilla>
    {
        "product":"Firefox OS",
        "component":["Gaia:Bluetooth", "Gaia::Settings"],
        "cf_feature_b2g":"2.5+",
        "cf_feature_b2g_type":"contains",
        "include_fields": "id, component, summary, status, resolution, assigned_to, depends_on, blocks, whiteboard, cf_blocking_b2g"
    }
</bugzilla>
 
== 2.5 Nomination Dashboard ==
 
<bugzilla>
    {
        "product":"Firefox OS",
        "component":["Gaia:Bluetooth", "Gaia::Settings"],
        "status":["FIXED", "UNCONFIRMED", "NEW", "ASSIGNED", "REOPENED"],
        "cf_blocking_b2g":"2.5?",
        "cf_blocking_b2g_type":"contains",
        "include_fields": "id, summary, status, resolution, assigned_to, depends_on, blocks, whiteboard, cf_blocking_b2g"
    }
</bugzilla>
 
==v2.2 Roadmap==
 
* Architecture:
**Bluetooth API v2.0 panel refactor - {{bug|1074075}}
**Bluetooth API v2.0 system - {{bug|1072721}}
**Bluetooth APP AMD
**Panel refactor - {{bug|973432}}
**Settings Panel Isolations
**Settings dialog - {{bug|1055897}} (done)
**inline activity - {{bug|1007600}} (done)
 
*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
 
*Features:
**RTL support - {{bug|1071891}}
**App manager - {{bug|1095330}}
**Media storage UX refresh - {{bug|1100797}}
**SIM PIN access when locked - {{bug|1071439}}
**Standalone STK App - {{bug|869745}}
**Standalone Downloads App
 
*Peripheral:
** GATT client/server demo app (blocked by Bluetooth API v2.0)


== Status ==
* Feature Name: Gaia Settings App
* Stage: Development
* Release Target: M3 Alpha


== Use Cases ==
== Use Cases ==
Line 26: Line 179:
**Browser data
**Browser data


== App Requirements ==
;Gaia v1
*Settings is broken out into key categories:
**Device settings
***Sounds
***Display/Brightness
***Wallpaper
***Storage/Usage
***Apps (Core + 3rd party)
**Network settings
***WiFi
***Bluetooth
***GPS
***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
== Requirements ==
*Settings to add post-v1 (categories non-specific)
=== Gaia v1 ===
**Accessibility (vision + hearing)
*'''Device settings'''
**NFC
**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
*Persona Cloud storage
**Email settings
**Email settings
Line 77: Line 230:
**Browser data
**Browser data


== UX Design Specs ==
== Security Review ==
*IxD v1: in progress
The security review of this app can be found [https://wiki.mozilla.org/Security/Reviews/Gaia/settings here].
*VisDe v1: in progress

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.