Discussion:
Syncing
Matthieu Cormier
2010-01-26 15:40:57 UTC
Permalink
I've been seeing a lot about syncing with dropbox or mobile me, etc on
this list, so I thought I'd post a blog entry a recall reading a
couple of years ago.

[Disclaimer -- I personally do not have any experience writing syncing
kode and cannot vouch for the validity of this article. However, it
is well written and "sounds right".]

Basically the entry sums up to **Syncing is harder than you think**.

Here is an excerpt from the posting. I encourage you to read the full posting.

"Any bug, in any client, can potentially have unwelcome effects on all
of the other clients. That’s the whole point of syncing after all.
When a change is made, it is reflected everywhere. If that happens to
be the wrong change, then it will mess with all of your data. Oops.

You can think of the Truth Store as a well, from which every client
drinks. And any badly behaved client can easily, and inevitably always
accidentally, pour poison into the well.

Classic bugs are duplicating all of your data (because the client
thinks Sync Services told it to send it all the data to the Truth
again, and then the Truth thinks – I already know about this record,
the client must mean that I should create another, identical one), or
deleting all your data (this is also surprisingly easy to do), but
there’s all kinds of fun and madness in between.

There are very very few sync clients that can’t be caught out by some
unusual combination of data or events."

http://www.mildmanneredindustries.com/blog/?p=148

M@ -- http://www.preenandprune.com
Jeroen van der Ham
2010-01-26 16:27:29 UTC
Permalink
Post by Matthieu Cormier
I've been seeing a lot about syncing with dropbox or mobile me, etc on
this list, so I thought I'd post a blog entry a recall reading a
couple of years ago.
I'm sorry, but this really is not applicable to Letters.
Email using IMAP is not syncing with an unknown number of clients, or
between peers, but is simply syncing between a client and a server.
There can be no unclarity, because the server is always authorative. The
client merely updates the server.

Ergo, any problems with syncing are not a problem of the IMAP client,
but purely of the IMAP server.

Jeroen.
August Joki
2010-01-26 20:17:39 UTC
Permalink
Post by Jeroen van der Ham
I'm sorry, but this really is not applicable to Letters.
Email using IMAP is not syncing with an unknown number of clients, or
between peers, but is simply syncing between a client and a server. There
can be no unclarity, because the server is always authorative. The client
merely updates the server.
Ergo, any problems with syncing are not a problem of the IMAP client, but
purely of the IMAP server.
There was talk of how to share metadata between computers as well.
Rules, notes, etc.


-August
Jeroen van der Ham
2010-01-26 20:29:32 UTC
Permalink
Post by August Joki
There was talk of how to share metadata between computers as well.
Rules, notes, etc.
Ah I see.
If you want to sync something like that, I definitely agree with
Matthieu. I would stay very far away from that for 1.0, maybe even for 2.0.

On the other hand, 1Password is able to use Dropbox for its storage, and
syncing, and it does it remarkably well. If Letters needs a syncing
solution, I'd go in that direction.

Jeroen.
Letters Application
2010-01-26 20:42:54 UTC
Permalink
Post by Jeroen van der Ham
Post by August Joki
There was talk of how to share metadata between computers as well.
Rules, notes, etc.
Ah I see.
If you want to sync something like that, I definitely agree with Matthieu.
I would stay very far away from that for 1.0, maybe even for 2.0.
On the other hand, 1Password is able to use Dropbox for its storage, and
syncing, and it does it remarkably well. If Letters needs a syncing
solution, I'd go in that direction.
Jeroen.
... my experience with Dropbox on three local Macs was that it would
randomly get confused and a Mac I wasn't using would delete files from
inside my .svn folders. Imagine what fun that was to find and fix. I now
use Dropbox on one machine only!
Robin Benson
2010-01-26 20:43:53 UTC
Permalink
Post by August Joki
There was talk of how to share metadata between computers as well.
Rules, notes, etc
Tags, (un)read, flags, status.

Robin
Martin Redington
2010-01-26 21:49:26 UTC
Permalink
Funnily enough, I am the author of the original quote.

I would think that power users, with multiple macs, will want to sync
their rules-sets at minimum, which Mail supports. There may be other
attributes as well that would be useful, at an account or message
level.

Essentially, you just write a sync client to talk to the sync server,
and then mobile me, or some of the alternatives (e.g. SyncTogether)
should be able to sync your data between any macs. There is always a
chance that the server, mobile me, or bugs in your client will hose
the data, but you can mitigate this with careful backups (at an app
level), and support for allowing the user to revert.

This is probably a version 1.5 - 2.0 type feature ...

cheers,
m.
Post by Robin Benson
Post by August Joki
There was talk of how to share metadata between computers as well.
Rules, notes, etc
Tags, (un)read, flags, status.
Robin
_______________________________________________
List help: http://lists.ranchero.com/listinfo.cgi/letters-dev-ranchero.com
--
http://www.mildmanneredindustries.com/
Jonathan Wight
2010-01-26 22:23:58 UTC
Permalink
Post by Martin Redington
Funnily enough, I am the author of the original quote.
I would think that power users, with multiple macs, will want to sync
their rules-sets at minimum, which Mail supports. There may be other
attributes as well that would be useful, at an account or message
level.
Essentially, you just write a sync client to talk to the sync server,
and then mobile me, or some of the alternatives (e.g. SyncTogether)
should be able to sync your data between any macs. There is always a
chance that the server, mobile me, or bugs in your client will hose
the data, but you can mitigate this with careful backups (at an app
level), and support for allowing the user to revert.
This is probably a version 1.5 - 2.0 type feature ...
cheers,
Power users will be syncing their data using whatever method they're already syncing their data with.

Syncing doesn't have a place in this app. It might be worth revisiting that in > 1.0 but it isn't an important feature for 1.0.

Also - this is a dev mailing list. Shouldn't feature suggestions be discussed elsewhere?

Jon.
Robin Benson
2010-01-26 22:31:29 UTC
Permalink
Post by Jonathan Wight
Also - this is a dev mailing list. Shouldn't feature suggestions be discussed elsewhere?
Yes I was wondering about this.

Where?

Robin
Timothy Collett
2010-01-26 23:53:58 UTC
Permalink
Post by Jonathan Wight
Power users will be syncing their data using whatever method they're already syncing their data with.
Err, sorry, that doesn't track.

Mail syncs its data through MobileMe because Mail explicitly supports doing so. It's not like you can magically toss some Mail settings on MobileMe and have them sync to all your Macs.
Post by Jonathan Wight
Syncing doesn't have a place in this app. It might be worth revisiting that in > 1.0 but it isn't an important feature for 1.0.
Perfectly fair.
Post by Jonathan Wight
Also - this is a dev mailing list. Shouldn't feature suggestions be discussed elsewhere?
Also perfectly fair :-)

Timothy Collett

--

"Computers in the future may weigh no more than 1.5 tons."
~ Popular Mechanics, forecasting the relentless march of science, 1949
Martin Redington
2010-01-27 02:15:23 UTC
Permalink
Post by Timothy Collett
Post by Jonathan Wight
Power users will be syncing their data using whatever method they're already syncing their data with.
Err, sorry, that doesn't track.
Mail syncs its data through MobileMe because Mail explicitly supports doing so.  It's not like you can magically toss some Mail settings on MobileMe and have them sync to all your Macs.
+1

Someone would need to write a letters sync client.
Post by Timothy Collett
Post by Jonathan Wight
Syncing doesn't have a place in this app. It might be worth revisiting that in > 1.0 but it isn't an important feature for 1.0.
Perfectly fair.
+1, although some ui/notification/backup/reversion issues apart, this
could be a relatively self contained project, so if someone volunteers
to take it on, you could ship it whenever you were happy with it,
maybe even in 1.0
Post by Timothy Collett
Post by Jonathan Wight
Also - this is a dev mailing list. Shouldn't feature suggestions be discussed elsewhere?
Also perfectly fair :-)
where is the appropriate forum?
Post by Timothy Collett
Timothy Collett
--
"Computers in the future may weigh no more than 1.5 tons."
~ Popular Mechanics, forecasting the relentless march of science, 1949
_______________________________________________
List help: http://lists.ranchero.com/listinfo.cgi/letters-dev-ranchero.com
--
http://www.mildmanneredindustries.com/
Timothy Collett
2010-01-27 03:26:53 UTC
Permalink
Post by Martin Redington
Post by Timothy Collett
Post by Jonathan Wight
Also - this is a dev mailing list. Shouldn't feature suggestions be discussed elsewhere?
Also perfectly fair :-)
where is the appropriate forum?
That would be <email-init-***@public.gmane.org>, which is the pile-on-the-suggestions list.

You can subscribe at http://lists.ranchero.com/listinfo.cgi/email-init-ranchero.com if you aren't there already.

Timothy Collett

--

The significant problems we face cannot be solved by the same level of thinking that created them.
~ Albert Einstein
Ian Eiloart
2010-01-27 12:25:06 UTC
Permalink
Post by August Joki
Post by Jeroen van der Ham
I'm sorry, but this really is not applicable to Letters.
Email using IMAP is not syncing with an unknown number of clients, or
between peers, but is simply syncing between a client and a server. There
can be no unclarity, because the server is always authorative. The client
merely updates the server.
Ergo, any problems with syncing are not a problem of the IMAP client, but
purely of the IMAP server.
There was talk of how to share metadata between computers as well.
Rules, notes, etc.
You can store all sorts of messages on an IMAP server. They don't have to
be email. For example, there's at least one client that stores its
preferences (apart from the server settings, of course) on the server.

With support for flags and annotations, you get quite a lot of meta-data.
--
Ian Eiloart
IT Services, University of Sussex
01273-873148 x3148
For new support requests, see http://www.sussex.ac.uk/its/help/
Loading...