Hi folks, Figured I'd send a note to a wide distribution.
We have preliminary bookmark telemetry from iOS clients in the wild. This is the first time we've been able to measure the health of users' bookmark collections: whether or not all of their bookmarks have made it to their Firefox Account, with every folder's children present, and every record's parent folder present and correct. Caveats apply: - We only sampled 63 users. Our pre-release channel is small. - These users opted in to testing pre-release Firefox on iOS, so they probably skew slightly more towards heavier bookmark usage. - We haven't tracked characteristics of their Sync account, so these accounts might be old and crufty or new and shiny. Probably they don't heavily overlap with Android users, at least. - We haven't tracked how many devices these users are syncing, but it must be at least one iOS and one non-iOS device, probably a desktop. We're taking a measurement at each point at which the user's device would attempt to bidirectionally sync bookmarks. That means every fifteen minutes or on launch for failing users, and for everyone else only when a bookmark changes somewhere. We're also tracking *why* the user's bookmark collection is considered inconsistent, which is interesting to me and MarkH, but probably not for anyone else! Our results: - These 63 users averaged 827 bookmarks apiece. Min = 0, Max = 6234, Median = 491. - 20 users have bookmark data that isn't correct. Only *one user recovered* on a subsequent attempt. - - Above 0 bookmarks, your chance of your server data being correct is 68%. - *Above 222 bookmarks, your chance is 50-50*. - Above 1000 bookmarks (25% of this sample population), your chance is just 37%. My conclusion: the state of users' bookmark collections on the server, as uploaded by desktop, is as bad as I had feared: if we enable bidirectional bookmark sync now, a moderate user has a 50-50 chance of being in a good state and being able to sync. (Note that whether you encounter problems is decided by your behavior more than circumstance — if you don't, e.g., re-file bookmarks into folders, and don't bookmark in close succession, then you might make it to 20K without problems!) It's worth noting that *this issue does not only impact iOS*. Those same users, connecting an Android device or a desktop, have about that chance of seeing bookmarks reordered, duplicated, or moved — Bug 621584. That these issues are so widespread implies that there are multiple causes, and that partial writes (Bug 1253051) are not solely responsible. My money is on missed changes (Bug 1235269); the number of parentid mismatches and structure collisions support this hypothesis. That one of the failing clients subsequently reached consistency implies that partial reads or writes do occur in the wild, and that the iOS client *does correctly recover* if the records eventually make it to the server. That's a nice positive finding. Our goal should be to make sure that the only inconsistencies a client sees are due to partial reads, which is a natural and expected temporary state. My recommendations continue to be in line with conversations I've had with many of you: - Prioritize two pieces of desktop work: *recovery* and *correct tracking*. It's not enough to just fix tracking; in order to unblock existing users we also need to proactively detect and fix up server contents to match the client's data. Both of these items are under the umbrella of Bug 1235269, but we should split out recovery and act on that, and correctly implement tracking of changes alongside. - Work on atomic uploads to avoid partial writes. This is a little bit of a project; the server folks are rolling this out, then clients need to opt in to the behavior. It's less important for desktop than change tracking, but it still needs to get done. My tentative proposal for iOS is to* ship 3.0 as-is*, enabling bidirectional sync in 4.0 or 5.0 — as soon as we're confident that desktops will eventually self-recover and our current 50-50 bias will trend towards 100%. I think this is acceptable; we'll continue to offer the read-only fallback. The alternative is that we ship 3.0 with the flag flipped, and approximately *70%* of our users get bidirectional syncing, with some of those users' Firefoxes eventually stopping as they encounter fresh corruption. That number is lower than I feel comfortable with for a feature that changes how your bookmark UI behaves. Opinions, questions, clarifications, etc. are all most welcome!
_______________________________________________ Sync-dev mailing list [email protected] https://mail.mozilla.org/listinfo/sync-dev

