User Services/Sync: Difference between revisions
(23 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
{{LastUpdated}} | {{LastUpdated}} | ||
The new home of all things related to the design & development of the '''New Sync''' service that is slated to replace the existing Sync service in late 2013/early 2014. A working name for this project has been PiCL ("Profile in the Cloud"), and the below documents may use this acronym. | |||
== What Problems Are We Solving? == | == What Problems Are We Solving? == | ||
Line 16: | Line 16: | ||
== Upcoming releases == | == Upcoming releases == | ||
'''Current''' | |||
* [[User Services/Sync/Relaunch | Firefox 29 Cycle Relaunch]] | |||
'''Archived''' | |||
* [[User Services/Sync/v1 | New Sync v1 (MVP)]] | * [[User Services/Sync/v1 | New Sync v1 (MVP)]] | ||
* [[User Services/Sync/v2 | New Sync v2]] | |||
== Meetings == | == Meetings == | ||
Archive the of the Engineering meetings can be viewed at: | |||
* [https://wiki.mozilla.org/Identity/PiCL/Engineering_Meeting_Notes Engineering Coordination Meeting Notes] | |||
== Product Requirements and User Stories == | |||
* Firefox for Android: https://wiki.mozilla.org/Mobile/Projects/Firefox_Accounts_with_Sync_1.1_integration | |||
* Firefox for Desktop: https://wiki.mozilla.org/User_Services/Sync/Relaunch#Desktop_MVP | |||
== UX Designs == | == UX Designs == | ||
Line 29: | Line 40: | ||
* [[Identity/AttachedServices/Architecture | High level architecture]] | * [[Identity/AttachedServices/Architecture | High level architecture]] | ||
* Dev mailing list: https://mail.mozilla.org/listinfo/sync-dev | * Dev mailing list: https://mail.mozilla.org/listinfo/sync-dev | ||
* [https://wiki.mozilla.org/Identity/PiCL/Engineering_Meeting_Notes Meeting notes] | |||
* Authentication | * Authentication | ||
** Protocol: [[Identity/AttachedServices/KeyServerProtocol]] | ** Protocol: Old: [[Identity/AttachedServices/KeyServerProtocol]] Current: https://github.com/mozilla/fxa-auth-server/wiki/onepw-protocol | ||
** Code: https://github.com/mozilla/ | ** Code: https://github.com/mozilla/fxa-auth-server | ||
** API documentation: https://github.com/mozilla/fxa-auth-server/blob/master/docs/api.md | |||
** Dev servers | ** Dev servers | ||
*** FxA API: idp.dev.lcip.org | *** FxA API: http://idp.dev.lcip.org | ||
*** FxA Jelly: accounts.dev.lcip.org/flow | *** FxA Jelly: http://accounts.dev.lcip.org/flow (code at https://github.com/mozilla/firefox-account-bridge) | ||
** Key stretching performance tests: https://wiki.mozilla.org/Identity/AttachedServices/Key_Stretching_Performance_Tests | |||
* Service discovery | |||
** Device management (sits next to/in key server): TBD | |||
** Meta server: [[User_Services/Meta]] | |||
* Milestone 1 Storage | * Milestone 1 Storage | ||
** Docs | |||
*** Token server API: https://docs.services.mozilla.com/token/apis.html | |||
** Dev servers | ** Dev servers | ||
*** Token server: http://auth.oldsync.dev.lcip.org/ | *** Token server: http://auth.oldsync.dev.lcip.org/ | ||
Line 52: | Line 71: | ||
** User data stats in the existing Sync product: https://id.etherpad.mozilla.org/picl-user-model | ** User data stats in the existing Sync product: https://id.etherpad.mozilla.org/picl-user-model | ||
** Technical design review meeting notes: https://etherpad.mozilla.org/identitydesignreview | ** Technical design review meeting notes: https://etherpad.mozilla.org/identitydesignreview | ||
** FxA client state transitions: [[User_Services/Sync/FxA_Client_States]] | |||
* QA plan: https://wiki.mozilla.org/QA/Services/SyncTestPlanV1 | * QA plan: https://wiki.mozilla.org/QA/Services/SyncTestPlanV1 | ||
* Server deployment planning: [[Identity/AttachedServices/DeploymentPlanning]] | * Server deployment planning: [[Identity/AttachedServices/DeploymentPlanning]] | ||
* Bugzilla Meta bugs/dependency trees | * Bugzilla Meta bugs/dependency trees | ||
** Product user stories: https://bugzilla.mozilla.org/showdependencytree.cgi?id=909322&hide_resolved=0 | |||
** Desktop: https://bugzilla.mozilla.org/showdependencytree.cgi?id=905997&hide_resolved=0 | ** Desktop: https://bugzilla.mozilla.org/showdependencytree.cgi?id=905997&hide_resolved=0 | ||
** Android: https://bugzilla.mozilla.org/showdependencytree.cgi?id=799726&hide_resolved=0 | ** Android: https://bugzilla.mozilla.org/showdependencytree.cgi?id=799726&hide_resolved=0 | ||
** Server-side: https://bugzilla.mozilla.org/showdependencytree.cgi?id=907475&hide_resolved=0 | ** Server-side: https://bugzilla.mozilla.org/showdependencytree.cgi?id=907475&hide_resolved=0 | ||
* ELM Nightly Builds | |||
** Desktop | |||
*** http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-elm/ | |||
** Android | |||
*** http://ftp.mozilla.org/pub/mozilla.org/mobile/nightly/latest-elm-android/ | |||
*** http://ftp.mozilla.org/pub/mozilla.org/mobile/nightly/latest-elm-android-x86/ | |||
*** http://ftp.mozilla.org/pub/mozilla.org/mobile/nightly/latest-elm-android-armv6/ | |||
== User Research == | == User Research == | ||
Line 74: | Line 102: | ||
=== UX === | === UX === | ||
* | * John Gruen | ||
* Ian Barlow | * Ian Barlow | ||
* Zhenshuo Fang | * Zhenshuo Fang | ||
Line 83: | Line 111: | ||
=== Product === | === Product === | ||
* Karen Rudnitski | * Karen Rudnitski | ||
* Deb Richardson | * Deb Richardson | ||
* Rob Lord | * Rob Lord | ||
* Chris Lee | |||
=== Desktop === | === Desktop === |
Latest revision as of 01:38, 7 March 2014
The new home of all things related to the design & development of the New Sync service that is slated to replace the existing Sync service in late 2013/early 2014. A working name for this project has been PiCL ("Profile in the Cloud"), and the below documents may use this acronym.
What Problems Are We Solving?
Right now we have four problems with our existing Sync service. In priority order they are:
1. Usability: First, it's too hard to set up - only 1% of our users have actually done so. Second, it's too hard to add a second device - only 20% of sync users have more than one device (and hence are actually getting any value at all from sync).
2. Quality: The existing Sync codebase and protocol are unable to adequately address the reliability, performance, fault recovery, and efficiency requirements of a high-usage sync system.
3. Scalability: Our sync servers are failing far too frequently resulting in user facing outages.
4. Features: Features we want to build require that we can access data via web apps, which the current sync product cannot support. Competing browsers are building interesting features that can do this. We are at a disadvantage, and it's not for want of ideas.
Upcoming releases
Current
Archived
Meetings
Archive the of the Engineering meetings can be viewed at:
Product Requirements and User Stories
- Firefox for Android: https://wiki.mozilla.org/Mobile/Projects/Firefox_Accounts_with_Sync_1.1_integration
- Firefox for Desktop: https://wiki.mozilla.org/User_Services/Sync/Relaunch#Desktop_MVP
UX Designs
- "Sign in to Desktop Firefox" mocks: http://people.mozilla.com/~zfang/FirefoxAccount/PiCL_0710.pdf
- "Sign in to Android Firefox" mocks: https://www.dropbox.com/s/qyvd2p71jifqnmi/picl%20sign%20in%20flows%20android.psd
- Sign in/Sign up Usability Test Results: http://people.mozilla.org/~jgruen/pdx_deck/
Technical Materials
- High level architecture
- Dev mailing list: https://mail.mozilla.org/listinfo/sync-dev
- Meeting notes
- Authentication
- Protocol: Old: Identity/AttachedServices/KeyServerProtocol Current: https://github.com/mozilla/fxa-auth-server/wiki/onepw-protocol
- Code: https://github.com/mozilla/fxa-auth-server
- API documentation: https://github.com/mozilla/fxa-auth-server/blob/master/docs/api.md
- Dev servers
- FxA API: http://idp.dev.lcip.org
- FxA Jelly: http://accounts.dev.lcip.org/flow (code at https://github.com/mozilla/firefox-account-bridge)
- Key stretching performance tests: https://wiki.mozilla.org/Identity/AttachedServices/Key_Stretching_Performance_Tests
- Service discovery
- Device management (sits next to/in key server): TBD
- Meta server: User_Services/Meta
- Milestone 1 Storage
- Docs
- Token server API: https://docs.services.mozilla.com/token/apis.html
- Dev servers
- Token server: http://auth.oldsync.dev.lcip.org/
- Storage server: http://db1.oldsync.dev.lcip.org/
- README: https://mail.mozilla.org/pipermail/sync-dev/2013-August/000392.html
- Docs
- Storage Research
- Identity/CryptoIdeas/06-Queue-Sync-CouchDB
- User:Rnewman/TreeSync
- Sync 2.0: http://docs.services.mozilla.com/storage/apis-2.0.html
- Draft data formats: https://mobile.etherpad.mozilla.org/draft-bookmark-password-formats
- Existing sync data formats: http://docs.services.mozilla.com/sync/objectformats.html
- Design musings
- Enumeration of different failures and in existing Sync product: https://mobile.etherpad.mozilla.org/sync-failures
- Design contraints: https://services.etherpad.mozilla.org/2019
- Exploration of the design space: https://mobile.etherpad.mozilla.org/sync-design-faq
- User data stats in the existing Sync product: https://id.etherpad.mozilla.org/picl-user-model
- Technical design review meeting notes: https://etherpad.mozilla.org/identitydesignreview
- FxA client state transitions: User_Services/Sync/FxA_Client_States
- QA plan: https://wiki.mozilla.org/QA/Services/SyncTestPlanV1
- Server deployment planning: Identity/AttachedServices/DeploymentPlanning
- Bugzilla Meta bugs/dependency trees
- Product user stories: https://bugzilla.mozilla.org/showdependencytree.cgi?id=909322&hide_resolved=0
- Desktop: https://bugzilla.mozilla.org/showdependencytree.cgi?id=905997&hide_resolved=0
- Android: https://bugzilla.mozilla.org/showdependencytree.cgi?id=799726&hide_resolved=0
- Server-side: https://bugzilla.mozilla.org/showdependencytree.cgi?id=907475&hide_resolved=0
- ELM Nightly Builds
- Desktop
- Android
User Research
TBD
Team
Identity
- Lloyd Hilaiel
- Tauni Oxborrow
- Chris Karlof
- Brian Warner
- Danny Coates
- Zach Carter
- Vlad Filippov
UX
- John Gruen
- Ian Barlow
- Zhenshuo Fang
Services
- Mark Mayo
- Ryan Kelly
Product
- Karen Rudnitski
- Deb Richardson
- Rob Lord
- Chris Lee
Desktop
- Gavin Sharp
- Justin Dolske
Android
- Mark Finkle
- Richard Newman
- Nick Alexander
FirefoxOS
- Dale Harvey
QA
- James Bonacci