Confirmed users
90
edits
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
== Objective == | == Objective == | ||
This is a proposal for a framework on FirefoxOS to support apps that wish to synchronize data with a remote server. The framework itself would not provide a means of performing sync; it is not a "sync engine". It would instead permit apps to request to be awakened in the background to sync data periodically. When conditions were suitable (e.g., wifi were available, system load were low), apps would be awakened in turn and given some time to sync. An app awakened for background sync should be given some protection by the system, such as a better OOM-kill score, to increase the likelihood that it would complete successfully. | |||
Several proposed standards and work in progress on FirefoxOS would support this system, in particular: | |||
* https://github.com/slightlyoff/BackgroundSync/blob/master/explainer.md | * [https://github.com/slightlyoff/BackgroundSync/blob/master/explainer.md BackgroundSync] | ||
* https://github.com/slightlyoff/ServiceWorker/blob/master/explainer.md | * [https://github.com/slightlyoff/ServiceWorker/blob/master/explainer.md ServiceWorkers] | ||
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1014023 system messages to wake apps on DataStore change] | |||
== Examples == | |||
Consider an app | |||
One of our first use cases | |||
There are shared and private data types on fxos | There are shared and private data types on fxos | ||
Line 18: | Line 25: | ||
both should be able to have a backing store that can sync with the apps on device | both should be able to have a backing store that can sync with the apps on device | ||
== Architecture == | |||
[[File:Fxos sync v1.png|frameless|left]] | |||
== Use Cases == | == Use Cases == |