CloudServices/Sync/FxSync/ClientPriorities: Difference between revisions
< CloudServices | Sync | FxSync
Jump to navigation
Jump to search
m (Telliott moved page Services/Sync/FxSync/ClientPriorities to CloudServices/Sync/FxSync/ClientPriorities) |
|||
(20 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= | = [STALE] Client Priorities = | ||
'''This is supserseded by [[Services/Sync/FxSync/Roadmap|the FxSync Roadmap]].''' | |||
== Feature Reqs from Product == | |||
* {{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. | |||
* | == Platform-level improvements == | ||
** Don't spin the event loop | |||
*** Introduce async APIs | * {{p1|War On Sync}} | ||
** Don't spin the event loop {{bug|600059}} | |||
*** Introduce async APIs across SyncEngine, Store, Tracker | |||
*** also see [[/Services/Sync/WEP/116]] | *** also see [[/Services/Sync/WEP/116]] | ||
** Avoid synchronous I/O *everywhere*. Needs async bulk APIs in platform: | ** Avoid synchronous I/O *everywhere*. Needs async bulk APIs in platform: | ||
Line 19: | Line 42: | ||
*** bookmarks | *** bookmarks | ||
* | * {{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}} | ||
** use Services, XPCOMUtils where possible | ** use Services, XPCOMUtils where possible | ||
** use NetUtil.BadCertHandler? | ** use NetUtil.BadCertHandler? | ||
** implement + use toolkit generic async resource | ** implement + use toolkit generic async resource {{bug|581560}} | ||
* | * [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 |
Latest revision as of 20:11, 19 November 2013
[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
- UX TBD, but fairly simple to implement (new data type, likely)
- [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
- Introduce async APIs across SyncEngine, Store, Tracker
- also see /Services/Sync/WEP/116
- Avoid synchronous I/O *everywhere*. Needs async bulk APIs in platform:
- forms
- passwords
- bookmarks
- Don't spin the event loop bug 600059
- [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