[VPM] multi-master email clients
Darren Duncan
darren at darrenduncan.net
Sun Nov 30 16:39:26 PST 2008
Hello,
I was thinking of something that might be an interesting thought experiment,
maybe, or request for info etc.
Something I was thinking would be very valuable to me, and probably many other
people, is for an email client to function sort of like a distributed version
control system. I have a lot of important information in email archives and I
like to minimize the risk to those and new messages.
What I mean is, say the ability to set up multiple PCs that you own where each
one has a complete working copy of all your email (locally stored like what a
POP client does, or an IMAP client could optionally do), and you could sit down
at any of the PCs and open your email client like normal, but anything you send
or fetch from your mailbox while there will also end up on the other PCs, so if
you then moved there it would be as if you did the previous work there.
I'm writing partly to ask if any of you know of prior art in this area, perhaps
used in a corporate setting but not necessarily.
Otherwise, I was thinking I wanted to program a database system that could make
this functionality work for emails. It could then be hooked into existing email
clients, Thunderbird say, to use as their message store.
So what's the problem with conventional email clients that I'm aware of?
First of all, addressing typical POP clients (I'm experienced with Eudora and
Thunderbird mainly): These have the advantage of maintaining a local copy of
all your email so you can then keep your own backups etc of it or browse it
offline. The problem is that these are effectively tied to a single PC, and if
you want to work with all that saved email from another machine, you have to
copy or remote-map the directories. If emails are deleted from the server when
downloading them, or otherwise the server state is changed, then you have to be
careful to clone back and forth between your local PCs or otherwise be careful
to never do anything with your mail on the copy that isn't the current one, lest
some messages be forgotten. And you get the same sort of problem if you want to
open a backup copy of your mail dirs, having to be careful to not check mail by
accident while this copy is open. Even with a remote map that just has a single
copy of local dirs, AFAIK you can only have your email client actually open on
one machine at a time that is using those local copies.
Second of all, addressing conventional webmail or IMAP clients: These have the
advantage of simultaneous access from multiple local PCs, and you don't have
multiple versions or cloning to worry about. However, space on webmail accounts
for messages is considerably more limited, and also you are dependent on the
other provider for keeping your messages adequately backed up and available; you
don't have local copies for your own backups, or if you did they aren't treated
equally.
What I want is an email client system with these features:
1. Multiple locations with complete working copies of all sent and received
mail messages, where every one is a 'master' like a Git repository, and can
stand alone for use or recovery in the absence of any other copies.
2. Easy synchronization of the multiple copies.
3. You can use either an easy GUI or web client (or terminal), like a more or
less normal email client.
4. It needs to be multi-platform, eg run on Linux and Mac OS X.
A lot of the principles are also applicable to other kinds of databases, say
bookkeeping or inventory or genealogy or what have you, that people typically
use, but I was thinking of email as a specific short term use case that affects
me. The email case is also special compared to the other in that it has the
extra issues of sending and receiving with separate server mailboxes that are
not necessarily thought of as the working copies.
I thought this matter would be something you can help me with. For example, do
you know of any existing programs that already provide this functionality, or
any in-development projects to accomplish this? Or, would any of you be
interested in working on such a programming project with me or extending an
existing email client like Thunderbird to do it?
Thanks for any info.
-- Darren Duncan
More information about the Victoria-pm
mailing list