Re: [Imap-protocol] If Crispin were creating IMAP today how would it be different?

Bron Gondwana <[email protected]> Tue, 10 Mar 2015 00:27:41 +1100
Newsgroups gmane.mail.imap.general
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
  [email protected]
_______________________________________________
Imap-protocol mailing list
[email protected]
http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol