Identity/AttachedServices

From MozillaWiki
Jump to: navigation, search

NOTE: This page is defunct and archived for historical purposes.

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).

Some early explorations of the issues surrounding this effort are available in this public Mozilla tech talk: http://vid.ly/5x1u5r

As of the second quarter of 2013, PICL is no longer an experiment. Check out the roadmap.

If you're interested in the user flows, take a look at the UX mockup.

Use Cases

The user stories listed below are in order of priority.

User Story Data Type Theme Notes
As a user, I want to be able to pick up any new device and quickly & easily replicate my core Firefox experience so I don't have repeat a bunch of work I've already done on another device. All Portability FX Desktop; FX Android
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. All Portability FX Desktop; FX Android
As a user, when I install Firefox on a new device, I want my full and personalized Firefox experience to be available as quickly and easily as possible. I don't want to have to think about how to get my data beyond signing in to my Firefox Account, and that process should be as simple and intuitive as possible. N/A Portability FX Desktop; FX Android
As a user, if I have typed in and stored a password in Firefox on one device, 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!). Password Password FX Desktop; FX Android
As a user, I want to be able to stop using Account altogether, disconnecting all of my clients, deleting all of my data, and deleting all traces of the account in its entirety so I can be assured that no one has any way to know I ever had an account at all. N/A Backup FX Desktop; FX Android
Users can set up their Account on any device or machine from the menu N/A Setup FX Desktop; FX Android
As a user who has ignored the prompts to create an Acccount, I can create an Account on my own schedule. N/A Setup FX Desktop; FX Android
As a user, I want the option to more fully secure my non-personally identifiable data. I would rather have my tabs and history be unrecoverable if I lose my password than risk having them readable in case of a security breach. N/A Security Security
As a user, I don't want to be forced to create a 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. N/A Setup FX Desktop; FX Android
As a user, I want all of my data to be saved on my local machine if I haven't set up a Account, so I am still able to build up a collection of data and personalize my Firefox experience over time. N/A Backup FX Desktop; FX Android
As a user, I want all of my data to be moved and stored somewhere on my behalf once I create a Account so I do not have to start over if I create a Account after using Firefox for a time without one. N/A Portability FX Desktop; FX Android
As a user, if I explicitly log out of my Account, my Firefox reverts to the 'default' profile that still behaves as typical Firefox. N/A Multi-user FX Desktop; FX Android
As a user signing into my Account on a device I use relatively frequently, I want my data available instantly so I do not have to wait for it to be synced. N/A Multi-user FX Desktop; FX Android
As a user of a shared device, I would like all my local data to be safely encrypted when I log out so that it cannot be accessed until I securely log in again. N/A Security Security
As a user, I'm more interested in syncing bookmarks, passwords and 'my' awesome bar when I first start playing with this feature, and I'm not interested in syncing themes or add-ons which may not be relevant from one device type to the next, so I can have a simple way forward in using this new feature. Bookmarks, Passwords, History (incl frecency & etc) Portability FX Desktop; FX Android
As Mozilla, I want data about how the feature is working so I can measure and improve. Telemetry Metrics Persona
As a user, I want to be able to quickly change the password for my Account data, so if someone does steal my laptop they won't be able to access my data even if my browser is still logged in to my Account. Password Backup FX Desktop; FX Android
As a user signing into my Account on a shared (or non shared) device, I want to have a specific option to permanently delete my data on a device in preparation for giving it to someone else / throwing it away. N/A Multi-user FX Desktop; FX Android
As a paranoid user, I would not like anyone at all to be able to look at the data synced between my devices under any circumstances. N/A Security Security

Code

Rough Working Documents

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-15 Social tabs provider demo. Github code. https://vimeo.com/59761447 Nick Alexander
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
2013-03-07 PICL Live Functional Tests https://vimeo.com/61238051 Ryan Kelly
2013-03-15 PiCL Android Bookmarks Sync Demo https://vimeo.com/61935511 Nick Alexander
2013-03-22 PiCL Desktop Client Update Demo https://vimeo.com/62470770 Chris Karlof
2013-03-29 Sign In to Browser and API with native Persona https://vimeo.com/62828580 Jed Parsons
2013-03-29 Delta-sync demo 2 https://vimeo.com/62973238 Brian Warner
2013-04-04 Firefox Profile in the Cloud Prototype Q1 Demo https://vimeo.com/63348018 Chris Karlof
2013-04-12 PICL History Syncing demo https://vimeo.com/63921748 Chris Karlof
2013-04-15 Video demo of awsboxen deployment https://vimeo.com/64053049 Ryan Kelly
2013-06-13 PiCL Third-party Part 1: Intro https://vimeo.com/68317828 Vlad Filippov
2013-06-19 PiCL Third-party Part 2: Mobile to Desktop https://vimeo.com/68674588 Vlad Filippov
2013-07-03 PiCL Third-party Sync Part 3: Google Drive and Snippets https://vimeo.com/69644868 Vlad Filippov