54 lines
2.2 KiB
Plaintext
54 lines
2.2 KiB
Plaintext
MBOX-Line: From brong at fastmail.fm Mon Mar 9 06:27:41 2015
|
|
To: imap-protocol@u.washington.edu
|
|
From: Bron Gondwana <brong@fastmail.fm>
|
|
Date: Fri Jun 8 12:34:54 2018
|
|
Subject: [Imap-protocol] If Crispin were creating IMAP today how would
|
|
it be different?
|
|
In-Reply-To: <7164.1425831184@parc.com>
|
|
References: <54FAEB94.4070508@lavabitllc.com> <54FBF289.3010202@psaux.com>
|
|
<7164.1425831184@parc.com>
|
|
Message-ID: <1425907661.1215497.237833469.1EDA571D@webmail.messagingengine.com>
|
|
|
|
On Mon, Mar 9, 2015, at 03:13 AM, Bill Janssen wrote:
|
|
> Messages in files is itself kind of old-school. There's still a place
|
|
> for MUA/MDA separation, but perhaps the MDA should just be an SQL or
|
|
> NoSQL database; dump all the messages in MySQL. Then the "access
|
|
> protocol" would simply be the appropriate set of queries for whatever
|
|
> the client is trying to achieve. The DB schema would define the
|
|
> protocol.
|
|
|
|
So this is pretty much what JMAP is actually, it's a data model query
|
|
and update protocol which is designed around batch operations (and batch
|
|
queries) to reduce chattyness.
|
|
|
|
> Triggers in the DB could do the thread calculation.
|
|
|
|
Roughly what I'm doing for the non-Gmail case in the JMAP proxy (which
|
|
is sqlite3 backed) where I generate an ID from the envelope
|
|
datastructure, and then do a messageid lookup on the In-Reply-To (cheap
|
|
and nasty implementation, a better one would be what we do in Cyrus)
|
|
|
|
https://github.com/jmapio/jmap-perl/blob/master/JMAP/ImapDB.pm#L279
|
|
|
|
https://github.com/brong/cyrus-imapd/blob/07381525b6dcaa57fb1f9110ffec83d3618a0b96/imap/message.c#L3036
|
|
|
|
> And let the DB guys solve the intermittent connection problems :-).
|
|
> Oracle, for instance, has a "Mobile Server" product that synchonizes a
|
|
> local cache on a mobile device with a remote Oracle DB, including SSL
|
|
> encryption on the sync connection, and data compression.
|
|
|
|
The problem is, DB protocols are pretty chatty. And you need to solve
|
|
authencation too.
|
|
|
|
Seriously, I think we've pretty much done what you're suggesting in
|
|
JMAP, but we've solved the latency problems that chatty protocols have
|
|
when you don't have a nice short piece of solid copper between you and
|
|
the server as well.
|
|
|
|
Bron.
|
|
|
|
--
|
|
Bron Gondwana
|
|
brong@fastmail.fm
|
|
|