Confirmed users
90
edits
No edit summary |
|||
Line 1: | Line 1: | ||
'''''Work In Progress - Nothing Final Here''''' | |||
== Objective == | == Objective == | ||
Line 16: | Line 19: | ||
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 | ||
== Use Cases == | |||
* install a flickr app, and your photos get uploaded to flickr ("sync") | * install a flickr app, and your photos get uploaded to flickr ("sync") | ||
Line 24: | Line 27: | ||
* Fruux backup keeps contacts in sync, EXCEPT Facebook contacts | * Fruux backup keeps contacts in sync, EXCEPT Facebook contacts | ||
* provision identity on fruux using firefox accounts assertion | * provision identity on fruux using firefox accounts assertion | ||
== Features == | |||
=== Scheduling === | |||
when resources permit (memory, wifi) | |||
Aware of network cost (e.g., wifi only, nighttime minutes) | |||
provide each app some assurance that it won't get OOM-killed while working | |||
make sure each app is done within 5 minutes or so | |||
feedback on success/failure? | |||
Precedent: alarm API. | |||
* Doesn't account for cases where you don't want the app to be woken up (e.g., the e-mail app shouldn't check for new messages if the phone's battery is running low). | |||
* Can't wake up the app when an external event happens (e.g., you're on Wi-Fi). Scheduling becomes interesting, too; 10 apps shouldn't be woken up simultaneously. | |||
== UX Challenges == | |||
* how does the user know this is going on in the background? | |||
* how can the user know about resource usage per app? | |||
* if i'm on a limited data plan, there should be a way for me to know that there's a crappy app that's hoovering up all my data (existing network stats? per-app data usage?) | |||
* dovetailing with success/failure feedback - something like android's notifications that "15 photos synced three minutes ago" - toaster pops down and tells you the results. simple, unobtrusive, non-blocking affordances to tell you that things worked. | |||
* if there's a sync app, where do users find it? (preinstalled, probably) but not a certified app, so it can be updated. it would show up as an update, as play services on android - you can't open that app, but you can update it out-of-cycle | |||
* would be nice to identify such apps as special in some way - they don't have a launcher, etc. (something in the manifest for this already? "role"?) | |||
* services app could be bundled with various other apps? | |||
== Architecture == | == Architecture == |