Old School Email November 19, 2008Posted by Chuck Musciano in Technology.
Tags: Email, History, Software
Technology matures, and expectations change. Email, designed to be a slow, reliable messaging system, is now expected to be instantaneous. I’ve seen people send an email and then pick up the phone to call to see if it had arrived!
Twenty-five years ago, email was a hodge-podge of technologies, linking wildly different systems using all sorts of connections. Getting a message from here to there often required knowledge of your system, the recipient’s system, and all those in between. Email might take days to arrive, and never made it in just a few seconds. A well-connected site could get a message in a few hours, which was considered really good performance.
Our modern email@example.com addressing scheme masks a huge amount of complexity. Your message may actually travel among many nodes on the network to get to its final destination, and individual pieces of your message may take different routes before being reassembled at the end. You don’t worry about all of this, of course; you just click “Send” and magic happens.
This simplicity didn’t exist back then. Instead, your email address changed depending on where the message originated. In essence, your address was the route your message would take to get to where it was going. Each stop along the way was named, separated by exclamation points (known as “bangs”). Thus, the “bang path” for my email back in 1984 looked something like this:
When the message arrived at the Georgia Tech server, it would be sent to the MIT server, which sent it to my server (trantor), which delivered it to me. The “…” was important; you replaced it with whatever you needed to get from your machine to the Georgia Tech server.
You were expected to know what to put in place of that “…” and if you didn’t, tools existed to help you figure it out. A vast database (ahem, “flat file”) listing every node in the network was sent around every so often. For each node, you could see what other nodes they would connect to, and from that list you could construct a route for your message. If your path to Georgia Tech was through kremvax and wustl, your address for me would be
You may wonder why every node didn’t just connect to every other node. Another historical fact comes into play: phone calls used to cost money, charged by the minute and varying by the length and distance of the call. Given tight budgets, each site would only call to other, nearby sites. Cross-country calls were rare, especially for lengthy data transmissions. Sending email overseas was almost unheard of. Instead, you built a route of short hops, constrained by local phone charges, and hoped for the best
To further reduce costs, sites only dialed out every so often, and sometimes only at night. After your message arrived at a site, it might sit for a day before the next scheduled transmission. If that transmission failed, it would sit for another day before a retry occurred. Mail moved, but it moved slowly.
As the modern internet began to grow, addresses began to merge. You might use part of a bang path after sending to an internet host:
Networks were not completely interconnected, so you might route through a gateway between two networks:
It was confusing, constantly changing, and not for the faint of heart.
In comparison, email today is easy. Back in the day, email had to go uphill, through the snow, both ways, all the time. But when mail got through, you felt like you had accomplished something! So be thankful, and be patient. Try to wait at least ten minutes before calling to check on your latest urgent message.