Email is Dead, Long Live Email

March 15, 2016

For years technology experts have been saying that email is dead.  My opinion is that email is as strong as ever but sadly this March saw the passing of Ray Tomlinson.  I doubt if you’ve heard of this man but he invented email and is responsible for giving the world the “@” sign in an email address.

Ray was born in New York in 1941. He graduated from the Massachusetts Institute of Technology (MIT) and began work at Bolt, Beranek and Newman where he helped develop an operating system called TENEX. Part of this development included work on the NCP (Network Control Program) protocol which preceded the now popular TCP (Transmission Control Protocol) protocol.  These protocols are used by various computer to enable communication. TCP is still very much a part of the modern internet and remains largely unchanged since it’s ratification in 1974.  At a basic level, TCP a small part of how computers and send and receive information whilst maintaining consistency. TCP only deals with the transmission layer of the communication, hence the name.  It doesn’t care about the contents of the information, just how information gets from A to B.  TCP does not know if it’s moving an email, a document or a video it just make sure it gets there intact and focuses on reliable communication that is not time dependent. Ray also work on an experimental file transfer program (called CPYNET).

Ray Tomlinson was also working application called SNDMSG.  This was a program that ran on a shared mainframe; a multi-user, multi-access system where many people logged onto the same system at the same time.  SNDMSG would let the users communicate on the same system but Ray took this one step further by developing the system to communicate with other computers. Using his expertise with the NCP and CPYNET protocols, he combined the two which enabled users to send messages to other users on ARPANET. APRANET was developed by the Advanced Research Projects Agency (ARPA) in the US Defence Department in the late 1960s and was the predecessor of the modern internet.

What is a protocol

There’s a lot of talk about protocols so I’ll give a small explanation. The dictionary definition of protocol is “an official procedure or system of rules governing affairs of state or diplomatic occasions.” It’s the same for computer systems but instead of governments we have clients and hosts (or servers).  For instance, when you open a web browser (the client) and navigate to a website (the server) there’s a number of protocols that work together to deliver your page. One protocol (HTTP) determines the rules that allows your browser to GET a page.  In fact, your browser, once it’s connect to the web server, issues a GET command as part of the protocol. I.e. “GET /” would get the home page.  It’s the same with implied protocols – like going down the pub.  When you meet someone you’d say hello. When you buy a drink you use the same protocol most of the time.  You wait your turn at the bar, then order your drinks, the bar staff fetch your drinks and finally you pay.  Sometimes the bar staff cannot hear what you say or they get drink wrong so you need to repeat yourself. This part of the communication is where TCP establishes that something has gone wrong and lets either side know. This same process happens with computer in every communication.

Back to where it’s @

So the basic idea Ray introduced was to extend the local commination to other networked computers on ARPANET. The question was how he could tell the SNDMSG program to send the message to another computer and not to the local system. This is where the @ sign comes in. Why the @ sign? This is what Ray said about it.

“I chose to append an at sign and the host name [server] to the user’s (login) name. I am frequently asked why I chose the at sign, but the at sign just makes sense. The purpose of the at sign (in English) was to indicate a unit price (for example, 10 items @ $1.95). I used the at sign to indicate that the user was “at” some other host rather than being local.”

This system was conceived before the introduction of real domain names but essentially the domain name is simply a mechanism to match the recipient domain to a real server.  The first email addresses would have just been “username@hostname”. So if you had three hosts (or servers) called mickey, donald and pluto (hosts typically use all lowercase) your address would be neale@mickey. It was a simple system that worked very well. So well that it kick stated a jump in usage on ARPANET.

The mail system used the CPYNET protocol but extended it to include the verb MAIL and MLFL (Mail File). So where HTTP used the GET verb, the MAIL verb told the remote host that it had some mail to deliver to user “X”. The MLFL verb was the file that actually contained the message.

This system was used right up to the 1980s when it was replaced by the Simple Mail Transfer Protocol (SMTP) and this protocol is still used today.  You will see it in your mail settings on your PC or smart phone and it’s only used to SEND mail not retrieve it. This is also when the “@” sign got official recognition.

So the last question you may be asking “What was the first email?” Well Ray can’t actually remember and says it was probably “QWERTYUIOP” or something just as forgettable.