User Services/Sync/Relaunch: Difference between revisions

 
(40 intermediate revisions by 8 users not shown)
Line 7: Line 7:
Johnathan Nightingale said of the Sync-Tactics mailing list, "This list is for coordination, fast communication about changing circumstances, and next-step hand offs." Likewise, this one-pager is for continuously surfacing, tracking and addressing the critical path to relaunch on deadline.
Johnathan Nightingale said of the Sync-Tactics mailing list, "This list is for coordination, fast communication about changing circumstances, and next-step hand offs." Likewise, this one-pager is for continuously surfacing, tracking and addressing the critical path to relaunch on deadline.


<p style="text-align: center; font-size: 300%; font-weight:bold; border: solid 2px black;">12 Work Days to Go</p>
<!-- <p style="text-align: center; font-size: 300%; font-weight:bold; border: solid 2px black;">2 Work Days to Code Freeze</p> -->


<!--
<!--
Line 64: Line 64:
=== Desktop MVP ===
=== Desktop MVP ===


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.
1. '''Functional Equivalence''' 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.


   Acceptance criteria
   Acceptance criteria
   1. Any data that is syncable in current Sync will be syncable when we introduce accounts
   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
   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  
   3. A user will not detect any difference in performance of Sync today and performance of Sync after we introduce accounts
    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.
2. '''Transition from old sync to new sync''' As a user who currently has a Sync account, I can choose to transition to FxA/Sync after the release of 29 so that I can benefit from having an FxA.
   Acceptance criteria
   Acceptance criteria
   1.A user of current sync can find detailed instructions on a Mozilla web property for how to transition  
   1.A user of current sync can find detailed instructions on a Mozilla web property for how to transition  
Line 81: Line 80:
   4.After transition, the default views for this users will change from current Sync views to FxA/Sync views
   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  
3. '''FxA Points of Entry''' 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.
  can benefit from Sync and FxA.
   Acceptance criteria
   Acceptance criteria
   1. As a user I can enter the FxA/Sync set up process by: A)Clicking a promotional snippet B)Clicking the  
   1. As a user I can enter the FxA/Sync set up process by: A)Clicking a promotional snippet B)Clicking the  
Line 88: Line 86:
     Firefox Tools menu  
     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.   
4. '''Discouraging transition in Fx29''' 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
   Acceptance criteria
Line 96: Line 94:
     Snippet on their about:home page that pushes them to transition to FxA until they transition to FxA.
     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.
5. '''Locking current sync accounts''' 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
   Acceptance criteria
   1.Users who are signed into sync when they upgrade to 29 will not be able to change any setting in their  
   1.Users who are signed into sync when they upgrade to 29 will not be able to change any setting in their  
Line 104: Line 102:
     any changes to their Sync preferences or add a new device
     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.
6. '''Preventing any new current sync accounts''' 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
   Acceptance criteria
   1. After the release of 29, no user, on any version of Firefox will be allowed to create a current Sync account
   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.
7. '''FxA password change/reset''' 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
   Acceptance criteria
Line 116: Line 114:
     password on any other client she is signed-in to the next time she access that client.
     password on any other client she is signed-in to the next time she access that client.


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.
8. '''FxA sign-out''' 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
   Acceptance criteria
Line 122: Line 120:
   2.After the user has signed out of an account on a given client, no data will be shared with or from that client
   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.
9. '''FxA sign-in''' 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
   Acceptance criteria
Line 128: Line 126:
   2.After the user has signed-in to a particular client, data will resume syncing to/from that client
   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.
10. '''Creating an FxA account''' 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
   Acceptance criteria
Line 134: Line 132:
   2.A user can use their own email address and password of their choosing to create and 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.
11. '''Password strength meter''' 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
   Acceptance criteria
   1.A user will see a "password strength" meter as they enter their password  
   1.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.
12. '''Choosing to defer FxA creation''' 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
   Acceptance Criteria
   1.If a user is prompted to set-up Sync, he can choose not to
   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.   
   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
13. '''Sending account verification email''' 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
   Acceptance Criteria
Line 149: Line 147:
   2.This email will be sent to the address provided by the user during the account creation process
   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
14. '''User verifying account''' 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
   Acceptance Criteria
Line 155: Line 153:
   2.Users can click a link in the email to verify their email address
   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
15. '''Account verification success message''' 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
   Acceptance Criteria
Line 163: Line 161:
   3. If the default browser is something other than Firefox, this user will be directed to open Firefox
   3. If the default browser is something other than Firefox, this user will be directed to open Firefox


16. As a user, I want my client to start syncing as soon as I have successfully created a Firefox Account so that I can begin syncing without any more steps taken by me
17. '''Review ToS and Privacy Policy''' 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.After user sees the success state, the browser will begin syncing
 
17. 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
   Acceptance criteria
Line 178: Line 171:
   6.If a user accepts, the FxA creation flow continues
   6.If a user accepts, the FxA creation flow continues


18. 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
18. '''Sync Preferences options''' 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
   Acceptance criteria
Line 192: Line 185:
     *Preferences (b/w Desktops only)
     *Preferences (b/w Desktops only)


19. As a user I want to tell Firefox how old I am so that I can be cleared for COPPA restricted activities
19. '''Coppa''' As a user I want to tell Firefox how old I am so that I can be cleared for COPPA restricted activities
   Acceptance criteria
   Acceptance criteria
   1.Users will be asked to provide their year of birth on the account set up page where they enter their  
   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
     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  
   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
     up an account she will be denied a Firefox Account and prevented from creating one during the browser session
   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  
   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
     an account she will be granted a Firefox Account


20. 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.  
20. '''Australis onboarding''' 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
   Acceptance criteria
   1. Users who are not signed-into sync when they upgrade to Firefox 29 will experience an interactive  
   1. Users who are not signed-into sync when they upgrade to Firefox 29 will experience an interactive  
Line 207: Line 200:
   2. This experience will include a strong call to action to set up Sync
   2. This experience will include a strong call to action to set up Sync


21. As a user I want to be shown a warning if I attempt to logout of a Firefox Account that I am currently signed into so that I know the risks of data sharing across accounts if another user signs in with her account after I have logged out  
21. '''Customize sync preferences''' As a user who is creating a new FxA account, I want to indicate whether or not I want to customize my default sync preferences when I create my account so that I can control which data types are shared across clients that I am signed-in to.
  Acceptance criteria
  1. Users can select an option to "customize sync preferences" when they first create a Firefox Account tied to Sync
  2. If users select this option, they will be shown a menu of sync preferences they can customize before any Syncing begins
  3. If users do not select this option, syncing will begin as soon as their account is verified
 
22. '''FxA account sign-out warning''' As a user I want to be shown a warning if I attempt to logout of a Firefox Account that I am currently signed into so that I know the risks of data sharing across accounts if another user signs in with her account after I have logged out  
   1. Users can log out of their Firefox Account
   1. Users can log out of their Firefox Account
   2. Before sign-out is complete, users will see a warning that their data may be shared
   2. Before sign-out is complete, users will see a warning that their data may be shared
Line 213: Line 212:
   4. Users can opt to continue to sign out  
   4. Users can opt to continue to sign out  


22. As a user I want to be shown a warning if I attempt to login to my account--if another user has also signed into his account on the same client between the time of my last logout and current sign-in attempt--so that I know the risks of data sharing across accounts if I sign-in  
23. '''FxA account sign-in warning''' As a user I want to be shown a warning if I attempt to login to my account--if another user has also signed into his account on the same client between the time of my last logout and current sign-in attempt--so that I know the risks of data sharing across accounts if I sign-in  
   1. Users can sign-in to their account
   1. Users can sign-in to their account
   2. If another account has been accessed on the client where sign in is being attempted, the user will see a  
   2. If another account has been accessed on the client where sign in is being attempted, the user will see a  
Line 256: Line 255:
** <s> {{mok}} {FxA ENG] Final candidate FxA Auth API on "latest" dev server </s>
** <s> {{mok}} {FxA ENG] Final candidate FxA Auth API on "latest" dev server </s>
** <s> {{mok}} [FxA DevOPs] Stage, Prod Fxa Envs created </s>
** <s> {{mok}} [FxA DevOPs] Stage, Prod Fxa Envs created </s>
** {{mok}} [Backend ENG] Lock down Storage 1.5 API (waiting on final rnewman feedback)
** <s> {{mok}} [Backend ENG] Lock down Storage 1.5 API (waiting on final rnewman feedback) </s>
*** complete apart from any changes required by https://github.com/mozilla-services/tokenserver/issues/25
** <s> {{mok}} [Backend ENG] Get tokenserver building for QA needs</s>
** <s> {{mok}} [Backend ENG] Get tokenserver building for QA needs</s>
** <s>{{mok}} [Android ENG] First Android onepw and native UI build to QA.</s>
** <s>{{mok}} [Android ENG] First Android onepw and native UI build to QA.</s>
Line 273: Line 271:
** <s> {{mok}} [FxA ENG] Make decision on FxA password change/password reset technical requirements </s>
** <s> {{mok}} [FxA ENG] Make decision on FxA password change/password reset technical requirements </s>
** <s> {{mok}} [FxA ENG] Deploy final FxA API API and in progress FxA Desktop/Web front end to "stable" dev servers </s>
** <s> {{mok}} [FxA ENG] Deploy final FxA API API and in progress FxA Desktop/Web front end to "stable" dev servers </s>
*** 1/14/14 Currently not working with login to FxA on Desktop  
*** <s> Broken after 1/13/14 deploy. Fixed on 1/14/14 on servers and with this patch for Desktop: https://bugzilla.mozilla.org/show_bug.cgi?id=959859) </s>


* '''Tues, Jan 14'''
* '''Tues, Jan 14'''
** <s> {{mok}} [FxA UX] Make decision on FxA Sync datatype selection UX </s>
** <s> {{mok}} [FxA UX] Make decision on FxA Sync datatype selection UX </s>
** {{mok}} [FxA ENG] Complete development on new BrowserID verifier library and document FxA assertion formats
** <s> {{mok}} [FxA ENG] Complete development on new BrowserID verifier library and document FxA assertion formats (initial cut completed 1/15/14: https://mail.mozilla.org/pipermail/dev-fxacct/2014-January/000432.html) </s>


* '''Wed, Jan 15'''
* '''Wed, Jan 15'''
** {{mok}} [Backend ENG] Signoff on password change interaction with the tokenserver
** <s> {{mok}} [Backend ENG] Signoff on password change interaction with the tokenserver </s>
** <s> {{mok}} [FxA ENG] Freeze code for initial production releases of FxA auth server and FxA content server </s>
 
* '''Thurs, Jan 16'''
** {{mok}} [UX] Final Design Spec completed and ready for review and feedback


* '''Fri, Jan 17'''
* '''Fri, Jan 17'''
** [UX] Finalize and lockdown all flows
** {{mok}} [UX] Finalize and lockdown all flows. Feedback required for design spec must be sent to UX by EOD.
** [FxA ENG] Deploy in progress FxA Desktop/Web front end to production
** {{mok}} [UX] COPPA standalone 'failure' screen
** [FxA ENG] Have Nightly Desktop Firefox and Fennec use production FxA deployment
** {{mok}} [FxA ENG] Deploy initial RCs for FxA servers to production
** [FxA ENG] Update FxA and TokenServer to use new assertion formats and verifier
** {{mok}} [FxA ENG] Have Nightly Desktop Firefox and Fennec use production FxA deployment
** [Backend ENG] Storage/tokenserver deployed and in QA hands. Stable version for client devs to run against.
** <s>[Backend ENG] Storage/tokenserver deployed and in QA hands. Stable version for client devs to run against.</s>
** [Android ENG] Android onepw and native UI landed on mozilla-central
** <s>[Android ENG] Android onepw and native UI landed on mozilla-central</s>
*** UI should look close to final
*** <s>UI should look close to final</s>
*** Sync should work in most states
*** <s>Sync should work in most states</s>
*** most error handling in place (surfaced UI; recovery from most error states)
*** {{mrisk}} most error handling in place (surfaced UI; recovery from most error states)
*** limited ability to administer account (change local password; recover from resetting remote password; able to administer sync data elections; ability to see sync status)
*** {{mrisk}} limited ability to administer account (change local password; recover from resetting remote password; able to administer sync data elections; ability to see sync status)
** [Desktop ENG] Desktop setup flow and preferences UI landed on mozilla-central
** [Desktop ENG] Desktop setup flow and preferences UI landed on mozilla-central
*** styling may not be complete, but should be fully functional (assuming remote content is in shape)
*** styling may not be complete, but should be fully functional (assuming remote content is in shape)
Line 300: Line 302:
** [QA] Smoke Test Pass using Sync 1.5 backend
** [QA] Smoke Test Pass using Sync 1.5 backend
** [QA] Smoke Test Pass using real build of FxA Auth/Content Servers
** [QA] Smoke Test Pass using real build of FxA Auth/Content Servers
** {{mrisk}} [Legal/Privacy] Unified ToS/Privacy Notice final drafts are completed as of 14 Jan. Cannot finalize until branding is confirmed
** {{mrisk}} [Branding] Needs to be confirmed. The "name" is blocking the completion of UX, Legal, Privacy tasks.


* '''Fri, Jan 24'''
* '''Fri, Jan 24'''
** [UX]
** Go No Go decision to turn on FxA sync in Nightly (not hidden behind pref): https://wiki.mozilla.org/User_Services/Sync/Relaunch/GoNoGo
** [PM] desktop/Android add messaging to nightly wrt new FxAcct, PII now exists, etc.
** [UX] Design spec approved and locked
** {{mok}} [PM] desktop/Android add messaging to nightly wrt new FxAcct, PII now exists, etc. [https://bugzilla.mozilla.org/show_bug.cgi?id=959849 Bug 959849]
** [ENG] Production Endpoints
** {{mok}} [FxA ENG] Update FxA and TokenServer to use new assertion formats and verifier
** [Backend ENG]
** [Android ENG]
** [Desktop ENG]
** [QA] Final Test Pass, Load Test complete
 
* '''Fri, Jan 31'''
** {{mok}} [UX] Strings locked down
** [FxA ENG]  
** [FxA ENG]  
** {{mok}} [FxA ENG] l10N
** [Backend ENG]
** [Backend ENG]
** [Android ENG]
** [Android ENG]
** [Desktop ENG]
** [Desktop ENG]
** [QA] Final Test Pass, Load Test complete
** [QA] Buffer and GMC/GA testing
*** '''Ship Criteria'''
**** No 5 star or P1 bugs
**** Load 600 requests/sec


* '''Wed, Jan 29'''
* '''Fri, Feb 7'''
** [UX]
** [UX]
** [FxA ENG]  
** [FxA ENG]  
** {{mok}} [FxA ENG] l10N
** [Backend ENG]
** [Backend ENG]
** [Android ENG]
** [Android ENG]
Line 322: Line 342:


=== Dependencies===
=== Dependencies===
* [PM] MVP User Stories confirmed  
* <s> [PM] MVP User Stories confirmed </s>
* [PM] Sync Migration Strategy confirmed
* [PM] Sync Migration Strategy confirmed
* [Backend ENG] API needs to be locked down
* [Backend ENG] API needs to be locked down
Line 379: Line 399:
Q. Does this include Firefox desktop for Metro?  
Q. Does this include Firefox desktop for Metro?  
<br>A. No.
<br>A. No.
'''On Setting Up Sync'''
Q. How do I setup Firefox Accounts and Sync in Firefox Nightly?
See [https://wiki.mozilla.org/User_Services/Sync/SetupSyncNext Setup Sync]


= Team =  
= Team =  
* The cross-functional team and a list of what they own can be viewed [https://wiki.mozilla.org/User_Services/Sync/Relaunch/DRIs here.]
* The cross-functional team and a list of what they own can be viewed [https://wiki.mozilla.org/User_Services/Sync/Relaunch/DRIs here.]


= Key Deliverables =
= Reference =
{| class="fullwidth-table" |
* [https://wiki.mozilla.org/User_Services/Sync Sync]
|-
* [https://wiki.mozilla.org/User_Services/Sync/Datatype_Selection_Fx29 Sync Datatype Selection]
! DRI
! TEAM
! TASK
! DUE
! NOTES
! STATUS
|-
| Karen, Chad
| Product
| Validate & confirm user stories are still relevant. Update if needed.
| Dec 19
| Confirm success criteria is defined for each user story
| '''DONE'''
|-
| Karen, Chad
| Product
| Migration strategy confirmed
| Jan 6
| Confirm success criteria is defined for each user story
| {{mrisk}}
|-
| John, Ryan
| UX
| Bare bones approach for both Desktop & Android
| Dec 20
| Will need validation of these designs very rapidly by Product
| {{mok}}
|-
|
|
| Auth Server API need to be final Issue #344
| ASAP
|
|
|-
|
|
| Sync Storage server API needs to be final
| ASAP
|
|
|-
|
| Prod, UX, Prod Mktg
| Sync Branding
| ASAP
|
| {{mok}}
|-
| Tauni, Mika, Alina
| Program, Legal, Privacy
| ToS & Privacy Notices
| Jan 15
|
| {{mok}}
|-
|
|
|
|
|
|-}
Confirmed users
1,042

edits