Forty-five years ago, a programmer contemplated the problem of how to route electronic messages between computers. The choice that Roy Tomlinson made endures today as we type in user names @ domain in email headers. Using the at sign as the separator between user name and domain was inspired, so it's sad that the guy who made that decision has now passed on.
I was sad to learn of the death of Ray Tomlinson on March 5. For those who don’t know, Ray was the engineer who figured out how to send email between computers in 1971. He worked at BBN, now part of Raytheon, on systems that seem crude today but laid the foundation of what we now know as the Internet.
The notion of email and concepts such as different types of recipients, read-receipts, and so on didn't come along until much later. Mailboxes were simple files and new messages were appended to the end of the file, but messages still had to be delivered to the right place. Part of Tomlinson's work on email led to the selection of the at sign (@) as the delimitation between personal account name and email domain for addressing messages. At that time, the number of connected systems in the ARPANET was small so the email domain was the name of the target computer.
Picking the @ sign turned out to be a pretty inspired decision that has infused itself into daily life. As it turns out, a limited set of choices were available. Tomlinson used the Type 33 teletype terminal to interact with his computers. Teletypes were clunky, industrial-strength terminals with keyboards that supported limited character sets (the graphic shows the set of non-alphabetic characters on the keyboard).
It’s possible that another character could have been selected, but Tomlinson made the case for selecting @ saying that “the at sign to indicate that the user was "at" some other host rather than being local.” In another article, he explained “I was mostly looking for a symbol that wasn’t used much. And there weren’t a lot of options—an exclamation point or a comma. I could have used an equal sign, but that wouldn’t have made much sense.” The logic is hard to contest.
Some other naming schemes were tried as email designers attempted to come up with mechanisms that were effective and easy to use. For instance, DEC had its own form of user and domain in VMSmail (or VAXmail as it was originally known) from 1978 on. featuring addresses such as BISTRO::REDMOND. VMSmail reversed Tomlinson’s notation so that mail went to the BISTRO server for delivery to the REDMOND account. Later on (mid 1980s), more sophisticated message routing systems (like MAILbus) appeared with addresses like REDMOND @A1 @BISTRO or even Tony.Redmond@VBO. Although proprietary, these message routing systems sent messages in a similar manner to what we have today.
Proprietary routing systems depended on gateways to link disparate email systems together and it got ugly at times. The proponents of the X.400 ITU-T recommendations (from 1984 on) favored Originator/Recipient addresses built from several components that allowed messages to be routed across different administrative domains (email systems) to the end user. The X.500 directory service was closely associated with X.400.
When Microsoft launched Exchange in 1996, they focused on X.400 as the basis for interconnectivity with other enterprise-class email systems. The Exchange Directory Service was X.500-like rather than X.500-compliant. Traces of that directory can be seen today in the LegacyExchangeDN attribute that is stamped onto mail-enabled Exchange objects, including those inside.
Exchange 4.0 didn’t include an SMTP connector. Instead, the Internet Mail Connector (IMC) was available as an added-cost extra. Just around this time Bill Gates launched a crusade to make Microsoft products more Internet-capable, which led to Exchange 5.0 including the Internet Mail Service (IMS) in 1997.
The X.400 and X.500 recommendations were debated in committee to the nth degree and technically sophisticated, but they were overly complex when compared to the simplicity and elegance of the equivalent Internet email standards that emerged from the work done in ARPANET (like SMTP and LDAP). The enduring nature of those standards is testament to their flexibility.
The dust from the “fight” between X.400 and SMTP settled years ago. I think the success of SMTP is partly due to the addressing scheme that the protocol adopted from Tomlinson’s work and included in RFC821 (August 1982) where a mailbox is defined as:
“A character string (address) which identifies a user to whom mail is to be sent. Mailbox normally consists of the host and user specifications. The standard mailbox naming convention is defined to be "user@domain". “
It’s sad when anyone shuffles off the mortal coil, but at least Roy Tomlinson left a piece of work behind that billions of people use daily. That’s pretty cool.
Follow Tony @12Knocksinna