CloudServices/Sync/FxSync/ClientPriorities

From MozillaWiki
Jump to: navigation, search

[STALE] Client Priorities

This is supserseded by the FxSync Roadmap.

Feature Reqs from Product

  • [P1] Improve discoverability
  • [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.

Platform-level improvements

  • [P1] War On Sync
    • Don't spin the event loop bug 600059
    • Avoid synchronous I/O *everywhere*. Needs async bulk APIs in platform:
      • forms
      • passwords
      • bookmarks
  • [P2] TPS, formerly known as Crossweave 2.0
    • lives in services/sync/tests/...
    • maintained by us, run by tinderboxes
    • mochitests? mozmill?
    • JSON test file format (avoid custom format + parser), possibly even JS
    • moar end-to-end tests
      • tests the hell out of bookmark dupe detection
      • test all obscure bookmark types (queries, etc.)
      • need to test errors and edge cases as well
      • run on fennec
  • [P2] Get rid of 3.5/3.6 compat code
    • use Services, XPCOMUtils where possible
    • use NetUtil.BadCertHandler?
    • implement + use toolkit generic async resource bug 581560
  • [P3] Automatic Profiling
    • are we JITing everywhere?
    • main thread blocking (UI responsiveness)
    • memory leaks