Identity/Features/Sign into the browser

< Identity
Revision as of 22:36, 26 July 2012 by Ladamski (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Please use "Edit with form" above to edit this page.

Status

Sign into the browser
Stage On hold
Status `
Release target `
Health OK
Status note `

{{#set:Feature name=Sign into the browser

|Feature stage=On hold |Feature status=` |Feature version=` |Feature health=OK |Feature status note=` }}

Team

Product manager Dan Mills
Directly Responsible Individual Dan Mills
Lead engineer Ben Adida
Security lead `
Privacy lead Sid Stamm
Localization lead `
Accessibility lead `
QA lead `
UX lead Zhenshuo Fang
Product marketing lead `
Operations lead `
Additional members David Dahl, Anant N., Matthew Noorenberghe, Frank Yan

{{#set:Feature product manager=Dan Mills

|Feature feature manager=Dan Mills |Feature lead engineer=Ben Adida |Feature security lead=` |Feature privacy lead=Sid Stamm |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=` |Feature ux lead=Zhenshuo Fang |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=David Dahl, Anant N., Matthew Noorenberghe, Frank Yan }}

Open issues/risks

Requires coordination with services infrastructure to support BrowserID-based authentication, as well as a key-wrapping feature in BrowserID.

Stage 1: Definition

1. Feature overview

Being able to sign into the browser is a key feature in our identity roadmap. It serves two main purposes:

  1. To connect the user to services in the cloud. By signing in to the browser, the user connects to a Persona account, which provides a discovery points for cloud-based services.
  2. To enable at least basic support for user (profile) switching in multi-user/shared-device situations.

2. Users & use cases

As a user, I want to know at a glance whether I am signed into the browser, or if someone else is.

As a user, I want to be able to easily find the sign in button/link/option.

As a new user, I want to be able to create an account by providing my email address and choosing a new password.

As a new user, I want to be able to verify my email asynchronously, so that I can use the browser immediately.

As an existing user on a new device, I want to be able to sign into my account using my email address and password.

As an existing user returning to a device, I need to use my password (but not my email) to sign back in.

As an existing user, I want to be able to reset my password if I forget it.

As a new signed-in user, I want to know about the services and features now available to be by having signed in.

As a returning signed-in user, I want to quickly get back to my personalized browser profile.

As a signed-in user, I want to see my list of email addresses (and not a sign-in screen) when I click "sign in" at a Persona-supporting site.

3. Dependencies

`

4. Requirements

  • Ability for user to sign in via UI option somewhere (e.g., menu)
  • Ability to sign out (stopping any feature that requires sign-in)
  • Ability for the user to recognize the currently signed-in account at a glance (or at least with very minimal effort)
  • Ability for other Firefox features to trigger sign-in flow
  • Email-based authentication using browserid.org accounts
  • Should match BrowserID flow except where absolutely necessary (e.g., ask for email first, decide what to do based on the email)
  • Ability to create browserid.org accounts
    • Ask for password up-front, but allow deferred verification (see: BrowserID "unverified" flow/feature)
  • UI should be unambiguous that the user is interacting with the *browser* (not content)

Non-goals

  • master password integration / modal sign-in screen on browser startup

Stage 2: Design

5. Functional specification

Types of users:

  • New user come from Mobile first run
  • New user come from desktop
  • Existing user who use Sync (1 or more device; our server vs. own server)
  • Existing Persona ID user

6. User experience design

Stage 3: Planning

7. Implementation plan

`

8. Reviews

Security review

`

Privacy review

`

Localization review

`

Accessibility

`

Quality Assurance review

`

Operations review

`

Stage 4: Development

9. Implementation

`

Stage 5: Release

10. Landing criteria

` {{#set:Feature open issues and risks=Requires coordination with services infrastructure to support BrowserID-based authentication, as well as a key-wrapping feature in BrowserID. |Feature overview=Being able to sign into the browser is a key feature in our identity roadmap. It serves two main purposes:

  1. To connect the user to services in the cloud. By signing in to the browser, the user connects to a Persona account, which provides a discovery points for cloud-based services.
  2. To enable at least basic support for user (profile) switching in multi-user/shared-device situations.

|Feature users and use cases=As a user, I want to know at a glance whether I am signed into the browser, or if someone else is.

As a user, I want to be able to easily find the sign in button/link/option.

As a new user, I want to be able to create an account by providing my email address and choosing a new password.

As a new user, I want to be able to verify my email asynchronously, so that I can use the browser immediately.

As an existing user on a new device, I want to be able to sign into my account using my email address and password.

As an existing user returning to a device, I need to use my password (but not my email) to sign back in.

As an existing user, I want to be able to reset my password if I forget it.

As a new signed-in user, I want to know about the services and features now available to be by having signed in.

As a returning signed-in user, I want to quickly get back to my personalized browser profile.

As a signed-in user, I want to see my list of email addresses (and not a sign-in screen) when I click "sign in" at a Persona-supporting site. |Feature dependencies=` |Feature requirements=* Ability for user to sign in via UI option somewhere (e.g., menu)

  • Ability to sign out (stopping any feature that requires sign-in)
  • Ability for the user to recognize the currently signed-in account at a glance (or at least with very minimal effort)
  • Ability for other Firefox features to trigger sign-in flow
  • Email-based authentication using browserid.org accounts
  • Should match BrowserID flow except where absolutely necessary (e.g., ask for email first, decide what to do based on the email)
  • Ability to create browserid.org accounts
    • Ask for password up-front, but allow deferred verification (see: BrowserID "unverified" flow/feature)
  • UI should be unambiguous that the user is interacting with the *browser* (not content)

|Feature non-goals=* master password integration / modal sign-in screen on browser startup |Feature functional spec=Types of users:

  • New user come from Mobile first run
  • New user come from desktop
  • Existing user who use Sync (1 or more device; our server vs. own server)
  • Existing Persona ID user

|Feature ux design=* New user on desktop: http://people.mozilla.com/~zfang/SignIn/Home.html

|Feature implementation plan=` |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature landing criteria=` }}

Feature details

Priority P2
Rank 999
Theme / Goal BrowserID
Roadmap Mozilla Identity
Secondary roadmap Security
Feature list Other
Project `
Engineering team `

{{#set:Feature priority=P2

|Feature rank=999 |Feature theme=BrowserID |Feature roadmap=Mozilla Identity |Feature secondary roadmap=Security |Feature list=Other |Feature project=` |Feature engineering team=` }}

Team status notes

  status notes
Products ` `
Engineering ` `
Security sec-review-needed bug 744948
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` `
User experience ` `
Product marketing ` `
Operations ` `

{{#set:Feature products status=`

|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=sec-review-needed |Feature security health=Blocked |Feature security notes=bug 744948 |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}