Ray Tomlinson

Ray Tomlinson (1941-2016)
Ray Tomlinson (1941-2016)

Raymond (Ray) Samuel Tomlinson (born 1941 in Amsterdam, New York, died in Lincoln, Massachusetts, on 5 March 2016) is a graduate of Rensselaer Polytechnic Institute (the oldest technological university in the USA) and a long-time employee of the company Bolt, Beranek, and Newman, which had won the contract to create ARPANET, the predecessor of the Internet.

Tomlinson started his work on the ARPANET, developing the Network Control Protocol (NCP), the predecessor of TCP/IP, for a time-sharing system called TENEX, as well as network programs, such as an experimental file transfer program (called CPYNET).

During the summer and autumn of 1971, he was making improvements to the local inter-user mail program (called SNDMSG). Single-computer electronic mail had existed since at least the early 1960s and SNDMSG was an example of that. SNDMSG allowed a user to compose, address, and send a message to other users’ mailboxes on the same computer. Tomlinson hit on the idea to merge an intra-machine message program with another program developed for transferring files among the remote ARPANET computers.

There were other people, who developed similar programs. Richard W. Watson, for example, thought of a way to deliver messages and files to numeric printers at remote sites. He filed his “Mail Box Protocol” as a draft standard under RFC 196 in July 1971, but the protocol was never implemented.

In contrast, SNDMSG sent messages to named individuals (computer users), but only working on the same computer. Tomlinson decided to improve it, in order to send messages to users at remote computers also.

Tomlinson examined the mailbox as a file with a particular name. The users could write more data onto the end of the mailbox, but they couldn’t read or overwrite what was already there. The idea of Tomlinson was to use CPYNET to append material to a mailbox file just as readily as SNDMSG could. SNDMSG could easily incorporate the code from CPYNET and direct messages through a network connection to remote mailboxes in addition to appending messages to local mailbox files.

The missing piece was that the experimental CPYNET protocol had no provision for appending to a file. It could just send and receive files. Tomlinson had to make a minor addition to the protocol and incorporate the CPYNET code into SNDMSG.

Next problem was to provide a way to distinguish local mail from network mail. Tomlinson chose to append an at sign (@) and the hostname to the user’s (login) name. He chooses namely the at sign because the purpose of this sign (in English) was to indicate a unit price (for example, 10 items @ $1.95, i.e. 10 items with a price of $1.95). Besides that, at signs didn’t appear in names so there would be no ambiguity about where the separation between the login name and host name occurred. The at sign also had no significance in any editors, that ran on TENEX. Thus he used the at sign to indicate that the user was “at” some other host rather than being local.

The first email was sent between these two computers (© Dan Murphy, www.opost.com/dlm/)
The first email was sent between these two computers (© Dan Murphy, www.opost.com/dlm/)

The first message using the new command was sent at the end of 1971 and was sent between two machines, that were literally side by side (see the nearby photo) and ran the TENEX time-sharing monitor. The only physical connection they had was through the ARPANET. In the foreground of the photo is the computer BBN-TENEXA (BBNA). In the background is the computer BBN-TENEXB (BBNB) from which the first email was sent. On the left, foreground, is the Teletype KSR-33 terminal, on which the first email was printed. Immediately behind and largely obscured is another KSR-33 terminal, on which the first email was typed. BBNA was a Digital Equipment Corporation KA10 (PDP-10) computer with 64K (36-bit) words of (real magnetic) core memory. BBNB was a smaller machine with only 48K words.

Tomlinson sent a number of test messages to himself from one machine to the other. When the inventor was satisfied that the program seemed to work, he sent a message to the rest of the group, explaining how to send messages over the network. Thus the first use of network email announced its own existence.

The next release of TENEX went out in early 1972 and included the version of SNDMSG with network mail capabilities. The CPYNET protocol was soon replaced with a real file transfer protocol having specific mail handling features. Later, a number of more general mail protocols were developed also.

In 1996, for the first time in the USA, more electronic mail was being sent than postal mail. In 2003, for the first time spam accounts for over one-half of all e-mails sent. In 2010, the number of emails sent reached 107 trillion (sadly, 89.1% percent of emails were spam). In 2012 total number of email accounts was 3.3 billion, the number increased to 4 billion as of 2020, and 4.3 billion email users are expected at the end of 2022.