Re: [imap5] Designing a new replacement protocol for IMAP

Bron Gondwana <brong@fastmail.fm> Wed, 15 February 2012 18:10 UTC

Return-Path: <brong@fastmail.fm>
X-Original-To: imap5@ietfa.amsl.com
Delivered-To: imap5@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7961A21E8059 for <imap5@ietfa.amsl.com>; Wed, 15 Feb 2012 10:10:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.594
X-Spam-Level:
X-Spam-Status: No, score=-3.594 tagged_above=-999 required=5 tests=[AWL=0.005, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XYlyR6pPu-L6 for <imap5@ietfa.amsl.com>; Wed, 15 Feb 2012 10:10:50 -0800 (PST)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by ietfa.amsl.com (Postfix) with ESMTP id 03FE821E8029 for <imap5@ietf.org>; Wed, 15 Feb 2012 10:10:49 -0800 (PST)
Received: from compute6.internal (compute6.nyi.mail.srv.osa [10.202.2.46]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 703D020B54 for <imap5@ietf.org>; Wed, 15 Feb 2012 13:10:48 -0500 (EST)
Received: from frontend2.nyi.mail.srv.osa ([10.202.2.161]) by compute6.internal (MEProxy); Wed, 15 Feb 2012 13:10:49 -0500
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=mesmtp; bh=yAZycN09vuF7WUDJZeVpPuZ3 0PY=; b=J75nc7hiPKW0te7Bld8EfBgh5PkoUcr11RPusoogqGg6Bz53uDUSZ/Hm IslvR3cXBVNDdqyCDpWsAGITwfDfzB55R3UsP/dq/kPI3iXbQ9yz0Z4VADCdfgC9 41Oj+X+UPGsYIklR6c7OdUFXM69MoyDlTG8Nqh6wrFZqwRnhIpM=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:in-reply-to; s=smtpout; bh=yAZycN09vuF7WUDJZeVpPuZ30PY=; b=XnWdfUAKdYzvxtWDEoyXp5wwxAI/ v8Qas/JDDaNu9YRlNZvfeF4GC5yROP2GFPKJhJZh3QTnPtHOGLdF4zBoC5BjVJv+ ndWabUJggUHWX6rtKzxwN14vrfGeXZO6KNpcGtW8IskiDMRveSGDWDdlQiDHpGcV r/Ey5tGNOe18YZA=
X-Sasl-enc: pRqWqexdjDI1AX5GNOO8crF2uAD691O6q7rhGhbPSH2I 1329329448
Received: from localhost (99.249.9.46.customer.cdi.no [46.9.249.99]) by mail.messagingengine.com (Postfix) with ESMTPSA id 6CF2A482549; Wed, 15 Feb 2012 13:10:48 -0500 (EST)
Received: by localhost (Postfix, from userid 1000) id 2A5C0327E2F; Wed, 15 Feb 2012 19:10:47 +0100 (CET)
Date: Wed, 15 Feb 2012 19:10:47 +0100
From: Bron Gondwana <brong@fastmail.fm>
To: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>
Message-ID: <20120215181047.GB13906@launde.brong.net>
References: <833EE8EEE88E4ADE5CDDDADB@caldav.corp.apple.com> <4F3835A1.7060804@qbik.com> <B764BD8C8B6047E659EABBE2@caldav.corp.apple.com> <4F397212.1030107@qbik.com> <20120213210805.GB13029@launde.brong.net> <alpine.LSU.2.00.1202151405550.30682@hermes-2.csi.cam.ac.uk> <1329315552.1444.140661036879893@webmail.messagingengine.com> <4F3BBFA4.8010107@isode.com> <1329316981.8310.140661036883625@webmail.messagingengine.com> <4F3BC7DA.5070803@gulbrandsen.priv.no>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <4F3BC7DA.5070803@gulbrandsen.priv.no>
Organization: brong.net
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: imap5@ietf.org
Subject: Re: [imap5] Designing a new replacement protocol for IMAP
X-BeenThere: imap5@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Discussion on drastically slimming-down IMAP." <imap5.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imap5>, <mailto:imap5-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/imap5>
List-Post: <mailto:imap5@ietf.org>
List-Help: <mailto:imap5-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imap5>, <mailto:imap5-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Feb 2012 18:10:51 -0000

On Wed, Feb 15, 2012 at 03:57:30PM +0100, Arnt Gulbrandsen wrote:
> On 02/15/2012 03:43 PM, Bron Gondwana wrote:
> > So basically what I'd like to see us doing with email is LESS.  Less custom.
> > Less "it's so special".  Treat it like a generic bunch of data, and manipulate
> > it with generic data manipulation methods.
> 
> It sounds a bit like a reinvention of RFC 2244, which was too generic
> for people like me. Dave liked it, I think he still likes it, but he's
> really smart. Personally, I understood that 2244 could be used to do
> wondrous stuff in general, but when I read the document I wasn't able to
> connect it to any concrete wondrous applications for my work.

Oh yeah, ACAP.  It's on the list of things to look at.

> Optimising for really smart people risks leaving mortals unable to see
> any reason to write code for it.

Obviously you need to avoid getting so over-generic that you wind up
doing an anything protocol.  The anything protocol is always tempting.

The thing is - I don't mean leaving everything super flexible and
undefined.  I'm meaning more "don't define a separate custom protocol
with custom behaviour for everything".

For example (and I quote directly from ##imap on freenode over the past
couple of hours)

<IroquoisTwist> hello, is there a simple reason why my imap connected
                clients can't distinguish unread messages? (all messages
                marked as read)
<brong_>        IroquoisTwist, probably is a simple reason, but it
                depends on a lot of factors...
<IroquoisTwist> brong_: thanks, i found out my spam guard was "reading"
                the messages - turned it off and used local span
                filtering - all is well
<brong_>        sounds like a classy piece of software.  Forgot to put
                a .peek in did they?
<brong_>        what am I saying.  imap5 people - LOOK AT THIS
<IroquoisTwist> brong_: not too sure - end of my spam knowledge - it's
                called Spamassassin (preinstalled via cPanel)


Now, you could blame the authors of the spam scanner which wrapped
Spamassassin and called it via IMAP.  They're morons, no doubt.

But .PEEK.  Seriously?  Hands up everyone who has screwed that up
themselves or seen someone else screw it up over their entire time
of working with email?  I'll own up to having done it more than
once.

.PEEK is one of the warts that is out.  No side effects.  No magic.

Along with \Recent, which is also magic - it's a read only value where
EVERYTHING ELSE in the same space is writable (ACLs permitting), it's
defined in a way that makes multi-session a pain.  It's a wart.

And UNSEEN, but I already said that.  Why is 'STATUS UNSEEN' special,
and "* UNSEEN x" - complete with the contradictory "use your common
sense" definition...

Bron.