In 1971, Ray Tomlinson was a recent MIT graduate hired to help build the earliest components of Advanced Research Projects Agency Network (ARPANET), the precursor to the internet. Tinkering on his own, he decided to build a networked messaging program. Most computers at the time allowed users to message one another, but as so few computers were networked, there was little reason to send messages across computers. Tomlinson hacked together a solution, using the now-ubiquitous @ symbol to indicate networked email. Four decades later, email seems less an invention than an innate aspect of our digital environment. On the occasion of his induction into the Internet Hall of Fame, Tomlinson talked to us about the birth of email, the future of communication technology, and how he feels about spam.
After graduating from Rensselaer Polytechnic Institute (RPI), you then got your master’s degree from MIT in 1965. How did you go from that to working on ARPANET?
I’d continued at MIT, where I was working on my doctorate and not making a whole lot of progress. So my advisor, who consulted here at BBN [Bolt, Beranek and Newman, which later became Raytheon BBN Technologies] one day a week, advised me — as advisors are wont to do — ‘You should go talk with these guys at BBN, see if there’s anything that they’re doing that you’d be interested in.’ I started in June of 1967 and I’ve been here ever since. We’ve changed our name, but it’s been the same place.
I worked on a couple of projects in the computer center here, including applications for our time-sharing system. We started working on a replacement for our time-sharing system, which was a SDS-940, built by Sigma Data Systems, who are no longer around. We went with a Digital Equipment Corporation (DEC) machine, but we decided to write our own operating system. We didn’t like the available operating system, so we built up hardware and worked on that. That was working by 1969 or early 1970.
About that time the ARPANET came into existence. The first IMP [Interface Message Processor, essentially a router; pronounced "imp"] was delivered to UCLA in September 1969, right around Labor Day weekend. Just over a month later they delivered the second one to Stanford Research Institute. About a year later we got our connection, and once we did we starting writing software to do the Network Control Protocol (NCP), Telnet, and some other protocols that were becoming standard at the time.
At some point I read an RFC [Request for Comment, a memo detailing new concepts or protocols for the developing ARPANET ] that someone at SRI had written about a mail box protocol. I looked at it and thought probably we could do something better. What I thought would be better was a simpler protocol. As proposed the protocol had a lot to do with how to put ink onto paper — formatting issues, where the formfeeds went, what tab meant, all that sort of stuff. I said that’s too complicated: we just want to send messages to people.
Another problem I saw was that messages were sent to a numbered mailbox; there were 255 mailboxes, and you’d send it to one of those numbers and somebody would print it off on a line printer, take the paper and put it in a little cubbyhole someplace for somebody to pick up and read.
With time-sharing systems, and computers in general, what you really want to do is send messages to people, not numbered mailboxes. So I decided to modify a program. Remember, this notion of sending messages to other users on the computer had been around for at least six years by then, perhaps even more. All the applications I was aware of, though, involved a single computer. So time-sharing was the way to go in my mind.
"I didn’t want to wait for that, so I wrote a simple little one for my own use."
Computers were very expensive — I think one we had here, for example, was something on the order of two or three hundred thousand dollars. That’s 1970 dollars. They were a scarce resource. To get the best use out of them, they were shared by multiple users at the same time — that’s the concept of time-sharing, because the computer very quickly switches attention from one user’s job to the next user’s job. Since most of the time working on a computer you’re thinking rather than doing something, it works pretty well.
So this idea had been around for several years, of sending messages to other people on the same computer. I saw an opportunity to extend that to users on other computers, because now we had a network connection that we could use to transfer the mailbox information from one machine to the other. I put that together in late 1971. I combined the SNDMSG program we had, which was used within a single computer, and a little experimental file-transfer program I had made.
ARPANET was very young and looking for problems it could solve. I had an experimental file-transfer protocol, but the real one was still in the works. I didn’t want to wait for that, so I wrote a simple little one for my own use, and glued that onto the SNDMSG program so I could send the mailbox file to another computer, where the receiver’s mailbox was. That was the first networked email in some sense.
"I said that’s too complicated: we just want to send messages to people."
"There were millions of people you could potentially reach."
When did you realize this was kind of a big deal?
Oh, 1993 or thereabouts. [laughs] Email always seemed like something that anyone with a network connection would want. But at the time there were probably 1000 users on the ARPANET. There were about 20 machines; each of them had 40 or 50 users, so a community of about 1000 users. That’s a lot if you have to put them in your address book, but not that many when you think about the size of the world as a whole.
The realization that this had become a big thing didn’t really come until somebody asked the question, just before the 25th anniversary of the ARPANET, "Where did email come from?" Several people remembered that I had written this program way back when and called me; I said, yeah, I did that, and they asked when — I gave them the wrong date, and that date has stuck around. It still appears in various timelines as 1972, when in fact it was 1971.
We looked around and we couldn’t find any other examples on the ARPANET. Everyone knew that there were programs like that on the single computers. Apparently there was some use of messaging on some of the military computers. I don’t know how extensive that was, and I don’t think it was formalized in the same way that email finally was.
It was a novelty at the time, and there’s a fairly direct path from that early program, including the @-sign and the naming of the fields with in the headers. We can track that all the way back from what current email looks like.
It had an organic origin, but as soon as the idea was there, everyone said, ‘Oh, I can do that.’ I think of a dozen implementations of email, particularly on the reading side. The mail commands were put into the file-transfer protocol in April of 1972, four or five months after my initial attempt at it. And then everyone was working on it, because it was a very popular notion.
Another thing is that at the time there was no really good way to leave messages for people. The telephone worked up to a point, but someone had to be there to receive the call. And if it wasn’t the person you wanted to get, it was an administrative assistant or an answering service or something of that sort. That was the mechanism you had to go through to leave a message, so everyone latched onto the idea that you could leave messages on the computer.
As the network grew and the growth of all that accelerated, it became a really useful tool: there were millions of people you could potentially reach.
"I see email being used, by and large, exactly the way I envisioned."
Do you have any ideas about the next transformative communication technology?
Well, it is a common question, and my usual response is something along the lines of, ‘If I knew what that was, I wouldn’t tell you — I’d go work on it.’ But I think for sure we’re going to see a lot of these ideas come together more smoothly. Transitions between modes of communication in particular: if one thing doesn’t work, switching to another is going to be almost automatic. You might stop thinking about sending email. It might begin with some kind of instant messaging or texting kind of thing to somebody, and if it doesn’t work it gets turned into email the recipient can read at leisure.
There’ll probably be a lot more direct ways of, say, sending somebody a music file. You won’t think so much about composing a message and sending it — you’ll just send the file and they’ll get it. All that stuff will happen automatically; you’ll stop thinking of it as being a specific mode of communication.
As the person who coded the first network mail protocol, do you have a particularly visceral reaction to spam?
Ah, no. My philosophy is that spam is an indication that email is one of the more popular vectors — in the sense of disease-carrying vectors. If something else were more popular, then it would be the focus of spam. So while I certainly don’t enjoy spam, I think it’s inevitable in the sense that since the original version of this was developed in an atmosphere where considerations such as who might send spam in the first place was just unthinkable. In fact I was guilty myself of sending spam to a bunch of people. I hit the wrong key and copied a whole bunch of people on something I was trying to send to a single person. I heard about that right away. There was no question people were noticing.
But with the large number of people and the relative anonymity of email, spam was pretty much inevitable. So far I think we’re keeping ahead of it, or at least on par with the ability to send spam.
I see email being used, by and large, exactly the way I envisioned. In particular, it’s not strictly a work tool or strictly a personal thing. Everybody uses it in different ways, but they use it in a way they find works for them.
You’ll obviously be remembered as the person who put the @ symbol in email. Anything else you’d like to be remembered for?
Oh, I don’t know. I thought the three-way handshake for TCP was pretty cool. [laughs]