Services/Sync/AndroidSyncPushToDevice
Status
Android Sync: Push to Device | |
Stage | Draft |
Status | ` |
Release target | ` |
Health | OK |
Status note | ` |
{{#set:Feature name=Android Sync: Push to Device
|Feature stage=Draft |Feature status=` |Feature version=` |Feature health=OK |Feature 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 | ` |
{{#set:Feature product manager=`
|Feature feature manager=Richard Newman |Feature lead engineer=Marina Samuel |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=` |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature 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
` {{#set:Feature open issues and risks=` |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.
|Feature users and use cases=Sync-enabled mobile users. Push-to-device is one of the key value propositions for Fennec and Sync.
|Feature dependencies=Completion of P2D work on desktop.
|Feature requirements=* Generate a notification for each pushed tab, as required by Android design guidelines.
- Pass provided extra metadata to final handling Activity.
|Feature non-goals=` |Feature functional spec=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. |Feature ux design=There's very little UX involved here. |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 | Unprioritized |
Rank | 999 |
Theme / Goal | ` |
Roadmap | Sync |
Secondary roadmap | Firefox Mobile |
Feature list | Services |
Project | ` |
Engineering team | Services |
{{#set:Feature priority=Unprioritized
|Feature rank=999 |Feature theme=` |Feature roadmap=Sync |Feature secondary roadmap=Firefox Mobile |Feature list=Services |Feature project=` |Feature engineering team=Services }}
Team status notes
status | notes | |
Products | ` | ` |
Engineering | ` | ` |
Security | ` | ` |
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=` |Feature security health=` |Feature security notes=` |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=` }}