A lot of people have been doing a lot of talking.  There is rough consensus 
around a short term plan for the client implementation team.  I've worked with 
nick, chris, mfinkle, rnewman and others to figure all this out (they did all 
the work, I just type).  Here's an attempt to distill that, blow me up publicly 
if I say something you can't live with.  

What's the target?  Milestone 1 - Firefox Accounts delegating to existing Sync 
1.1 account

We are going to take the mocks we have and build a fully functional subset of 
MVP.  This is going to have the following properties:

1. implements UX mocks for Firefox Account setup and management on desktop and 
Android (no FirefoxOS for milestone 1)
2. implements Firefox Account password-based flow against picl-idp.org 
described at (need a git revision or other stake in the ground here)
backend comfort by mark mayo ala rfk are pre-requisites to shipping?
3. invisibly creates a Sync account to do the actual Syncing (so no major 
desktop code changes needed) (this might require using a stage Sync server to 
avoid captchas)
4. stores data using the current Sync implementation (does not change the 
existing sync codebase) (storage architecture 1.1)
5. scope work required to avoid future flag days (but implementation not part 
of milestone 1)

Who's doing the work:

picl-idp: dcoates is the lead, with support from rfk, zaach, and dev/ops to be 
determined
Android: Nick Alexander is the lead.
Desktop: Lloyd Hilaiel is the lead in constant contact with Gavin, Dolske, and 
ttalbert
Future storage scoping work continues in parallel by: ckarlof working closely 
with rnewman & warner

On android and desktop sides we'll pull in additional help as needed.

What's next:

First step is to define the steps to get to milestone one.  That happens below.

Second step is for Nick Alexander to break this down into granular bugzilla 
bugs for implementation on the android side (happening today).

Third step is for lloyd to map these bugs over to desktop. (happening tomorrow)

Fourth step is to knock them down one by one, with code landing in ELM.

Key Steps:

1a. On Desktop implement HTML based authentication - sign up/sign in 
1b. On Android, implement native Account and native UI authentication flow

2. On both platforms, use Sync 1.1 user API 
(http://docs.services.mozilla.com/reg/apis.html) to create a "derived" Sync 
user account with username, password, and encryption keys derived from the 
Firefox Account settings. [1]

3. On both platforms, use derived Sync account to store data into existing Sync 
1.1

Thoughts?

lloyd

[1] On Android, this will look weird -- there will be a Firefox Account and a 
Sync Account at the same time.  This is temporary.  If we really care to make 
this look slick, we can make the delegated Sync account go away.  On Desktop, 
there will be the usual evidence of Sync.
_______________________________________________
Sync-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/sync-dev

Reply via email to