Identity/AttachedServices: Difference between revisions
Line 37: | Line 37: | ||
|When a user logs into the browser using a Persona identity, they likely want to connect a number of services, including passwords, bookmarks and tabs backup, contacts in the cloud, apps, etc. The PiCL project will be publishing updates on a regular basis. Details on our milestone schedule can be viewed at the [https://id.etherpad.mozilla.org/picl-engineering-milestones/ PiCL engineering milestone etherpad] | |When a user logs into the browser using a Persona identity, they likely want to connect a number of services, including passwords, bookmarks and tabs backup, contacts in the cloud, apps, etc. The PiCL project will be publishing updates on a regular basis. Details on our milestone schedule can be viewed at the [https://id.etherpad.mozilla.org/picl-engineering-milestones/ PiCL engineering milestone etherpad] | ||
| | | | ||
|Ben (Project Lead), Jed (Contacts Lead), Chris K (Password Lead), Crystal (UX), Brian W, Ryan K, Dan W, Sean, Zach | |Ben (Project Lead), Jed (Contacts Lead), Chris K (Password Lead), Crystal (UX), Brian W, Ryan K, Dan W, Sean, Zach | ||
| | | | ||
|- | |- | ||
|Milestone 1A: | |Milestone 1A: |
Revision as of 19:34, 5 March 2013
Overview
We want users to have access to their data, in particular the data that forms their web-browsing context (bookmarks, tabs, web apps, passwords, etc.) from all of their devices. This data should be tied to their identity, so that logging into a device is sufficient to connect to all the services the user has previously set up, whether those services are provided by Mozilla or third parties. These are Identity-Attached Services, which, as a whole, we're code-naming PICL (Profile In the Cloud). While we figure out what PICL will include, and until we can demonstrate true user value, this is a Mozilla Labs project. If PICL is successful, it will subsume Firefox Sync.
Some early explorations of the issues surrounding this effort are available in this public Mozilla tech talk: http://vid.ly/5x1u5r
Use Cases
(forthcoming)
Code
- Passwords: https://github.com/mozilla/picl-passwords
- Tabs: https://github.com/mozilla/picl-tabs
- Bookmarks: TBD
- Contacts: https://github.com/mozilla/picl-contacts
- Backend Server: https://github.com/mozilla/picl-server
Rough Working Documents
- https://id.etherpad.mozilla.org/picl
- Storage API Proposal v0: https://docs.google.com/document/d/1aU0Gdga-JBr6f4eqPF5YHkXyGYXtWCP7lTLJThjG3KE/edit?usp=sharing
- Identity/CryptoIdeas/01-PBKDF-scrypt
- Identity/CryptoIdeas/02-Recoverable-Keywrapping
- Identity/CryptoIdeas/03-ID-Attached-Data
- Identity/NullSecurityProtocol
- Identity/AttachedServices/StorageProtocolZero
Schedule
Milestones | Overview | Target | Crew | Status |
---|---|---|---|---|
When a user logs into the browser using a Persona identity, they likely want to connect a number of services, including passwords, bookmarks and tabs backup, contacts in the cloud, apps, etc. The PiCL project will be publishing updates on a regular basis. Details on our milestone schedule can be viewed at the PiCL engineering milestone etherpad | Ben (Project Lead), Jed (Contacts Lead), Chris K (Password Lead), Crystal (UX), Brian W, Ryan K, Dan W, Sean, Zach | |||
Milestone 1A: | native Persona login in FX desktop build (could this be an add-on?), first build of Android "Sync Provider", servers functional with client-side tests for 2 data-types | March 1 | In Progress | |
Milestone 1B: | desktop: log in with actual Persona assertions, read/write bookmarks, read/write passwords, desktop: full outgoing queues on all data types, ingoing queue with strategy for no-cycles :), android:, read/write two data types with fake auth , comparison of data storage mechanisms for different datatypes (class A, A+ and keyserver)., automation of server deployment and scaling: first pass, warner's advanced data-sync model - unit tests for whole-collection diffs, Nightly with native Persona | March 8 | In Progress | |
Milestone 1C: | desktop: access tabs from other machines, desktop: full incoming/outgoing queues with client-side rebasing, android: read/write two datatypes with actual Persona assertions, servers: data class A+ model with real keyserver. | March 15 | In Progress | |
Milestone 1D: | desktop: history, desktop: queue integration, android: 3-4 data types. | March 29 | Not Started | |
Milestone 1E: | desktop alpha add-on ready for internal demonstrations, android alpha app ready for internal demonstrations, server architecture on AWS with scale metrics and initial auto-scale strategy. | March | Not Started |
Demos
We regularly build demos of working code.
Week ending | Description | Link | Contact |
---|---|---|---|
2013-01-25 | Tabs: Demo of an experimental tab-synchronization addon, using Persona for login and Firebase for realtime data storage. NOTE: the bug mentioned in the video has been fixed. | https://vimeo.com/58167504 | Brian Warner |
2013-02-01 | Contacts: Proof of concept - Detecting and publishing changes to Contacts in PICL. Github code and documentation. | http://vimeo.com/58592827 | Jed Parsons |
2013-02-08 | Server: Simple Loadtest Automation with AWS and FunkLoad. Github code and documentation. | https://vimeo.com/59229203 | Ryan Kelly |
2013-02-22 | Persona dialog hosted in native firefox chrome - wip. The persona login dialog is hosted in a hidden iframe that can be attached to the native interface (the "doorhanger" off the url bar) when user interaction is needed. Privileged code is injected into the iframe that hosts the persona dialog, which enables us to message to and from the dialog from within native DOM functions. | http://vimeo.com/60136485 | Jed Parsons |
2013-03-01 | This is a demonstration of a simple PICL sync prototype that uses native Persona in a special Firefox build, a Jetpack add-on, and a storage backend written in Node.js. This prototype will sync passwords and the contents of the bookmarks toolbar. | http://vimeo.com/60875785 | Chris Karlof |
2013-03-01 | PICL Experiment - DB Triggers for Places DB Changelog | http://vimeo.com/60851334 | Ben Adida |
2013-03-01 | Triggering the native Persona interface from Firefox chrome code | http://vimeo.com/60873370 | Jed Parsons |