История Email

История Email

QWERTYUIOP

Текст самого первого емейл, 1971

ARPANET (прототип интернета) создан "чтобы помочь поддерживать технологическое преимущество США и защитить против непредвиденных технологических достижений потенциального противника", другими словами, чтобы предотвратить следующий Спутник. Целью было дать ученым возможность делиться результатами их работы и сделать более вероятным, что работа какой-либо одной команды может быть использована другими. И была одна вещь, которая не рассматривалась как особенно ценной, дать ученым возможность общаться через эту сеть. Ведь люди уже умело общались с помощью телефона, писем и на личных встречах. Назначение компьютера было расширение нашей памяти и улучшение возможностей нашего разума.

Конечно нам не нужен был компьютер, венец технологий и инноваций, просто чтобы говорить друг с другом.

Компьютер который отправил (и принял) первый email
Компьютер который отправил (и принял) первый email

История компьютеров двигалась от больших мэйнфреймов для обработки данных, к разделению времени, когда много пользователей одновременно взаимодействуют с одним компьютером, и в конце к разнообразной коллекции различных девайсов, которые сейчас у нас есть. Обмен сообщениями, были впервые рождены в эпоху разделения времени, когда люди хотели иметь возможность писать сообщения другим пользователям, работающим за этим компьютером.

У Unix машин есть команда write, которая может быть использована, чтобы отправить сообщение другому, в данный момент залогиненному, пользователю. Например, если вы хотите спросить Марка пойти на ланч:

$ write mark
write: mark is logged in more than once; writing to ttys002

Hi, wanna grab lunch?

Что он увидит:

Message from zack@Awesome-Mainframe.local on ttys003 at 10:36 ...
Hi, wanna grab lunch?

Было очень весело если ваш коллега использовал графический интерфейс, как Vim, из-за чего не очень понравится случайный вывод на экран.

Настойчивые сообщения

Когда были изобретены сообщения, никто не мог подумать, что они выстрелят так как они это сделали. Людям это понравились, они думали что это классно, но никто не представлял, что случится такой взрыв возбуждения и интереса каким стал. Итак это был сюрприз для всех, это был большой удар.

Фрэнк Харт, директор команды инфраструктуры ARPANET

В ранней альтернативe Unix, называемой Tenex взяли эту возможность еще на один шаг вперед. Tenex включили возможность отправлять сообщение другому пользователю путем записи в конец файла который только они могли читать. Это концептуально очень просто, вы сами можете повторить это создав файл в общей директории, который только они могут читать:

mkdir ~/messages
chmod 0442 ~/messages

Тот кто хочет отправить сообщение просто дописывает в файл:

echo "🍕?\n" >> /Users/zack/messages

Это, конечно, не замечательная система, ведь каждый может стереть ваши сообщения! Я верю реализация Tenex (называемая SNDMSG) была более безопасной.

ARPANET

В 1971, команда Tenex только что получила доступ к ARPANET, сеть компьютеров, которая была главным предшественником интернета. Команда быстро создала программу под названием CPYNET, которая могла быть использована для пересылки файлов на удаленные компьютеры, похоже на сегодняшний FTP.

Один их инженер, Рэй Томлинсон, придумал соединить файлы сообщений с CPYNET. Он добавил сжатие что позволило вам добавить файл. Он также придумал такую вещь как, то что вы добавляете символ @ и имя удаленного компьютера к вашему сообщению и этот компьютер автоматически подключится к хосту и скачает нужный файл. Другими словами, запуск:

SNDMSG zack@eager

Добавит файл на хосте eager в директорию /Users/zack/messages. И email появились на свет!

FTP

К сожалению, формат, CPYNET не долго прожил за пределами Tenex. Было важным создать стандартный способ коммуникации который будет понят любой системой. К счастью, это было целью другого похожего протокола, FTP. FTP (англ. File Transfer Protocol — протокол передачи файлов) стремились создать единый путь, по которому разные и могли обмениваться файлами через ARPANET.

Первоначально FTP не включал поддержки email. Со временем он получил поддержку TCP (раньше чем NCP протокол, исторически используемый ARPANET), была добавлена команда MAIL.

$ ftp
< open bbn

> 220 HELLO, this is the BBN mail service

< MAIL zack

> 354 Type mail, ended by <CRLF>.<CRLF>

< Sup?
< .

> 250 Mail stored

Эти команды были в конечном счете, заимствованы у FTP и легли в основу SMTP (англ. Simple Mail Transfer Protocol — простой протокол передачи почты) в 1982.

Почтовые ящики

Формат для определения того как сообщения должны передаваться (и как они должны храниться на диске) был впервые стандартизирован в 1977:

Date     :  27 Aug 1976 0932-PDT
From     :  Ken Davis <KDavis at Other-Host>
Subject  :  Re: The Syntax in the RFC
To       :  George Jones <Group at Host>,
              Al Neuman at Mad-Host

There’s no way this is ever going anywhere...

Заметьте, в то время слово "at" использовалось чаще чем символ “@”. Также обратите внимание, что использование заголовков до сообщения, на 50 лет предшествовало HTTP. Сегодня этот формат остался практически идентичным.

Пятое издание Unix использовало очень похожий формат для хранения пользовательских email сообщений на диске. Каждый пользователь имел файл который содержал все сообщения:

From MAILER-DAEMON Fri Jul  8 12:08:34 1974
From: Author <author@example.com>
To: Recipient <recipient@example.com>
Subject: Save $100 on floppy disks

They’re never gonna go out of style!

From MAILER-DAEMON Fri Jul  8 12:08:34 1974
From: Author <author@example.com>
To: Recipient <recipient@example.com>
Subject: Seriously, buy AAPL

You’ve never heard of it, you’ve never heard of me, but when you see
that stock symbol appear.  Buy it.

- The Future

Каждое сообщения начиналось со слова "From", если случалось, что сообщение содержало это слово в начале строки то оно должно было экранировано, иначе система думала, что это начало нового сообщения:

From MAILER-DAEMON Fri Jul  8 12:08:34 2011
From: Author <author@example.com>
To: Recipient <recipient@example.com>
Subject: Sample message 1

This is the body.
>From (should be escaped).
There are 3 lines.

Технически было возможно взаимодействовать с вашим email, просто редактируя ваш файл почтового ящика, но было более распространено использовать почтовый клиент. Как вы можете ожидать, были доступны, различные клиенты, но некоторые с историческими заметками.

RD редактор созданный Лоуренсом Робертсом, который на самом деле в это время был руководителем программы ARPANET. Это был набор макросов для текстового редактора Tenex (TECO), который потом станет Emacs.

RD стал первым клиентом, который дал нам возможность сортировать сообщения, сохранять и удалять их. Была упущена лишь одна ключевая деталь: какая-либо интеграция между получением и отправкой сообщения. RD был строго для управления письмами которые вы уже получили, для ответа на сообщение было необходимо составить совершенно новое сообщение в SNDMSG или другом инструменте.

Это нововведение пришло из MSG, которая сама по себе являлась улучшенным клиентом с великолепным названием BANANARD. MSG добавило возможность ответить на сообщение, словами Дейва Крокера:

Мое субъективное ощущение, что распространение MSG это результат экспоненциального взрыва использования электронных писем, произошедших примерно за шесть месяцев. Простое объяснение в том, что люди смогли замкнуть модель коммуникации Шеннона-Уивера на одной простой командой, а не формулировать каждое новое сообщение. Другими словами, электронные письма ушли от отправки важных данных к обычному разговору.

Электронные сообщения не просто дали возможность легче общаться, они также изменили то как люди общались. Словами С.Р. Ликлайдер и Альберта Везза в 1978:

Одним из преимуществ электронной почты перед бумажной было то, что в электронных сообщениях через ARPANET человек мог писать сжато и не очень грамотно даже человеку старше его по возрасту и по положению в обществе, и даже человеку, с которым он не совсем знаком, и адресат не высказывал недовольства... Среди преимуществ службы электронных сообщений перед телефоном было то, что человек мог сразу перейти непосредственно к делу, минуя обычный маленький приветственный диалог в начале разговора, а также то, что эта служба предоставляет возможность записи, то есть отправитель и адресат не обязательно должны быть у компьютеров в одно и то же время.

Самый популярный клиент в это время назывался MH и состояла из нескольких утилит командной строки для совершения различных действий с вашими письмами.

$ mh

% show

(Message inbox:1)
Return-Path: joed
Received: by mysun.xyz.edu (5.54/ACS)
        id AA08581; Mon, 09 Jan 1995 16:56:39 EST
Message-Id: <9501092156.AA08581@mysun.xyz.edu>
To: angelac
Subject: Here’s the first message you asked for
Date: Mon, 09 Jan 1995 16:56:37 -0600
From: "Joe Doe" <joed>

Hi, Angela!  You asked me to send you a message.  Here it is.
I hope this is okay and that you can figure out how to use
that mail system.

Joe

Вы легко можете ответить на сообщение:

% repl

To: "Joe Doe" <joed>
cc: angelac
Subject: Re: Here’s the first message you asked for
In-reply-to: Your message of "Mon, 09 Jan 1995 16:56:37 -0600."
        <9501092156.AA08581@mysun.xyz.edu>
-------

% edit vi

Затем можно отремонтировать ваш ответ в vim, что на самом деле довольно круто.

Довольно интересно, в июне 1996 инструкция "MH & xmh: Email для пользователей и программистов" на самом деле была первой книгой в истории опубликованная в интернете.

Pine, Elm и Mutt

Все почтовые клиенты - отстой. Однако этот клиент менее отстойный.

Слоган mutt

Прошло несколько лет, пока терминалы не стали достаточно мощными, и, пожалуй, электронная почта достаточно распространенной, что потребовалась графическая программа. В 1986 году был представлен Elm, что позволило вам взаимодействовать с вашей электронной почтой в более интерактивном режиме.

Почтовый клиент Elm
Почтовый клиент Elm

За ним последовали более продвинутые ТПИ (текстовый пользовательский интерфейс) клиенты как Mutt и Pine.

Словами команды Pine Университета штата Вашингтон:

Нашей целью было обеспечить почтовик, чтобы наивные пользователи могли её использовать, не опасаясь ошибок. Мы хотели удовлетворить пользователей которых больше интересовала их работа чем процесс использования электронных писем; пользователей возможно имеющих некий страх компьютеров. Мы чувствовали, чтобы сделать это нужно иметь систему, которая не делает удивительных вещей и предоставляет немедленный ответ на каждую операцию; почтовая программа имеющая ограниченный набор тщательно отобранных функций.

Постепенно почтовые клиенты становились всё проще и проще для использования неспециалистами, и становилось ясно, насколько в действительности это было большим делом:

Мы в сообществе ARPA (и без сомнения многие вне его) пришли к пониманию, что в наших руках нечто очень большое и возможно очень важное. Это теперь для всех ясно, что служба сообщений через компьютерную сеть обладает огромным потенциалом изменить способ общения во всех секторах нашего общества: военном, частном и правительственном.

Интернет почта

Это как когда я сделал поле referer (от ошибочного написания англ. referrer — отсылающий, направляющий). Я ничего не получил кроме горя за мое правописание. Сейчас я пытаюсь добиться исправления в оксфордский словарь, так как мое написание, в несколько миллиардов раз в минуту, используется чаще, чем их.

Филипп Халлэм-Бейкер о своем написании "Referer" 2000

Первый интернет клиент был создан Филиппом Халлэм-Бейкером из CERN в 1994 году. Это было достаточно рано в истории интернета, и привело к определению потребности заголовка Content-Length в POST запросе.

Hotmail был выпущен в 1996. Имя было выбрано потому что включало буквы HTML, чтобы подчеркнуть "мы в интернете" (в оригинале он был стилизован как “HoTMaiL”). Когда он только запустился у пользователей было ограничение, всего 2МБ хранилища (в то время жесткий диск на 1.6GB стоил 399$).

Первоначально Hotmail был воплощен жизнь при помощи FreeBSD, но, и я решительно уверен, что каждый инженер сожалеет об этом, после покупки Microsoft он перешел на Windows 2000. В 1999, хакеры раскрыли дыру в безопасности Hotmail, которая позволяла кому угодно войти в совершенно любой аккаунт Hotmail используя пароль "eh". Для “хакеров” потребовалось время до 2001 года, чтобы понять что вы можно получить доступ к сообщениям других пользователей, изменив имя пользователя в URL и угадывая правильное количество сообщений.

Gmail

Gmail был создан в 2004 году как результат правила "20 процентов" Пола Бакхайта. Первоначально в Google не особо верили в этот проект. Они запустились используя несколько сотен компьютеров на Pentium III, которые никто другой не хотел, и заняло три года чтобы набрать ресурсов, чтобы дать доступ пользователям без приглашения. Он был заметен по двум причинам, за то что был намного ближе к настольному приложению (используя AJAX) и за беспрецедентное предложение 1ГБ хранилища.

Будущее

Объем почтовых отправлений США, KPCB
Объем почтовых отправлений США, KPCB

На данный момент электронная почта является достаточно вездесущим стандартом связи, так что очень вероятно, что, идея повседневно использовать обычную почту умрет прежде чем я. Одна вещь, которая не выжила это любая попытка заменить электронную почту более сложным инструментом обмена сообщениями, например Google Wave. Возможно, с появлением более целевых средств коммуникации, как Slack, Facebook, и Snapchat, это случится, однако, мы этого не знаем.

Конечно, за это есть своя цена. Прародители Интернета были достаточно любезны, чтобы дать нам стандарт связи, который является бесплатным, прозрачным и стандартизированным. Было бы стыдно видеть как технологии связи двигаются все дальше и дальше в мир запертых садов и патентованных схем.

Я закончу двумя цитатами:

Главным образом потому, что это казалось отличной идеей. Не было указания "иди и изобрети email"

Рэй Томлинсон, отвечает на вопрос почему он изобрел email

Permit me to carry the doom-crying one step further. I am curious whether the increasingly easy access to computers by adolescents will have any effect, however small, on their social development. Keep in mind that the social skills necessary for interpersonal relationships are not taught; they are learned by experience. Adolescence is probably the most important time period for learning these skills. There are two directions for a cause-effect relationship. Either people lacking social skills (shy people, etc.) turn to other pasttimes, or people who do not devote enough time to human interactions have difficulty learning social skills. I do not [consider] whether either or both of these alternatives actually occur. I believe I am justified in asking whether computers will compete with human interactions as a way of spending time?

Will they compete more effectively than other pasttimes?

If so, and if we permit computers to become as ubiquitous as televisions, will computers have some effect (either positive or negative) on personal development of future generations?

Gary Feldman, 1981