MIME, the Multipurpose Internet Mail Extensions, seems like a good idea: what’s not to like about being able to send arbitrary data by email? In 1996, when I wrote the below, I didn’t think it was.
Let’s say there are two computer system vendors:
- Vendor 1 provides a proprietary OS of high quality and high price, with good quality support. Is committed to ‘open systems; and publishes specifications of its interchange formats for mail, files and so forth. Its interchange formats may be ’high value’ — text with logical rather than visual markup.
- Vendor 2 provides a proprietary OS of lower quality but much lower price, with essentially no support. Is completely uninterested in open systems: does not publish its interchange formats, changes them frequently and incompatibly. Its interchange formats may also be ‘low value’ — for instance text with visual rather than logical markup.
Obviously one should buy systems from vendor 1: since purchase and vendor-support cost is rather small compared to the costs caused by low-quality systems this is clearly the right thing to do.
Wrong. Circumstances can easily arise where buying from vendor 2 is the only viable option. This will increase greatly the cost of computing over what it ‘should be’, and will probably ensure that computing systems are of marginal benefit, if any. Even so it is necessary to buy these inferior systems.
How does this happen? The key is data interchange. If the systems of vendor 2 become popular — they are cheap, after all, and they will run on cheap hardware, so they are quite seductive to people who are not costing their systems thoroughly, as well as for home use — and if people who have these systems once start interchanging data — say mail messages using MIME — with the owners of vendor 1 systems, then vendor 1 is doomed.
Vendor 2 system owners will soon start getting mail in formats supported by vendor 1. But these are open standards: vendor 2 can implement displayer and editors for these formats. In fact it’s likely that free versions of these things sill become available. Owners of vendor 2 equipment are happy.
Vendor 1 system owners will start getting mail in formats supported by vendor 2. These are closed, rapidly changing, formats. Vendor 1 has a problem: it has to reverse-engineer the format as it is closed, and as soon as it has done that, vendor 2 changes the format. Even if it can reverse-engineer the formats, the upward conversion from visual markup to logical markup is a hard problem which does not have a general solution.
If vendor 2 systems are common, then it becomes commercially important to owners of vendor 1 equipment to be able to deal with vendor 2’s formats. But vendor 1 cannot keep up with the vendor 2 formats.
The solution is to give up and buy from vendor 2 rather than vendor 1, and use vendor 2’s interchange standards. This will allow you to survive, since you can interchange data with other vendor 2 owners, but will mean that your computing systems are marginally useful, if at all:
- data is kept in low-value formats so you cannot reuse it;
- formats change so old data cannot be used even in vendor 2 systems;
- support costs go up as the lower-quality systems provided by vendor 2 break more often, and the poor or nonexistant support from vendor 2 forces local support at great cost.
Of course, vendor 2 needs to be able to force its data formats on people who have vendor 1 systems. This is now easy: computer networks and email are so prevalent that almost anyone has to be able to do interchange with almost anyone else. In particular MIME opens the door: if I’m on a vendor 1 machine, and vendor 1 has implemented MIME in its MUA (after all, vendor 1 is committed to open standards), then I will shortly find vendor 2 documents arriving in my mailbox, and shortly after that I will find myself buying a vendor 2 system.
It’s all a catastrophe.
I wrote this in early August 1996: the text above has been converted to markdown from its original HTML but is otherwise essentially unchanged from then. ‘Vendor 1’ was Sun, and ‘vendor 2’ was, of course, Microsoft, wth the low-value interchange format was Word.
I don’t think I was completely right, but I was at least partly so: a lot of really terrible, very low-value data formats have become very prevalent, at least in part because MIME allows them to be easily transmitted.
One thing I didn’t see coming (or saw coming but had not yet accepted) is that the disease spread by MIME would spread to even systems provided at very low or zero up-front cost, such as Linux: if you use OpenOffice or a derivative, you have been infected by the disease.
Another thing that was not obvious was that some of the low-value formats would become effectively standardised, and so would be less toxic. Rich Text Format is perhaps one good example, but even Word’s own native format may now be effectively a standard. This means that writing in these formats, while still very seriously limiting the value of your data, does not lock you in to a vendor as much as it once did.
It is still, however, a catastrophe.