Come on, give me some credit. I wasn't addressing that single straw example.
You're asserting that we can always discard one of two conflicting records on the server without meaningful impact to a user -- server-side blind conflict resolution. A write on a client gets seamlessly undone at a later date during replication. I assert that we can't always do so; you'll see bookmark renames reverting, passwords changing to the old value, and so on, just because of timing accidents. The result of that runs the gamut of user opinion from "unnoticeable" through "Firefox feels kinda unreliable" to "Firefox lost my password". We can do much better. (We especially cannot do this if there's structure involved, because consistency spans individual records; conflict resolution requires an understanding of the data model. Achieving consistency is a big motivator for the *Sync proposals.) Furthermore, a sync implementation already needs to do client-side content-based data merging if it wants to support setup without blowing away your local data. So it's not like this is a significant additional requirement. And at the extreme, where a data type *does* admit to a "don't bother" reconciling technique, that's trivial to implement on the client: a client downloading a server record that 'conflicts' will just apply it over their local record. No conflict. I agree that _needless_ complexity is our enemy. But we should be aware of the consequences of apparently easy simplifications. -R ----- Original Message ----- From: "Andreas Gal" <[email protected]> To: "Richard Newman" <[email protected]> Cc: "Lloyd Hilaiel" <[email protected]>, [email protected] Sent: Friday, July 26, 2013 5:49:20 PM Subject: Re: whats the key anyway? Help me understand for what use case a precise count is relevant. Andreas Sent from Mobile. On Jul 26, 2013, at 17:39, Richard Newman <[email protected]> wrote: > I disagree: repeating the mistakes of Weave is the biggest enemy here. And > one of those mistakes was thinking that "good enough" was good enough, when > it manifestly was not, at any level of abstraction. We should not be trading > the very basics of correctness for the possibility of a closer ship date. > > ----- Original Message ----- > From: "Andreas Gal" <[email protected]> > To: "Richard Newman" <[email protected]> > Cc: "Lloyd Hilaiel" <[email protected]>, [email protected] > Sent: Friday, July 26, 2013 5:29:48 PM > Subject: Re: whats the key anyway? > > There are many different ways to do this. And it simply doesn't matter > which one we chose. Losing a usage count is irrelevant. As long we are > reasonably counting, that's perfectly fine. Complexity is our biggest > enemy here. Precision is not a design goal. Fast delivery of a > solution that reasonably approximates consistency is. > > Andreas _______________________________________________ Sync-dev mailing list [email protected] https://mail.mozilla.org/listinfo/sync-dev

