MBOX-Line: From mrc+imap at panda.com  Thu May 26 21:11:43 2011
To: imap-protocol@u.washington.edu
From: Mark Crispin <mrc+imap@panda.com>
Date: Fri Jun  8 12:34:46 2018
Subject: [Imap-protocol] History question.
In-Reply-To: <4DDF06A9.2050608@logicprobe.org>
References: <4DDEA412.6030305@aol.com> <4DDEDDD6.1040507@logicprobe.org>
	<alpine.BSO.2.00.1105261628370.892@morgaine.smi.sendmail.com>
	<2CB073A1-B421-4CFB-AE30-B17005C876A0@iki.fi>
	<alpine.OSX.2.00.1105261724000.973@hsinghsing.panda.com>
	<4DDF06A9.2050608@logicprobe.org>
Message-ID: <alpine.OSX.2.00.1105262030000.973@hsinghsing.panda.com>

On Thu, 26 May 2011, Derek Konigsberg wrote:
> "Those who fail to understand network protocols are doomed to
> reimplement them over port 80"

Yeah, that's been the nightmare for the past decade or so.

> I think Java makes it too easy to gloss over
> the fundamentals that you really do need to understand.

My point exactly.

Then there are individuals who believe that a kid fresh out of college
with nothing but Java is a superior Java programmer to an experienced
individual that spends a week reading the Java book.  Thus, we have mobile
phones (are you paying attention, RIM?) that issue the message "Uncaught
Java language exception" prior to turning the phone into a pocket warmer.

> I think the most painful part of implementing an E-Mail client is
> dealing with all the legacy charsets and encodings, and the different
> ways they're encoded in what is essentially 7-bit US-ASCII.  If I could
> make one change, I'd declare that all human-readable protocol text was
> UTF-8 (and preferably that anything not intended to be human readable
> was just raw bytes inside a literal block).

Indeed.  The problem is that email predates UTF-8 - and for that matter
Unicode - by about two decades.  Email had largely been cast in stone in
the mid 1970s; and that casting was complete by the early 1980s.

The first non-ASCII email was Japanese; and they played ball with the
ASCII world by using ISO 2022 to shift between ASCII and JIS.  ISO 8859-1
(Latin 1) wasn't until 1987.

I was one of a group of individuals who tried to prevent the charset
disaster in the early 1990s.  We failed utterly.  Our plan was to status
quo of ASCII, ISO 8859-1, and Japan's ISO 2022 encoding; and then move on
with ISO 10646 (Unicode) as the One True Character Set For The Internet.

Certain individuals did not share that vision...

> It would also be nice if the IMAP grammar made more complete use of the
> parenthesized list format used by the majority of it.

Yes.  There should be a single syntax rule for all commands and responses,
and fewer types: atom, number, string, and list.  Atoms should be used
exclusively for protocol tokens (thus abolishing the astring/nstring mess)

I would also reform IMAP's Hollerith strings (literals) to send the entire
command first (thus one complete line) and then the string payloads.

-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.

