Mobile/Projects/Firefox Accounts with Sync 1.1 integration: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(83 intermediate revisions by 4 users not shown)
Line 4: Line 4:


== Goals ==
== Goals ==
The goal of this MVP release is primarily to provide an easy way for users to replicate ''their'' Firefox browser experience across any desktop, mobile or tablet screen. Broken down, this includes:
The goal of this MVP release is primarily to provide an easy way for users to replicate ''their'' Firefox browser experience across any desktop, mobile phone or tablet screen. Broken down, this includes:
* Introducing "Firefox Account" to Android users
* Introducing "Firefox Account" to Android users
* Providing a much-improved mechanism for sign-up and sign-in to a functional sync experience
* Providing a much-improved mechanism for sign-up and sign-in to a functional sync experience
Line 15: Line 15:
* Improve the sign-up and sign-in flow for sync via Firefox Accounts (username & password)
* Improve the sign-up and sign-in flow for sync via Firefox Accounts (username & password)
* Promote sync in-product and in product marketing materials
* Promote sync in-product and in product marketing materials
* Only ONE flag day is allowed
* A strong push to target only one flag day (user intervention)
** Applicable for current users of sync and new users of Firefox Accounts integrated with current sync
** Applicable for current users of sync and new users of Firefox Accounts integrated with current sync
** ie when 'new sync / next.sync' is available, no user action must be required
** This may not be entirely possible, but user intervention should be mitigated as much as possible to reduce barriers to further necessary migrations in the future


== Non-goals ==
== Non-goals ==
Line 27: Line 27:
* No explicit UX in Firefox for Windows 8 Touch (metro) - only classic Desktop will contain the UX for Firefox Account and Sync management
* No explicit UX in Firefox for Windows 8 Touch (metro) - only classic Desktop will contain the UX for Firefox Account and Sync management


== Common MVP - requirements ==
== MVP - requirements ==
=== General ===
===General===
* Users can create a Firefox Account
* {{mok}} Users can create a Firefox Account
* Users can delete their Firefox Account
* {{mok}} Users can delete their Firefox Account
* Firefox Account will enable the current Sync (v1.1) service
* {{mok}} Firefox Account will enable the new Sync (v1.5) service
* Users can sign in to their Firefox Account
* {{mok}} Users can sign in to their Firefox Account
* Users can sign out of their Firefox Account
* {{mok}} Users can sign out of their Firefox Account
* No support for federated accounts (although it is understood persona may be leveraged)
* No support for federated accounts  
* Current sync functionality must be supported, with the following being must-haves:
* Current sync functionality must be supported, with the following being must-haves:
** Bookmarks must be synced, with no requirement to manage bookmarks from the non-originating  
** {{mok}} Bookmarks must be synced, with no requirement to manage bookmarks from the non-originating  
** History must be synced (to make the awesomebar relevant) using the current sync algorithm for number of days we sync
** {{mok}} History must be synced (to make the awesomebar relevant) using the current sync algorithm for number of days we sync  
** Passwords must be synced to make the mobile experience that much tighter
** {{mok}} Passwords must be synced to make the mobile experience that much tighter
** Security standards must be adhered to in order to protect my saved passwords during syncing
** {{mok}} Security standards must be adhered to in order to protect my saved passwords during syncing '''as strong as your password vs. a randomly generated key.'''
** Add-ons must be synced between desktop machines only
** Add-ons must be synced between desktop machines only '''protocol is designed to do it for android, go to backlog (same as syncing prefs)'''
* ?? 'Clearing Private Data' in the Settings menu results in a new UX flow that educates users on what this means when a user has a Firefox Account that enables sync
* 'Clearing Private Data' in the Settings menu results in current, existing behaviour
** Give the choice to either delete : A) session data from 'my FxA that enables sync' so that it doesn't get synced across (and back again); or B) all of my data from 'my FxA that enables sync' ??
* {{mok}} 'Sync' as a name remains unchanged in the UI or corresponding materials
* 'Sync' as a name remains unchanged in the UI or corresponding materials


=== Set-up & Account Management ===
=== Set-up & Account Management ===
* When a user first installs Firefox, a prompt will be presented to create a Firefox Account to enable Sync
* When a user first installs Firefox, a prompt will be presented to create a Firefox Account to enable Sync
* Creation of a Firefox Account is via username (email address) and password
* {{mok}} Creation of a Firefox Account is via username (email address) and password
* Present to the user what data will be synced and how this relates to ''their'' Firefox experience
* {{mok}} COPPA requirements when creating a Firefox Account must be adhered to within the creation flow
** Provide an option for which sync data types can be synced before the initial sync begins, applied to the Firefox Account level and NOT on a per-device level
* {{mok}} Present to the user what data will be synced and how this relates to ''their'' Firefox experience
* Users must not be forced to set up a Firefox Account if they either wish to defer the setup experience or never sign up at all. In this case, the user must be able to continue using the browser as expected, but without any benefits to having a Firefox Account
**{{s}}Includes messaging what 'history' really means to the user and what benefit syncing history provides {{/s}}
**{{mok}} Provide an option for which sync data types can be synced before the initial sync begins, applied to the Firefox Account level and not on a per-device level
** https://wiki.mozilla.org/User_Services/Sync/Datatype_Selection_Fx29
* {{mok}} Users must not be forced to set up a Firefox Account if they either wish to defer the setup experience or never sign up at all. In this case, the user must be able to continue using the browser as expected, but without any benefits to having a Firefox Account
** This also means the user will not be able to benefit from sync - if a user wishes to set up sync, they can only do so via a Firefox Account come the introduction of Firefox Accounts
** This also means the user will not be able to benefit from sync - if a user wishes to set up sync, they can only do so via a Firefox Account come the introduction of Firefox Accounts
* Users with an existing current Sync account (2+ devices attached to existing sync) must still be able to continue using their sync account and handle their sync settings from their connected devices for a transition period (minimum 3 months from when outbound communication has begun)
* {{mok}} Users with an existing current Sync account (2+ devices attached to existing sync) must still be able to continue using their sync account using their existing connected devices for a transition period (minimum 3 months / 2 releases from when outbound communication has begun) '''we don't stop existing sync users for Fx29'''
* Users must be able to change their Firefox Account passwords
* {{mprop}} Users with an existing current Sync account (2+ devices attached to existing sync) should have a link somewhere that they can follow to explain what Firefox Accounts is and that it will be 'coming soon', given that upsell / migration will not be available to them until Fx30 '''<== how is this manifested? SUMO?'''
* Users must be able to reset their Firefox Account passwords
* {{mok}} Users must be able to change their Firefox Account passwords '''different from reset/forgot password flow'''
* For users who have not signed up to Firefox Account upon initial install, they may be notified or prompted to set one up in order to enable Sync
* {{mok}}Users must be able to reset their Firefox Account passwords '''<== this happens via https://accounts.firefox.com, not in-app quite yet'''
* For users who have not signed up to Firefox Account upon initial install, they must be able to initiate and complete the process from somewhere in the Menu
* {{mprop}} For users who have not signed up to Firefox Account upon initial install, they may be notified or prompted to set one up in order to enable Sync '''this looks like a Fx30 thing'''
* To support in-product promotion, a snippet must be able to point to a Firefox Account creation page for users who do not yet have a Firefox Account to enable Sync
* {{mok}} For users who have not signed up to Firefox Account upon initial install, they must be able to initiate and complete the process from somewhere in the Settings menu
* {{mok}} For users who do not have an existing sync account in Fx 29, be able to present a snippet in the promo banner advertizing and linking to the FxA account flow to enable sync
* {{mprop}} For users who have not signed up to Firefox Account or have existing sync enabled, present the ability to create an account to enable sync from the 'sync tabs' panel. NB - this is a nice-to-have in Fx 29.  '''there isn't a sync tabs panel for fx29, tracking Fx30'''


=== Existing sync ===
=== Existing sync ===
* By setting up Firefox Account on a desktop or Android device, users expect the sync experience to propagate across all attached instances where Firefox Account signed-in and used; including bookmarks, history (awesomebar results), passwords, ability to send open tabs, add-ons [between desktop instances only]
* {{mok}} Frequency of syncing should remain the same when we transition to the new account creation model '''this has actually improved for existing sync users on android'''
* Frequency of syncing should remain the same when we transition to the new account creation model


=== Detaching Sync ===
=== Detaching Sync ===
Line 69: Line 72:
=== Security/Encryption ===
=== Security/Encryption ===
* It is expected that synced data is encrypted securely along with their Firefox Account password
* It is expected that synced data is encrypted securely along with their Firefox Account password
* Security defaults should be moderate, with higher-level security options available for users who wish to emulate current sync security defaults
* Security defaults should be the same as per existing Sync 1.1 logic, with higher-level security options available '''data is as secure as your password, also could be open to phishing. Self-hosting and higher sec options are blockers for EOLing current sync. We need an optional secondary credential'''
* Stored website passwords should be kept, at default, at a higher security level (irrecoverable) than bookmarks and history (recoverable)
** Expected: all user data currently irrecoverable '''cannot recover password is plan of record'''
** Therefore by default, users must be able to recover their bookmarks and history if they have lost or forgotten their password, but it is expected that they will not be able to recover their website passwords


=== Performance & Stability ===
=== Performance & Stability ===
* In the event of service interruption to Sync, this must have no impact with current use of the browser
* <s> In the event of service interruption to Sync, this must have no impact with current use of the browser. </s>
* In the event of service interruption, all data that should be synced will sync once service is restored in a way that is seamless to the user and without degradation to browser usage
* {{done|}} In the event of service interruption, all data that should be synced will sync once service is restored in a way that is seamless to the user and without degradation to browser usage


== Desktop MVP - contextual user stories ==
=== Fx30 Migration ===
* We want to encourage existing Sync users to migrate to a Firefox Account, without harming the experience of existing users (defined as those who have 2+ devices attached to an existing sync account) who aren't ready to move for a minimum period of 3 months from when outbound communication has begun.
* There must be overlapping support for current sync accounts who haven't signed up to Firefox Account and to the new Firefox Account & sync v1.1 for a minimum period of 3 months from when outbound communication has begun


1. As a Firefox user, I want the "core" functionality of Sync to remain the same in every respect once a Firefox Account based registration scheme replaces the crypto-based registration scheme so that I can continue to experience the same benefits from Sync in the future as I do today.
* Wiki for migration information: https://wiki.mozilla.org/User_Services/Sync/Transition_To_FxA_Sync
 
  Acceptance criteria
  1. Any data that is syncable in current Sync will be syncable when we introduce accounts
  2. Any choices a user has to customize current Sync will be available when we introduce accounts
  3. A user will not detect any difference in performance of Sync today and performance of Sync after we introduce accounts
 
2. As a user who currently has a Sync account, I can choose to migrate to FxA/Sync after the release of 29 so that I can benefit from having an FxA.
  Acceptance criteria
  1.A user of current sync can find detailed instructions on a Mozilla web property for how to transition from current sync to FxA/Sync
  2.A user can follow those instructions to transition successfully from current Sync to FxA/Sync
  3.After that user has transitioned from current sync to FxA/Sync they will only be able to manage their Sync preferences by signing-in to their Firefox Account.
  4.After transition, the default views for this users will change from current Sync views to FxA/Sync views
 
3. As a user who is not signed-in to Sync when I upgrade to 29, I want to be able to set-up FxA/Sync so that I can benefit from Sync and FxA.
  Acceptance criteria
  1. As a user I can enter the FxA/Sync set up process by: A)Clicking a promotional snippet B)Clicking the Sync icon in the footer of the about:home our about:newtab page C)Selecting "Sync set up" from the Firefox Tools menu
 
4. As a product owner, I want to limit the amount of exposure that current sync users have to FxA/Sync, so that I can wait until we have a more streamlined transition flow before I more actively encourage them to transition. 
 
  Acceptance criteria
  1.Users who are signed into sync when the upgrade to 29 will see nothing different in their Sync preferences from what they see today until they transition to FxA
  2.Users who are signed into sync when they upgrade to 29 will not see promotional language offered in a Snippet on their about:home page that pushes them to transition to FxA until they transition to FxA.
 
5. As a product owner, I want to prevent current sync users from making any change to their current sync settings unless they upgrade to FxA so that I can simplify current sync maintenance requirements.
  Acceptance criteria
  1.Users who are signed into sync when they upgrade to 29 will not be able to change any setting in their Sync preferences or add a new device
  2.If these users attempt to change their settings or add a device they will be directed to transition to FxA
  3.Users who are signed into sync and using a version of Firefox that predates 29 will not be allowed to make any changes to their Sync preferences or add a new device
 
6. As a product owner I want to prevent a user who has not yet set up a Sync account from creating a current sync account after the release of 29 so that I can more easily transition all users to FxA/Sync over time.
  Acceptance criteria
  1. After the release of 29, no user, on any version of Firefox will be allowed to create a current Sync account
 
7. As a user I want to be able to change or reset my password so that I can continue to use Sync even if I forget my Firefox Account password.
 
  Acceptance criteria
  1.A user can access Firefox Account settings
  2.A user can choose to change or reset their password from the settings
 
8. As a user, I want to be able to sign-out of my Firefox Account so that I can decide to stop Syncing data on a particular client.
 
  Acceptance criteria
  1.A user can sign-out of her Firefox Account
  2.After the user has signed out of an account on a given client, no data will be shared with or from that client
 
9. As a user, I want to be able to sign-in to my Firefox Account so that I can decide to Sync data from a particular client if I have previously signed-out of that client.
 
  Acceptance criteria
  1.A user can sign-in to her Firefox Account
  2.After the user has signed-in to a particular client, data will resume syncing to/from that client
 
10. As a user, I want to create a Firefox Account so that I can use Sync to trade data across my Firefox clients.
 
  Acceptance criteria
  1.A user can create a Firefox Account
  2.A user can use their own email address and password of their choosing to create and account
 
11. As a user, I want to know how strong my chosen password is against security attacks so that I can determine the password strength I want.
  Acceptance criteria
  3.A user will see a "password strength" meter as they enter their password
 
12. As a user, if I am prompted to set-up Sync, I want the option to defer so that I can choose to use Firefox without creating a Firefox Account or setting up Sync.
  Acceptance Criteria
  1.If a user is prompted to set-up Sync, he can choose not to
  2.If the user wishes to set-up Sync at a later time, he can. 
 
13. As a product owner, I want to send a verification email to each email address provided by an account creator so that I can provide necessary notifications to the user in the future
 
  Acceptance Criteria
  1.Users will receive a verification email after they submit their email address and password
  2.This email will be sent to the address provided by the user during the account creation process
 
14. As a user, I want to be able to verify my email address and my desire to set up a Firefox Account by clicking a link in the verification email I received from Firefox
 
  Acceptance Criteria
  1. Users can open the verification email
  2.Users can click a link in the email to verify their email address
 
15. As a user, I want to know that my account has been verified after I click a link in my verification email so that I know I have completed the process of setting up an account
 
  Acceptance Criteria
  1.After a user clicks a verification link in the email received from Firefox email address they will see a web page declaring a success state
  2. This page will open in their default browser
  3. If the default browser is something other than Firefox, this user will be directed to open Firefox
 
 
16. As a user, I want the option to review the ToS and Privacy Policy so that I can make sure I’m comfortable providing my information to Mozilla.
 
  Acceptance criteria
  1.Users can link to the ToS from the “Create Account” page
  2.Users can link to the Privacy Policy form the “Create Account” page
  3.Both the ToS and PP will open in New Tabs if clicked
  4.A user may accept or decline the ToS and/or PP
  5.If a user declines the FxA creation flow is stopped
  6.If a user accepts, the FxA creation flow continues
 
17. As a user, after I have verified my email address I want to be able to access my Sync Preferences so that I can choose what data I want to share across clients and begin syncing
 
  Acceptance criteria
  1.Users can access Sync Preferences after they have verified their account
  2.Users can choose to “Start Syncing” from the Preferences page
  3.Users can select to share “Everything” and will begin syncing all possible data
  4.Users can further customize what they want to share by selecting from the following list
    *Bookmarks
    *History
    *Passwords
    *Tabs
    *Add-ons (b/w Desktops only)
    *Preferences (b/w Desktops only)
 
18. As a user I want to tell Firefox how old I am so that I can be cleared for COPPA restricted activities
  Acceptance criteria
  1.Users will be asked to provide their year of birth on the account set up page where they enter their email address and password
  2.If a user enters a year that indicates their age is less than 13 years old on the day they attempt to set up an account she will be denied a Firefox Account
  3.If a user enters a year that indicates their age is at least 13 years old on the day they attempt to set up an account she will be granted a Firefox Account
 
19. As a user who is not signed-into Sync, I want the onboarding experience for Firefox 29 to include a strong call to action to set up Sync so that I can begin to take advantage of Sync and the value of Firefox Accounts.
  Acceptance criteria
  1. Users who are not signed-into sync when they upgrade to Firefox 29 will experience an interactive onboarding experience
  2. This experience will include a strong call to action to set up Sync


== Firefox for Android MVP - contextual user stories ==
== Firefox for Android MVP - contextual user stories ==
NB: [AC] = acceptance criteria
=== Set-up & Account Management ===
=== Set-up & Account Management ===
* As a Firefox for Android user, I want the option of setting up a new Firefox Account when I first install Firefox, so I can sync my browser data between my devices.
* As a user, I want the option of setting up a new Firefox Account when I first install Firefox, so I can sync my browser data between my devices.
* As a user, I want a way to clearly understand what data Sync is actually Syncing, what that data means in terms of my browser functionality, and what happens to that data when I have logged out of my Firefox Account.
** AC 1.
* As a user, I want to set up a Firefox Account using an email address and password of my choice, so I am not required to use any particular third-party sign-in service - I am comfortable using an email address of  my choice for this purpose.
*** {{mok}} A new user installing Firefox for Android for the first time, there is at least one obvious entry point for setting up a Firefox Account that allows me to enable sync (whether from the promo banner or settings menu)
* As a user, I don't want to be forced to create a Firefox Account when I first start using Firefox, so I can start using the browser as quickly as possible once I've downloaded and installed it.
****ACTION: Set milestone for turning on promo banner. We need the banner to be intelligent until it has an API to talk to it so it knows that people have {{bug|917942}}
* As a user, I want all of my data (history, bookmarks, etc.) to be saved on my local machine whether or not I've set up a Firefox Account, so I am  still able to build up a collection of data and personalize my Firefox  experience over time.
* {{mok}} As a user, I want a way to clearly understand what data Sync is actually Syncing, <s> what that data means in terms of my browser functionality, and what happens to that data when I have logged out of my Firefox Account. </s>
* As a user, I want to be able to change the password for my Firefox Account data from any device that allows me to sign into my Firefox Account, so if someone does steal my  laptop or other mobile device they won't be able to access any ''new''  data that is added to my Sync Account, even though they will be able to  access the data that had been previously synced and is local on the  device.
** AC 1.
* As a user, I want to be able to reset the password for my Firefox Account data from any device that allows me to sign into my Firefox Account, so I can continue using my Firefox Account even if I have forgotten my password.
*** {<s> Well worded messaging around the relevance of 'history' is explained or reworded to better reflect the benefit (which is consolidating awesomebar results regardless of the screen used to visit a website) </s>
* As a user, I want to be prompted to create a Firefox Account when I first install my browser, but I want it to be easy to dismiss that prompt either forever (so I don't get bothered again), or to be reminded again later in a day or two (so I remember to look at it in more detail  another time).  I also want it to be very easy to get more details about what a Firefox Account is and why I would want it before I go through the process of creating one.
** AC 2.
* As a user, I want to be able to go into a settings menu to create my Firefox Account, so that I can set up it up in my own time.
*** <s> Messaging to inform the user prior to starting the initial sync to ensure 'no surprises' </s>
* As a user, when I select 'Clear Private Data' in my browser, I need to be educated on what my choices are in how it relates to my Sync functionality so that I don't inadvertently have the wrong expectations about its behaviour.
* {{mok}} As a user, I want to set up a Firefox Account using an email address and password of my choice, so I am not required to use any particular third-party sign-in service - I am comfortable using an email address of  my choice for this purpose.
** AC 1.
*** {{done|}} User can chose to use an email address of their choice
** AC 2.
*** {{done|}} User can chose whatever password of choice, provided it adheres to the security standard we wish to employ (password strength rules)
** AC 3.
*** {{mrisk}} If the password chosen does not adhere to Mozilla's password strength rules, messaging must be presented to the user clearly indicating the rules and allow them to try again
* {{done|}} As a user, I don't want to be forced to create a Firefox Account when I first start using Firefox, so I can start using the browser as quickly as possible once I've downloaded and installed it.
** AC 1.
*** {{done|}} In the FxA setup flow, users must be able to cancel out of the flow
** AC 2.
*** {{done|} If a user does not chose to initiate or complete the FxA creation flow, the user can still use the browser without any change in browser functionality EXCEPT that they cannot enable sync
* {{done|}} As a user, I want all of my data (history, bookmarks, etc.) to be saved on my local machine whether or not I've set up a Firefox Account, so I am  still able to build up a collection of data and personalize my Firefox  experience over time.
** AC 1.
*** No loss in current browser functionality in terms of storing history, passwords, etc whether a FxA has been created or not
* {{done|}} As a user, I want to be able to change the password for my Firefox Account data from any device that allows me to sign into my Firefox Account, so if someone does steal my  laptop or other mobile device they won't be able to access any ''new''  data that is added to my Sync Account, even though they will be able to  access the data that had been previously synced and is local on the  device.
** AC 1.
*** <s> There is an intuitive flow in the Settings / Sync menu that allows a user to change their FxA password </s>
** AC 2.
*** {{done|}} Once password change, other screens logged into FxA must prompt the user at the earliest possible stage to enter the new password
** AC 3.
*** {{done|}} Although current synced data cannot be undone, new data cannot be synced to other screens logged into FxA until the new password has been entered
* {{done|}} As a user, I want to be able to reset the password for my Firefox Account data from any device that allows me to sign into my Firefox Account, so I can continue using my Firefox Account even if I have forgotten my password.
** AC 1.
*** <s> There is an intuitive flow in the Settings / Sync menu that allows a user to reset their FxA password </s>
** AC 2.
*** {{done|}} Once password change, other screens logged into FxA must prompt the user at the earliest possible stage to enter the new password
** AC 3.
**{{done|}} * Although current synced data cannot be undone, new data cannot be synced to other screens logged into FxA until the new password has been entered
* {{mprop}} As a user, I want to be prompted to create a Firefox Account when I first install my browser, but I want it to be easy to dismiss with a prompt to dismiss either forever (so I don't get bothered again), or to be reminded again later.  I also want it to be very easy to get more details about what a Firefox Account is and why I would want it before I go through the process of creating one.
** AC 1.
*** {{mprop}} If there is a first-run experience to create a FxA upon initial browser install, users must be able to either complete the flow or dismiss the flow with no adverse effect in browser functionality EXCEPT that they cannot enable sync
** AC 2.
*** {{mprop}} Users can either be reminded later to set up a FxA or be able to dismiss the prompt forever
** AC 3.
*** {{mprop}} Any time a user is presented with a prompt to set up a FxA [in order to enable sync], clear and concise messaging must be provided as to the benefit of doing so before creating the account
* {{mprop}} As a user, I want to be able to go into a settings menu to create my Firefox Account [to enable sync], so that I can set up it up in my own time.
** AC 1.
*** {{mprop}} Users without an existing sync account can go into the Settings / Sync menu to create a FxA in order to enable sync
* {{mok}} As a product manager, I want to use the 'promo banner' real estate on the about:home default page to advertize the ability to create a Firefox Account to enable sync for new users only (not visible to users with an existing sync account) in Fx29 as a real ideal way of spreading the message in-product.
** AC 1.
*** {{mprop}} A snippet message can be displayed to a specific set of users (by geography, channel, Fx release) to encourage them to set up a FxA to enable sync
** AC 2.
*** {{mprop}} Tapping on the promo snippet takes the user to a FxA creation flow to enable sync
** AC 3.
*** {{mprop}} Existing sync users do not get this promo banner
** AC 4.
*** {{mprop}} Users who have created a FxA to enable sync do not get this promo snippet again
* As a user, I want to be able to go into the 'sync tab' panel and be presented with an option to create my Firefox Account to enable sync to serve as another entry point a user may stumble upon. NB this is a nice-to-have for Fx 29, otherwise can be moved to Fx 30.
** AC 1.
*** When a user taps the 'sync tab' in the tab tray, concise & clear messaging is provided about the benefits of creating a FxA to enable sync with a link taking the user to the account creation flow '''elan needs help on this'''
* {{done|}} As a user, my only option to enable sync is to create a FxA from Fx29 onwards.
** AC 1.
*** {{mprop}} Current existing sync sign-up and device pairing is no longer supported from Fx29
** AC 2.
*** {{mprop}} The only way to enable sync is by completing the FxA creation flow for new users
* {{done|}} As a user, I want to be able to verify my email address and my desire to set up a Firefox Account by clicking a link in the verification email I received from Firefox
** AC 1.
*** {{done|}} Users can open the verification email after completing the appropriate steps in the FxA creation flow
** AC 2.
*** {{done|}} Users can click a link in the email to verify their email address
* {{done|}} As a user, I want the option to review the ToS and Privacy Policy so that I can make sure I’m comfortable providing my information to Mozilla.
** AC 1.
*** {{done|}} Users can link to the ToS from the “Create Account” page
** AC 2.
*** {{done|}} Users can link to the Privacy Policy form the “Create Account” page
** AC 3.
*** {{done|}} Both the ToS and PP will open in a mobile-friendly format
** AC 4.
*** <s> A user may accept or decline the ToS and/or PP </s>
** AC 5.
*** <s> If a user declines the FxA creation flow is stopped </s>
** AC 6.
*** <s> If a user accepts, the FxA creation flow continues </s>
* {{done|}} As a user I want to tell Firefox how old I am so that I can be cleared for COPPA restricted activities. Birth Year only. 1990 and earlier for old foggies.
** AC 1.
*** {{done|}} Users will be asked to provide their year of birth on the account set up page where they enter their email address and password
** AC 2.
*** {{done|}} If a user enters a year that indicates their age is less than 13 years old on the day they attempt to set up an account she will be denied a Firefox Account. '''status:''' Times out for 15 minutes, or until browser is re-started.
** AC 3.
*** {{done|}} If a user enters a year that indicates their age is at least 13 years old on the day they attempt to set up an account, she will be granted a Firefox Account


=== Core existing sync user stories ===
=== Core existing sync user stories ===
* As  a user, I want to be able to pick up any new device and replicate '''my''' Firefox experience so I don't have to repeat a bunch of work I've already done on another device or computer.
* As  a user, I want to be able to pick up any new device and replicate '''my''' Firefox experience so I don't have to repeat a bunch of work I've already done on another device or computer.
* AWESOMEBAR & HISTORY - As a user with several devices, I want my core Firefox experience to be available on all devices, so I don't have to spend a lot of time rebuilding my awesomebar experience or other personalizations on each. (Equal to whatever parity with current Sync is in terms of # of days of  history.)
** AC 1.
* PASSWORDS - As a user, if I have typed in and stored a password in Firefox on one device or computer, I don't want to have to type and store that password again on any of my other devices so my web accounts & passwords are magically available on all of my devices (especially important so I don't make typing mistakes on my mobile and become frustrated!).
*** Any data that is supported by current sync must be supported by FxA+Sync1.1
* OPEN TABS - As a user, I want the option of syncing my tabs from other devices so  I can pick up where I left off when I switch to another device.  (current Sync behaviour). NB: not married to this use-case for MVP.
** AC 2.
* BOOKMARKS - As a user, I want all of my bookmarks to be synced across my devices,  although I don't expect full bookmark management tools on mobile devices.  Any bookmarks I create while on mobile devices should be put into a single "Mobile" (or similar) folder which is then synced.  Desktop bookmark organization & behaviour should not change and vice versa.
*** Screens I have signed in to FxA with the same credentials are all attached to the same sync profile so that the data is replicated across all linked machines
* As a user, I expect Firefox Sync to sync my data relatively frequently, but not instantly.
** AC 3.
*** Users cannot detect any performance differences between current sync and FxA+Sync1.5
* As a user with several devices, I want my core Firefox experience to be available on all devices, so I don't have to spend a lot of time rebuilding my top sites & awesome screen experience.
** AC 1.
*** History is synced by default, unless otherwise customized 'off' during FxA & Sync setup flow
** AC 2.
*** No perceptible change in syncing SLA from current sync to FxA+Sync1.1
* As a user, if I have typed in and stored a password in Firefox on one device or computer, I don't want to have to type and store that password again on any of my other devices so my web accounts & passwords are magically available on all of my devices (especially important so I don't make typing mistakes on my mobile and become frustrated!).
** AC 1.
*** In the setup flow, concise & clear messaging is provided about the benefits of syncing stored website passwords
** AC 2.
*** Passwords are synced by default, unless otherwise customized 'off' during FxA & Sync setup flow
* As a user, I want the option of syncing my tabs from other devices so  I can pick up where I left off when I switch to another device.   
** AC 1.
*** No change in current sync functionality in that users can send tabs between screens logged into the user's FxA
* As a user, I want all of my bookmarks to be synced across my devices,  although I don't expect full bookmark management tools on mobile devices.  Any bookmarks I create while on mobile devices should be put into a single "Mobile" (or similar) folder which is then synced.  Desktop bookmark organization & behaviour should not change and vice versa.
** AC 1.
*** Bookmarks are synced by default, unless otherwise customized 'off' during FxA & Sync setup flow
** AC 2.
*** Users cannot manage (ie delete, remove, rename) bookmarks that were created by another device
** AC 3.
*** Users can access bookmarks from another FxA device from a folder
* As a user, I want to customize my sync preferences so I can choose what data to share across my screens for syncing so I have control of the data I am sending to the cloud.
** AC 1.
*** Preferences can be accessed in the Settings / Sync menu
** AC 2.
*** Preferences are global and not local to the device where applicable
** AC 3.
*** 'add-ons' and browser 'preferences' can only be shared across desktop clients and therefore not appear in the mobile settings preferences list


=== Detaching Sync ===
=== Detaching Sync ===
* As a user, I want to be able to stop Syncing to preserve data costs on my mobile, but be able to preserve the ability to sync when I resume syncing again.
* As a user, I want to be able to stop Syncing to preserve data costs on my mobile, but be able to preserve the ability to sync when I resume syncing again.
** AC 1.
*** In the Settings / Sync menu, users must have the ability to turn off sync either by expressly 'turn off sync' or 'sign out of FxA'
** AC 2.
*** In the Settings / Sync menu, users must have the ability to resume sync either by expressly 'turn on sync' or 'sign in to FxA'


=== Security/Encryption ===
=== Security/Encryption ===
* As a user, I expect Firefox Sync to securely encrypt all my Firefox server data with my Firefox Account password.
* As a user, I expect Firefox Sync to securely encrypt all my Firefox server data with my Firefox Account password.
** AC 1.
*** {{mok}} Data is encrypted as per current security standards
** AC 2.
*** {{mok}} Data management must adhere to Mozilla security & privacy policies


=== Performance & Stability ===
=== Performance & Stability ===
* As a user, in the event of Sync service interruptions, I expect to be able to use my browser and previously-synced local data as normal, even if Firefox cannot access the Sync servers for an extended period of time.
* As a user, in the event of Sync service interruptions, I expect to be able to use my browser and previously-synced local data as normal, even if Firefox cannot access the Sync servers for an extended period of time.
** AC 1.
*** Users must detect no change in browser behaviour EXCEPT that sync is not syncing
** AC 2.
*** Users must detect no change to browser performance when sync service is resumed and the backlog of sync data is being processed
=== [NOT MVP] Migration ===
* As a user who currently has an existing sync account with 2+ devices attached to it, I cannot migrate to FxA+Sync1.1 using the standard points of entry in Fx29 but I can find out what's going on.
** AC 1.
*** SUMO article is written about the migration of existing sync users
** AC 2.
*** Release notes are written about the migration of existing sync users
** AC 3.
*** A link is available in-product (Settings / Sync) that points to an article or information about the migration of existing sync users
* As a user who currently has an existing sync account with 2+ devices attached to it, I can migrate to FxA+Sync1.1 using the standard points of entry from Fx30 onwards.
** AC 1.
*** FxA creation points of entry must all support migration existing sync users through the FxA flow
** AC 2.
*** Current sync account is moved over to the new FxA system and the user cannot access their 'old sync account' any more
** AC 3.
*** Once migrated, users can only manage their sync account via FxA and not through any old sync methods
* As a user who currently has an existing sync account with 2+ devices attached to it, I expect my current sync functionality to behave as-is for a minimum of 3 months from when outbound communication about the service EOL has started (expected to begin in Fx 30)
** AC 1.
*** Outbound comms plan prepared and in place about EOL-ing existing sync and replacing it with FxA+Sync1.1
** AC 2.
*** EOL will not happen for a minimum of 3 months (2 release cycles) from when outbound comms actively have begun
** AC 3.
*** Once EOL hits, existing users will not be able to access their sync unless they migrate to FxA
==Goals and Quality Criteria for Fx29==
* FxA set up and sign in
* No Send Tab
* No self-hosting, password only
==Goals and Quality Criteria for Fx30==
* Migration
==Goals and Quality Criteria for Fx31==
* EOL Legacy Sync


== Migration ==
== Tickets ==
=== Strategy ===
=== P1 ===
* We want to encourage existing Sync users to migrate to a Firefox Account, without harming the experience of users who aren't ready to move for a minimum period of 3 months from when outbound communication has begun.
Note: it would be better for this query to be just P1 tickets blocking the meta {{bug|799726}}, but the Bugzilla query doesn't compute the transitive closure of the blocking set so some tickets are missed.
* There must be overlapping support for current sync account who haven't signed up to Firefox Account and to the new Firefox Account & sync v1.1 for a minimum period of 3 months from when outbound communication has begun
<onlyinclude>
* As feasible, we want to encourage existing sync users to sign up to a Firefox Account
<bugzilla>
** User data is preserved (same sync) but the sign-in process will differ, including security defaults
{
** If this is NOT feasible, we must not promote any in-product snippets to existing sync users until we can ensure good migration is supported
    "product": "Android Background Services",
    "resolution": "---",
    "priority": "P1",
    "include_fields": "id, priority, summary, status, assigned_to, whiteboard",
    "order": "bug_id"
}
</bugzilla>
</onlyinclude>


=== Migration mechanism ===
=== Bugs that folks other than rnewman and nalexander can tackle ===
* Detect specific states.
<onlyinclude>
** Non-email Sync account name. No migration possible.
<bugzilla>
** Single device. Encourage migration! No partitioning possible!
{
** Self-hosted. Offer to migrate to Mozilla's system if there's no locked pref to indicate that that's not desirable, provide docs to support continued self-hosting, inform the user of decommissioning plans so they can make an informed choice.
    "include_fields": "id, priority, summary, status, assigned_to, whiteboard",
* Offer to set up a new Firefox Account using their same email address. Enter the normal account setup flow, which will take care of email verification. Don't reuse the password -- it's gone over the wire, many users won't remember it, and it's probably neither strong nor memorable.
    "order": "bug_id",
* Preserve data syncing preferences, also allowing user to make new decisions at this point.
    "product":"Android Background Services",
* Write decommissioning sentinel into the old Sync account. ({{Bug|895526}}, {{Bug|895518}}.)
    "whiteboard": "parallel"
* Disable or delete local Sync.old account.
}
* Clean up local prefs for sanity.
</bugzilla>
* Configure to intercept old account hooks e.g., Send Tab intents.
</onlyinclude>


== Open questions, issues and action items ==
=== Tracking ===
Please <s>strikethrough</s> when complete. Thanks!
<onlyinclude>
* <s>Who owns Firefox Accounts & Sync from a product marketing perspective</s> - [eric] is the assumption since he is handling Firefox product marketing currently (although he's brand new :) )
<bugzilla>
* <s>Who will handle the SUMO articles, etc (respective product lines?)</s> - [roland] Ibai's Garcia team (probably Michael Verdi + new hire who starts in Jan 2013) will write all required SUMO Sync articles on all products; Roland Tanglao will be reviewer and approver for Android SUMO sync articles
{
* Will each QA contact within each product line be responsible for testing Firefox Accounts & Sync behaviour? - [Tauni] talking to QA
    "blocks": "799726",
* Any implications relating to FxOS support in terms of Firefox Accounts flows or behaviour? - We all assume not, but needs to be verified.
    "resolution": "---",
* Any implications relating to FxOS support in terms of existing Sync behaviour? - Need confirmation of FxOS FxA timing, roll-out and support plans to manage use-cases of one Firefox Account across non-FxOS and FxOS screens
    "include_fields": "id, priority, summary, status, assigned_to",
* Do we gain any time by not supporting 'send open tab' or any other current sync feature?
    "order": "bug_id"
* Need data to understand:
}
** How many sync users are Android users
</bugzilla>
** How many of the Android sync users are daily users
</onlyinclude>
** What, in majority, are they syncing
===Resolved===
** Do we have data on failed sign-up attempts
<onlyinclude>
** How many users 'send open tab'
<bugzilla>
* <s>Change security defaults to allow recovery of bookmarks and history at a minimum if a user forgets their password, with the ability to provide optional, higher-security measures in the sync settings for those users who wish to upgrade their security at the expense of irrecoverable data</s> - requirement deferred to next iteration of sync when the security model can be modified
{
* <s>Modifications to the security defaults and inclusion of optional, higher-security measures</s> - requirement deferred to next iteration of sync when the security model can be modified
    "blocks": "799726",
    "resolution": "Fixed",
    "include_fields": "id, priority, summary, status, assigned_to",
    "order": "bug_id"
}
</bugzilla>
</onlyinclude>


== [old mvp bug tracking] ==
===Incoming===
* [[User Services/Sync/v1/Tracking | Sync MVP bug tracking]]
<onlyinclude>
* Bugs may still be relevant, so just keeping here for the moment until they can be flushed out as needed or not
<bugzilla>
{
    "product":"android_background_services",
    "component":"android_sync",
    "resolution": "new",
    "resolution": "unconfirmed",
    "include_fields": "id, priority, summary, status",
    "order": "bug_id"
}
</bugzilla>

Latest revision as of 18:57, 10 March 2014

Last updated: 2014/03/10


Goals

The goal of this MVP release is primarily to provide an easy way for users to replicate their Firefox browser experience across any desktop, mobile phone or tablet screen. Broken down, this includes:

  • Introducing "Firefox Account" to Android users
  • Providing a much-improved mechanism for sign-up and sign-in to a functional sync experience
    • Objective: reduce barrier to entry to sign-up to use sync functionality
    • Objective: reduce number of failed attempts in setting up the account
  • Utilise the existing sync service as the first valuable service attached to Firefox Accounts

The underlying tactics to achieve these goals are to:

  • Integrate Firefox Accounts with the Current, Existing Sync (v 1.1) service
  • Improve the sign-up and sign-in flow for sync via Firefox Accounts (username & password)
  • Promote sync in-product and in product marketing materials
  • A strong push to target only one flag day (user intervention)
    • Applicable for current users of sync and new users of Firefox Accounts integrated with current sync
    • This may not be entirely possible, but user intervention should be mitigated as much as possible to reduce barriers to further necessary migrations in the future

Non-goals

  • Simultaneous syncing across existing sync account with Firefox Account
  • No support in syncing over reading lists or any home page management
  • No support for syncing add-ons between Desktop and Firefox for Android
  • No support for syncing of FxOS data types (including browser information)
  • No support for syncing Marketplace data types
  • No explicit UX in Firefox for Windows 8 Touch (metro) - only classic Desktop will contain the UX for Firefox Account and Sync management

MVP - requirements

General

  • [ON TRACK] Users can create a Firefox Account
  • [ON TRACK] Users can delete their Firefox Account
  • [ON TRACK] Firefox Account will enable the new Sync (v1.5) service
  • [ON TRACK] Users can sign in to their Firefox Account
  • [ON TRACK] Users can sign out of their Firefox Account
  • No support for federated accounts
  • Current sync functionality must be supported, with the following being must-haves:
    • [ON TRACK] Bookmarks must be synced, with no requirement to manage bookmarks from the non-originating
    • [ON TRACK] History must be synced (to make the awesomebar relevant) using the current sync algorithm for number of days we sync
    • [ON TRACK] Passwords must be synced to make the mobile experience that much tighter
    • [ON TRACK] Security standards must be adhered to in order to protect my saved passwords during syncing as strong as your password vs. a randomly generated key.
    • Add-ons must be synced between desktop machines only protocol is designed to do it for android, go to backlog (same as syncing prefs)
  • 'Clearing Private Data' in the Settings menu results in current, existing behaviour
  • [ON TRACK] 'Sync' as a name remains unchanged in the UI or corresponding materials

Set-up & Account Management

  • When a user first installs Firefox, a prompt will be presented to create a Firefox Account to enable Sync
  • [ON TRACK] Creation of a Firefox Account is via username (email address) and password
  • [ON TRACK] COPPA requirements when creating a Firefox Account must be adhered to within the creation flow
  • [ON TRACK] Present to the user what data will be synced and how this relates to their Firefox experience
  • [ON TRACK] Users must not be forced to set up a Firefox Account if they either wish to defer the setup experience or never sign up at all. In this case, the user must be able to continue using the browser as expected, but without any benefits to having a Firefox Account
    • This also means the user will not be able to benefit from sync - if a user wishes to set up sync, they can only do so via a Firefox Account come the introduction of Firefox Accounts
  • [ON TRACK] Users with an existing current Sync account (2+ devices attached to existing sync) must still be able to continue using their sync account using their existing connected devices for a transition period (minimum 3 months / 2 releases from when outbound communication has begun) we don't stop existing sync users for Fx29
  • [PROPOSED] Users with an existing current Sync account (2+ devices attached to existing sync) should have a link somewhere that they can follow to explain what Firefox Accounts is and that it will be 'coming soon', given that upsell / migration will not be available to them until Fx30 <== how is this manifested? SUMO?
  • [ON TRACK] Users must be able to change their Firefox Account passwords different from reset/forgot password flow
  • [ON TRACK]Users must be able to reset their Firefox Account passwords <== this happens via https://accounts.firefox.com, not in-app quite yet
  • [PROPOSED] For users who have not signed up to Firefox Account upon initial install, they may be notified or prompted to set one up in order to enable Sync this looks like a Fx30 thing
  • [ON TRACK] For users who have not signed up to Firefox Account upon initial install, they must be able to initiate and complete the process from somewhere in the Settings menu
  • [ON TRACK] For users who do not have an existing sync account in Fx 29, be able to present a snippet in the promo banner advertizing and linking to the FxA account flow to enable sync
  • [PROPOSED] For users who have not signed up to Firefox Account or have existing sync enabled, present the ability to create an account to enable sync from the 'sync tabs' panel. NB - this is a nice-to-have in Fx 29. there isn't a sync tabs panel for fx29, tracking Fx30

Existing sync

  • [ON TRACK] Frequency of syncing should remain the same when we transition to the new account creation model this has actually improved for existing sync users on android

Detaching Sync

  • If a user wants to disable or delete their Firefox Account from a particular desktop or Android device, data previously synced should still remain on other instances where Firefox Account is active
  • If a user wants to disable or delete their Firefox Account from a particular desktop or Android device, data should be preserved locally so that 'sync' stops, but the browser's current behaviour does not change from when sync stopped

Security/Encryption

  • It is expected that synced data is encrypted securely along with their Firefox Account password
  • Security defaults should be the same as per existing Sync 1.1 logic, with higher-level security options available data is as secure as your password, also could be open to phishing. Self-hosting and higher sec options are blockers for EOLing current sync. We need an optional secondary credential
    • Expected: all user data currently irrecoverable cannot recover password is plan of record

Performance & Stability

  • In the event of service interruption to Sync, this must have no impact with current use of the browser.
  • [DONE] In the event of service interruption, all data that should be synced will sync once service is restored in a way that is seamless to the user and without degradation to browser usage

Fx30 Migration

  • We want to encourage existing Sync users to migrate to a Firefox Account, without harming the experience of existing users (defined as those who have 2+ devices attached to an existing sync account) who aren't ready to move for a minimum period of 3 months from when outbound communication has begun.
  • There must be overlapping support for current sync accounts who haven't signed up to Firefox Account and to the new Firefox Account & sync v1.1 for a minimum period of 3 months from when outbound communication has begun

Firefox for Android MVP - contextual user stories

NB: [AC] = acceptance criteria

Set-up & Account Management

  • As a user, I want the option of setting up a new Firefox Account when I first install Firefox, so I can sync my browser data between my devices.
    • AC 1.
      • [ON TRACK] A new user installing Firefox for Android for the first time, there is at least one obvious entry point for setting up a Firefox Account that allows me to enable sync (whether from the promo banner or settings menu)
        • ACTION: Set milestone for turning on promo banner. We need the banner to be intelligent until it has an API to talk to it so it knows that people have bug 917942
  • [ON TRACK] As a user, I want a way to clearly understand what data Sync is actually Syncing, what that data means in terms of my browser functionality, and what happens to that data when I have logged out of my Firefox Account.
    • AC 1.
      • { Well worded messaging around the relevance of 'history' is explained or reworded to better reflect the benefit (which is consolidating awesomebar results regardless of the screen used to visit a website)
    • AC 2.
      • Messaging to inform the user prior to starting the initial sync to ensure 'no surprises'
  • [ON TRACK] As a user, I want to set up a Firefox Account using an email address and password of my choice, so I am not required to use any particular third-party sign-in service - I am comfortable using an email address of my choice for this purpose.
    • AC 1.
      • [DONE] User can chose to use an email address of their choice
    • AC 2.
      • [DONE] User can chose whatever password of choice, provided it adheres to the security standard we wish to employ (password strength rules)
    • AC 3.
      • [AT RISK] If the password chosen does not adhere to Mozilla's password strength rules, messaging must be presented to the user clearly indicating the rules and allow them to try again
  • [DONE] As a user, I don't want to be forced to create a Firefox Account when I first start using Firefox, so I can start using the browser as quickly as possible once I've downloaded and installed it.
    • AC 1.
      • [DONE] In the FxA setup flow, users must be able to cancel out of the flow
    • AC 2.
      • {{done|} If a user does not chose to initiate or complete the FxA creation flow, the user can still use the browser without any change in browser functionality EXCEPT that they cannot enable sync
  • [DONE] As a user, I want all of my data (history, bookmarks, etc.) to be saved on my local machine whether or not I've set up a Firefox Account, so I am still able to build up a collection of data and personalize my Firefox experience over time.
    • AC 1.
      • No loss in current browser functionality in terms of storing history, passwords, etc whether a FxA has been created or not
  • [DONE] As a user, I want to be able to change the password for my Firefox Account data from any device that allows me to sign into my Firefox Account, so if someone does steal my laptop or other mobile device they won't be able to access any new data that is added to my Sync Account, even though they will be able to access the data that had been previously synced and is local on the device.
    • AC 1.
      • There is an intuitive flow in the Settings / Sync menu that allows a user to change their FxA password
    • AC 2.
      • [DONE] Once password change, other screens logged into FxA must prompt the user at the earliest possible stage to enter the new password
    • AC 3.
      • [DONE] Although current synced data cannot be undone, new data cannot be synced to other screens logged into FxA until the new password has been entered
  • [DONE] As a user, I want to be able to reset the password for my Firefox Account data from any device that allows me to sign into my Firefox Account, so I can continue using my Firefox Account even if I have forgotten my password.
    • AC 1.
      • There is an intuitive flow in the Settings / Sync menu that allows a user to reset their FxA password
    • AC 2.
      • [DONE] Once password change, other screens logged into FxA must prompt the user at the earliest possible stage to enter the new password
    • AC 3.
    • [DONE] * Although current synced data cannot be undone, new data cannot be synced to other screens logged into FxA until the new password has been entered
  • [PROPOSED] As a user, I want to be prompted to create a Firefox Account when I first install my browser, but I want it to be easy to dismiss with a prompt to dismiss either forever (so I don't get bothered again), or to be reminded again later. I also want it to be very easy to get more details about what a Firefox Account is and why I would want it before I go through the process of creating one.
    • AC 1.
      • [PROPOSED] If there is a first-run experience to create a FxA upon initial browser install, users must be able to either complete the flow or dismiss the flow with no adverse effect in browser functionality EXCEPT that they cannot enable sync
    • AC 2.
      • [PROPOSED] Users can either be reminded later to set up a FxA or be able to dismiss the prompt forever
    • AC 3.
      • [PROPOSED] Any time a user is presented with a prompt to set up a FxA [in order to enable sync], clear and concise messaging must be provided as to the benefit of doing so before creating the account
  • [PROPOSED] As a user, I want to be able to go into a settings menu to create my Firefox Account [to enable sync], so that I can set up it up in my own time.
    • AC 1.
      • [PROPOSED] Users without an existing sync account can go into the Settings / Sync menu to create a FxA in order to enable sync
  • [ON TRACK] As a product manager, I want to use the 'promo banner' real estate on the about:home default page to advertize the ability to create a Firefox Account to enable sync for new users only (not visible to users with an existing sync account) in Fx29 as a real ideal way of spreading the message in-product.
    • AC 1.
      • [PROPOSED] A snippet message can be displayed to a specific set of users (by geography, channel, Fx release) to encourage them to set up a FxA to enable sync
    • AC 2.
      • [PROPOSED] Tapping on the promo snippet takes the user to a FxA creation flow to enable sync
    • AC 3.
      • [PROPOSED] Existing sync users do not get this promo banner
    • AC 4.
      • [PROPOSED] Users who have created a FxA to enable sync do not get this promo snippet again
  • As a user, I want to be able to go into the 'sync tab' panel and be presented with an option to create my Firefox Account to enable sync to serve as another entry point a user may stumble upon. NB this is a nice-to-have for Fx 29, otherwise can be moved to Fx 30.
    • AC 1.
      • When a user taps the 'sync tab' in the tab tray, concise & clear messaging is provided about the benefits of creating a FxA to enable sync with a link taking the user to the account creation flow elan needs help on this
  • [DONE] As a user, my only option to enable sync is to create a FxA from Fx29 onwards.
    • AC 1.
      • [PROPOSED] Current existing sync sign-up and device pairing is no longer supported from Fx29
    • AC 2.
      • [PROPOSED] The only way to enable sync is by completing the FxA creation flow for new users
  • [DONE] As a user, I want to be able to verify my email address and my desire to set up a Firefox Account by clicking a link in the verification email I received from Firefox
    • AC 1.
      • [DONE] Users can open the verification email after completing the appropriate steps in the FxA creation flow
    • AC 2.
      • [DONE] Users can click a link in the email to verify their email address
  • [DONE] As a user, I want the option to review the ToS and Privacy Policy so that I can make sure I’m comfortable providing my information to Mozilla.
    • AC 1.
      • [DONE] Users can link to the ToS from the “Create Account” page
    • AC 2.
      • [DONE] Users can link to the Privacy Policy form the “Create Account” page
    • AC 3.
      • [DONE] Both the ToS and PP will open in a mobile-friendly format
    • AC 4.
      • A user may accept or decline the ToS and/or PP
    • AC 5.
      • If a user declines the FxA creation flow is stopped
    • AC 6.
      • If a user accepts, the FxA creation flow continues
  • [DONE] As a user I want to tell Firefox how old I am so that I can be cleared for COPPA restricted activities. Birth Year only. 1990 and earlier for old foggies.
    • AC 1.
      • [DONE] Users will be asked to provide their year of birth on the account set up page where they enter their email address and password
    • AC 2.
      • [DONE] If a user enters a year that indicates their age is less than 13 years old on the day they attempt to set up an account she will be denied a Firefox Account. status: Times out for 15 minutes, or until browser is re-started.
    • AC 3.
      • [DONE] If a user enters a year that indicates their age is at least 13 years old on the day they attempt to set up an account, she will be granted a Firefox Account

Core existing sync user stories

  • As a user, I want to be able to pick up any new device and replicate my Firefox experience so I don't have to repeat a bunch of work I've already done on another device or computer.
    • AC 1.
      • Any data that is supported by current sync must be supported by FxA+Sync1.1
    • AC 2.
      • Screens I have signed in to FxA with the same credentials are all attached to the same sync profile so that the data is replicated across all linked machines
    • AC 3.
      • Users cannot detect any performance differences between current sync and FxA+Sync1.5
  • As a user with several devices, I want my core Firefox experience to be available on all devices, so I don't have to spend a lot of time rebuilding my top sites & awesome screen experience.
    • AC 1.
      • History is synced by default, unless otherwise customized 'off' during FxA & Sync setup flow
    • AC 2.
      • No perceptible change in syncing SLA from current sync to FxA+Sync1.1
  • As a user, if I have typed in and stored a password in Firefox on one device or computer, I don't want to have to type and store that password again on any of my other devices so my web accounts & passwords are magically available on all of my devices (especially important so I don't make typing mistakes on my mobile and become frustrated!).
    • AC 1.
      • In the setup flow, concise & clear messaging is provided about the benefits of syncing stored website passwords
    • AC 2.
      • Passwords are synced by default, unless otherwise customized 'off' during FxA & Sync setup flow
  • As a user, I want the option of syncing my tabs from other devices so I can pick up where I left off when I switch to another device.
    • AC 1.
      • No change in current sync functionality in that users can send tabs between screens logged into the user's FxA
  • As a user, I want all of my bookmarks to be synced across my devices, although I don't expect full bookmark management tools on mobile devices. Any bookmarks I create while on mobile devices should be put into a single "Mobile" (or similar) folder which is then synced. Desktop bookmark organization & behaviour should not change and vice versa.
    • AC 1.
      • Bookmarks are synced by default, unless otherwise customized 'off' during FxA & Sync setup flow
    • AC 2.
      • Users cannot manage (ie delete, remove, rename) bookmarks that were created by another device
    • AC 3.
      • Users can access bookmarks from another FxA device from a folder
  • As a user, I want to customize my sync preferences so I can choose what data to share across my screens for syncing so I have control of the data I am sending to the cloud.
    • AC 1.
      • Preferences can be accessed in the Settings / Sync menu
    • AC 2.
      • Preferences are global and not local to the device where applicable
    • AC 3.
      • 'add-ons' and browser 'preferences' can only be shared across desktop clients and therefore not appear in the mobile settings preferences list

Detaching Sync

  • As a user, I want to be able to stop Syncing to preserve data costs on my mobile, but be able to preserve the ability to sync when I resume syncing again.
    • AC 1.
      • In the Settings / Sync menu, users must have the ability to turn off sync either by expressly 'turn off sync' or 'sign out of FxA'
    • AC 2.
      • In the Settings / Sync menu, users must have the ability to resume sync either by expressly 'turn on sync' or 'sign in to FxA'

Security/Encryption

  • As a user, I expect Firefox Sync to securely encrypt all my Firefox server data with my Firefox Account password.
    • AC 1.
      • [ON TRACK] Data is encrypted as per current security standards
    • AC 2.
      • [ON TRACK] Data management must adhere to Mozilla security & privacy policies

Performance & Stability

  • As a user, in the event of Sync service interruptions, I expect to be able to use my browser and previously-synced local data as normal, even if Firefox cannot access the Sync servers for an extended period of time.
    • AC 1.
      • Users must detect no change in browser behaviour EXCEPT that sync is not syncing
    • AC 2.
      • Users must detect no change to browser performance when sync service is resumed and the backlog of sync data is being processed

[NOT MVP] Migration

  • As a user who currently has an existing sync account with 2+ devices attached to it, I cannot migrate to FxA+Sync1.1 using the standard points of entry in Fx29 but I can find out what's going on.
    • AC 1.
      • SUMO article is written about the migration of existing sync users
    • AC 2.
      • Release notes are written about the migration of existing sync users
    • AC 3.
      • A link is available in-product (Settings / Sync) that points to an article or information about the migration of existing sync users
  • As a user who currently has an existing sync account with 2+ devices attached to it, I can migrate to FxA+Sync1.1 using the standard points of entry from Fx30 onwards.
    • AC 1.
      • FxA creation points of entry must all support migration existing sync users through the FxA flow
    • AC 2.
      • Current sync account is moved over to the new FxA system and the user cannot access their 'old sync account' any more
    • AC 3.
      • Once migrated, users can only manage their sync account via FxA and not through any old sync methods
  • As a user who currently has an existing sync account with 2+ devices attached to it, I expect my current sync functionality to behave as-is for a minimum of 3 months from when outbound communication about the service EOL has started (expected to begin in Fx 30)
    • AC 1.
      • Outbound comms plan prepared and in place about EOL-ing existing sync and replacing it with FxA+Sync1.1
    • AC 2.
      • EOL will not happen for a minimum of 3 months (2 release cycles) from when outbound comms actively have begun
    • AC 3.
      • Once EOL hits, existing users will not be able to access their sync unless they migrate to FxA

Goals and Quality Criteria for Fx29

  • FxA set up and sign in
  • No Send Tab
  • No self-hosting, password only

Goals and Quality Criteria for Fx30

  • Migration

Goals and Quality Criteria for Fx31

  • EOL Legacy Sync

Tickets

P1

Note: it would be better for this query to be just P1 tickets blocking the meta bug 799726, but the Bugzilla query doesn't compute the transitive closure of the blocking set so some tickets are missed.

No results.

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


Bugs that folks other than rnewman and nalexander can tackle

No results.

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


Tracking

No results.

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


Resolved

Full Query
ID Priority Summary Status Assigned to
799729 P2 Generalize BaseResource authentication to support Basic-Auth, BrowserID, and HMAC RESOLVED Nick Alexander :nalexander [he/him]
799732 P1 Implement TokenServerClient for interacting with token server service RESOLVED Nick Alexander :nalexander [he/him]
799734 P1 Implement Java BrowserID crypto library for Android services projects RESOLVED Nick Alexander :nalexander [he/him]
808813 P1 Implement Firefox Account Android account type RESOLVED Nick Alexander :nalexander [he/him]
809211 P4 Implement UI for updating credentials of an existing FxAccount RESOLVED
892025 -- Implement Android client for PICL Authentication/Keyserver RESOLVED Nick Alexander :nalexander [he/him]
899217 -- First version of Firefox Account sign up/sign in screen on Android VERIFIED Nick Alexander :nalexander [he/him]
905433 -- Implement Android Java client side key stretching library RESOLVED
905435 -- Connect UI and backend pieces to create Android Firefox Account objects RESOLVED
905438 -- Implement Android SyncAdapter class that syncs with Sync 1.1 against Firefox Account object RESOLVED Richard Newman [:rnewman]
915312 P2 Ship minimal PBKDF2-SHA256 native library for Android RESOLVED Michael Comella (:mcomella) [NI reported issues only: ex-Mozilla]
951264 -- COPPA support for Firefox Accounts on Android VERIFIED Nick Alexander :nalexander [he/him]
951304 -- Implement Android native Firefox Account sign up/sign in UI RESOLVED Nick Alexander :nalexander [he/him]
955808 -- Java (Android) Firefox Account client that speaks "onepw" protocol RESOLVED Nick Alexander :nalexander [he/him]
956444 P1 Handle Sync storage deprecation indicators for Firefox Accounts migration VERIFIED Nick Alexander :nalexander [he/him]
956839 P1 Implement Android native Firefox Account status UI RESOLVED Nick Alexander :nalexander [he/him]
956844 -- Update Android FxSyncAdapter to use new "onepw" protocol login flow RESOLVED Nick Alexander :nalexander [he/him]
957845 P1 [meta] Deprecate Android Sync account type in Fennec RESOLVED
957872 -- Remove SyncAdapters for all but the main Fennec ContentProvider VERIFIED Richard Newman [:rnewman]
957894 P1 Update account pickling code for Firefox Account RESOLVED Michael Comella (:mcomella) [NI reported issues only: ex-Mozilla]
958889 P1 Make Fennec "Synced Tabs" tray display entry point to Firefox Account + Sync when user has no existing accounts VERIFIED Michael Comella (:mcomella) [NI reported issues only: ex-Mozilla]
958891 -- Make Fennec about:home advertise Firefox Accounts + Sync banner RESOLVED :Margaret Leibovic
959032 P2 Support "409 Conflict" errors from sync1.5 storage servers RESOLVED
959033 P3 Don't send X-Confirm-Delete header RESOLVED kimsaehun
959774 -- ToS and Privacy Notice links for FxA VERIFIED Richard Newman [:rnewman]
959784 -- Submitting empty create account form displays Java error VERIFIED Nick Alexander :nalexander [he/him]
959790 -- "Show password" button does not toggle password display VERIFIED
959794 -- Validate password length VERIFIED
959915 P1 Adapt FxA token server client to include X-Client-State header RESOLVED Richard Newman [:rnewman]
960324 -- Use "BrowserID" in tokenserver authz header, not "Browser-ID" VERIFIED Ryan Kelly [:rfkelly]
961135 -- Firefox Accounts Setup (Account Creation) - needs a larger year range VERIFIED
962126 P1 Strip debug logging and PII leaks from Android Firefox Accounts before merge to Aurora RESOLVED Nick Alexander :nalexander [he/him]
962644 P1 Firefox Accounts (Entry) - Settings → Sync, replace old entry with new entry VERIFIED Richard Newman [:rnewman]
963062 -- Firefox accounts (Android) - Can't confirm emails using Firefox mobile - the confirmation links are broken VERIFIED
963160 P1 Firefox Accounts (Sign-Up/Sign-In) Use normalized email addresses where appropriate VERIFIED Nick Alexander :nalexander [he/him]
963424 P1 Use token server-provided cluster URL RESOLVED Richard Newman [:rnewman]
963429 -- Use current dev server URLs RESOLVED Nick Alexander :nalexander [he/him]
963448 P1 Add "1.5" to FxA client records RESOLVED Richard Newman [:rnewman]
963618 P1 Verify that changes for FxA do not affect Sync 1.1 RESOLVED
963667 P1 Use production Firefox Accounts endpoints in Fennec RESOLVED Nick Alexander :nalexander [he/him]
963833 -- [meta] Remaining work for Android native Firefox Account sign up/sign in UI RESOLVED
964863 -- [meta] Linkifying RESOLVED Richard Newman [:rnewman]
965038 -- Styling for links VERIFIED Richard Newman [:rnewman]
965061 -- Handle Back presses in FxA setup activity RESOLVED
965064 -- Back out non-native about:accounts RESOLVED Richard Newman [:rnewman]
965366 P1 Make Firefox Account's StatusActivity checkboxes "live" RESOLVED Nick Alexander :nalexander [he/him]
965367 P1 Implement "Choose what to sync" check box and dialog for Firefox Account CreateAccount activity VERIFIED Nick Alexander :nalexander [he/him]
965376 P1 Update final copy for Android Firefox Accounts landing VERIFIED Nick Alexander :nalexander [he/him]
965867 P1 Update final URLs for Android Firefox Accounts landing VERIFIED Nick Alexander :nalexander [he/him]
965910 P3 Sync intermittently failing with prod token server VERIFIED
966104 P2 Add statusChangeListener to FxA status screen RESOLVED Nick Alexander :nalexander [he/him]
966105 P2 Automatically transition from verification email screen to the verified screen RESOLVED
966106 -- Detect existing accounts during account creation, and offer to sign in VERIFIED Richard Newman [:rnewman]
966174 -- Skip straight back over Get Started when successfully setting up FxA VERIFIED Richard Newman [:rnewman]
967831 -- Setup flow doesn't offer reset/merge options RESOLVED
969227 -- Handle X-Backoff headers RESOLVED Richard Newman [:rnewman]
969672 P1 Handle declined engines in meta/global RESOLVED Richard Newman [:rnewman]
972051 P1 Dismiss "Tap to sign in" notification when a sync succeeds VERIFIED Nick Alexander :nalexander [he/him]

58 Total; 0 Open (0%); 36 Resolved (62.07%); 22 Verified (37.93%);


Incoming

No results.

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