Thursday, November 19, 2009

Email history by Katie Hafner and Matthew Lyon 5

The early wrangling on the ARPANET over attempts to impose standard message headers was typical of other debates over computer industry standards that came later. But because the struggle over e-mail standards was one of the first sources of real tension in the community, it stood out.

In 1973 an ad hoc committee led by MIT's Bhushan tried bringing some order to the implementation of new e-mail programs. Everyone knew that in the long run a separate mail-transmission protocol -- independent of the file-transfer protocol -- was needed. Network mail was taking on a life of its own. It had its own technical problems. And it couldn't stay glued to the file-transfer protocol forever. But for now, just standardizing mail headers was enough of a headache.

Data packets on the ARPANET already had something called headers, but they were entirely different from e-mail headers. The headers on data packets were coded bits read strictly by the packet-switching computers, telling them how to handle each packet as it came along. In the context of electronic mail, however, the header refers to a larger raft of information at the top of every e-mail message. The idea was that certain information should always appear at the top of messages in a specified format, really just an elaborate time and date locater, including information such as the time a message was sent and delivered, the route it traveled, other recipients to whom it was sent, and more. Bhushan's committee also suggested a syntax that would make it easier to read headers without the aid of a lot of special message processing.

Headers weren't always something seen only by the user. Some header fields were processed by receiving systems programmed to deal with reserved meanings and very tightly defined syntax. If the recipient program somehow misinterpreted the sender's header, the results could be exceedingly frustrating. The reader program might stop dead in its tracks or spit out an error message. Dates, for example, were specified in a particular way, and deviations might be unintelligible. Or if you put a comma in the wrong place, your mail program's ability to process messages might go awry. When one mail handler couldn't parse headers sent by others, it was as if a postal carrier in Kenosha, Wis., were being asked to deliver letters addressed in Sanskrit and Arabic.

Machines on the ARPANET encountered computer-language barriers of this kind regularly, and the problems multiplied with the growth in both the number of mail programs and the number of nodes on the Net. Depending on the kind of mail system one might use to send a message, an incompatible program or operating system at the receiving end could "barf up" the headers, as one observer put it. If the message got through, the person who received it still might have to deal with a garbled translation or screwed-up formatting. Recipients would complain about the sender. A sender might agree to fix the problem with a hack or kludge ("a kludge is a crock that works," went one definition), if he had the time. Or, if he liked his own mail program well enough, he might simply complain about the recipient's.

Setting up an e-mail exchange was like asking someone out on a date. "E-mail was seen as something between consenting adults," said Brian Reid, a computer scientist who was working on his PhD at Carnegie-Mellon University. A certain mature understanding was required. "I have an e-mail program, I want to send you mail, and you want to receive it," he continued, "and as long as we agree on the standard, it's fine." Many users of early fax machines went through the same kind of rigmarole making sure the sender's machine could communicate with the recipient's fax machine.

The problem occurred on a massive scale between machines that were based on the Tenex operating system and other, non-Tenex machines. Programmers at a few non-Tenex sites, like those using machines based on Multics (another common operating system of the era), continued introducing e-mail programs and features in the syntax of their own operating systems, and continued sending their messages out over the Net. Tenex machines, however, couldn't handle the syntax of other formats used at some sites.

No comments:

Post a Comment