Services/Sync/AndroidSyncPushToDevice

From MozillaWiki
< Services‎ | Sync
Jump to: navigation, search
Please use "Edit with form" above to edit this page.

Status

Android Sync: Push to Device
Stage Draft
Status `
Release target `
Health OK
Status note `

Team

Product manager `
Directly Responsible Individual Richard Newman
Lead engineer Marina Samuel
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead `
UX lead `
Product marketing lead `
Operations lead `
Additional members `

Open issues/risks

`

Stage 1: Definition

1. Feature overview

One of Sync's value propositions for a mobile user is "get up and go."

Browsing "tabs from other devices" on the phone is a cumbersome "pull" method for achieving this. Much better would be a way to "push" an open tab, along with its state (form fields, history, page position…), from the desktop to your phone.

Last year we added the infrastructure to support doing exactly this via Sync. An add-on provides the experimental UI.

Android Sync gives us even more possibilities:

  • Sync is running all the time, so we can handle the push sooner, rather than waiting for Fennec to launch. Your pushed tabs are waiting for you in the notification bar when you unlock your phone.
  • We're a full-fledged Android citizen, so we can offer more than just the browser: we can open links in suitable applications (Maps, YouTube…).


The second half of this is pushing from the phone. We can do that, too: Sync can subscribe to the standard ACTION_SHARE intent, and when Fennec offers to share a page, "Firefox on another device" is one of the options.

2. Users & use cases

Sync-enabled mobile users. Push-to-device is one of the key value propositions for Fennec and Sync.

3. Dependencies

Completion of P2D work on desktop.

4. Requirements

  • Generate a notification for each pushed tab, as required by Android design guidelines.
  • Pass provided extra metadata to final handling Activity.

Non-goals

`

Stage 2: Design

5. Functional specification

Receiving P2D will involve:

  • Implementing a command processor for pushed tabs, as for desktop.
  • Generating notifications for each, which will themselves…
  • … send an implicit Intent with the URL, stuffing additional tab data into the extras bundle.
  • For the best user experience, extending Fennec to not only catch those standard URL intents, but also understand the extras. This will allow Fennec to preserve tab state, just like desktop Firefox.

All of the Android magic — opening Google Maps when sent a map URL, for example — comes for free.

6. User experience design

There's very little UX involved here.

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

`


Feature details

Priority Unprioritized
Rank 999
Theme / Goal `
Roadmap Sync
Secondary roadmap Firefox Mobile
Feature list Services
Project `
Engineering team Services

Team status notes

  status notes
Products ` `
Engineering ` `
Security ` `
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` `
User experience ` `
Product marketing ` `
Operations ` `