CloudServices/Sync/FxSync/ClientPriorities: Difference between revisions

m
 
(19 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Firefox Sync client engineering roadmap =
= [STALE] Client Priorities =


== Features ==
'''This is supserseded by [[Services/Sync/FxSync/Roadmap|the FxSync Roadmap]].'''


* (P2) Push to mobile
== Feature Reqs from Product ==
* (P2) Sync add-ons
* (P2) Sync web apps
* (P2) Sync localStorage


== Platform ==
* {{p1|Improve discoverability}}
** basically http://areweprettyyet.com/4/syncPromotion/
* {{p1|Instant Sync (engine specific sync heuristics)}}
** "Instant" may be misleading, but essentially this is much more aggressive syncing of certain data types (i.e. bookmarks, passwords) and smarter sync-on-return-from-idle behaviour.
* {{p1|Deauthorize device from syncing (e.g. lost phone) from Account Portal}}
** Needs a spec, hard to revoke access to just a device, since it has all creds.
** May morph to "remote wipe" trigger that isn't tied to user/pass auth (token-based auth + polling/push?)
* {{p1|Improve Sync setup process}}
** Waiting on user study, as yet unscoped
* {{p2|Push to mobile}}
** UX TBD, but fairly simple to implement (new data type, likely)
*** new data type? I'm not so sure... Would rather use push notifications --philikon
* {{p2|Sync add-ons}}
** Add/update/remove automatically across computers
** Does this apply to cross-app syncing, or is this like prefs?
*** Should be like prefs (only sync add-ons between Firefoxes, Fennecs, Thunderbirds, etc.) --philikon
* {{p2|Sync favicons}}
** This is less painful than we think, should be able to sync the moz_favicons table in some reasonable way.
* {{p2|Sync web apps}}
** Waiting on web app evolution
* {{p2|Sync localStorage}}
** Need to figure out space reqs, this will likely push us into "omg" levels of quota for some users
** Also highly non-trivial to do conflict resolution. localStorage is essentially a flat object, afaik no timestamps. Easy to get web app's data into inconsistent state --philikon
* {{p2|Snippet view in about:home}}
** Need more details here.


* (P1) War On Sync
== Platform-level improvements ==
 
* {{p1|War On Sync}}
** Don't spin the event loop {{bug|600059}}
** Don't spin the event loop {{bug|600059}}
*** Introduce async APIs across SyncEngine, Store, Tracker
*** Introduce async APIs across SyncEngine, Store, Tracker
Line 19: Line 42:
*** bookmarks
*** bookmarks


* (P1) Crossweave 2.0
* {{p2|TPS, formerly known as Crossweave 2.0}}
** lives in services/sync/tests/...
** lives in services/sync/tests/...
** maintained by us, run by tinderboxes
** maintained by us, run by tinderboxes
Line 30: Line 53:
*** run on fennec
*** run on fennec


* (P2) Get rid of 3.5/3.6 compat code
* {{p2|Get rid of 3.5/3.6 compat code}}
** use Services, XPCOMUtils where possible
** use Services, XPCOMUtils where possible
** use NetUtil.BadCertHandler?
** use NetUtil.BadCertHandler?
** implement + use toolkit generic async resource {{bug|581560}}
** implement + use toolkit generic async resource {{bug|581560}}


* (P3) Automatic Profiling
* [P3] Automatic Profiling
** are we JITing everywhere?
** are we JITing everywhere?
** main thread blocking (UI responsiveness)
** main thread blocking (UI responsiveness)
** memory leaks
** memory leaks
canmove, Confirmed users
1,173

edits