by Nathaniel Borenstein 25th of March 2011

Part # 146: We're Slaves to Our Attachments

The second of the Four Noble Truths, the most fundamental tenets of Buddhism, tells us that the cause of all suffering is attachments.  As one of the authors of the standard that defined email attachments (MIME), I bristle at this gross exaggeration.  Surely attachments are responsible for no more than 25% of human suffering.  (Most of the rest, I think, is caused by cancer, reality television, and okra.)

To understand why email attachments are such a problem, we must start in the 1980's, the final days of the pre-MIME era.  Standard Internet email included 7-bit ASCII text, and nothing more, but three different kinds of experimentation were going on.

People in various non-English speaking countries had unilaterally adopted conventions that allowed them to send mail in their own languages, though none interoperated with each other.  You could compose a message in Hebrew, but if you viewed it with non-Israeli software it would be gibberish that differed with the language the software expected.

Meanwhile, several of us were experimenting with extending email in various ways.  I was part of a group that talked about "multimedia mail" which we prototyped at Carnegie Mellon as part of the Andrew system.  Email messages in Andrew included in-line images, audio, animations, even interactive pianos.  It was very cool, and we eventually interoperated with some folks at BBN who took a similar approach.  The word "attachment" wasn't in our vocabulary.

Finally, several vendors were experimenting with the simpler goal of including files in email.  This they accomplished, in various mutually incompatible ways.  They called their achievement "attachments."

All three groups soon recognized the need for a standard that would allow the features they cared about to work well across vendors and implementations.  But most had no interest in the features the other groups considered crucial.  (Even non-English text isn't necessarily important, if you're American!)

MIME came about because the great Einar Stefferud introduced me to Ned Freed, and suggested that we try to make all three of these groups happy.  Like most standards efforts, there were many compromises and some mistakes as well.  One of the bigger ones was that we didn't, in the first incarnation of MIME, differentiate between attached files and included multimedia objects.  People thought of them as one or the other, which led to odd behaviors that persist to this day.

The problem was later addressed with the addition of a "Content-Disposition" header that explained whether or not the object should be displayed in-line, but not all MIME implementations have honored it.  The result is that in some mail tools, I can put pictures in line between stretches of text, and naively write about them as if they're appearing in the order I see them.  But some of the recipients of the email may see all of them at the end of the message, not as pictures but as icons representing attachments.

Here's how complicated this stuff really is:  Yesterday, I was sitting with a colleague, discussing an email topic far too complex for a blog post about the complexity of email, and we ended up discussing how attachments were represented by the two mail tools that we used.  Finding that we had completely different understanding of the facts, we did some experimentation and found that we were both wrong.

Let me reiterate:  A first-class email engineer was talking with the author of MIME about how email attachments are handled by the mail tools we use every day, and we were both wrong.

At this point, I'd love to follow the Buddha's advice and free myself from attachments entirely.  Unfortunately, studies indicate that 85% of all business data is stored as email, and most of that is in attachments.  We appear doomed to continue enduring a certain amount of suffering.  But perhaps we can do something about okra?