Лень и крики в офисе: почему в мессенджерах появилась функция «Кто-то печатает...»
Индикатору набора текста уже 21 год. Его изобрели ещё до появления смартфонов, и поначалу он был не совсем таким, каким мы его знаем.
Фраза «Кто-то печатает...» или мигающие многоточия, когда собеседник набирает текст, — знакомый инструмент, без которого не представить мессенджеры, корпоративные чаты и социальные сервисы.
Есть как минимум два варианта появления индикатора:
Ни те ни другие не предполагали, какой эффект вызовут спустя пару десятилетий.
Разработчики из IBM: это была отладочная информация для тестирования чата
В 1997 году разработчики Джерри Куомо и Ричард Редпат из подразделения IBM Advanced Internet Software искали, как применить технологию Java, выпущенную годом ранее, в серверных приложениях.
Одним из первых примеров стал многопользовательский игровой сервер — его продали писателю Тому Клэнси и его игровой студии Red Storm Entertainment.
Внутри сервера был отдельный графический чат IRC (Internet Relay Chat). Он привлёк внимание Lotus Software, другого подразделения IBM. Куомо и Редпат начали работу над клиент-серверным мессенджером для Lotus, который впоследствии стал продуктом IBM Sametime.
Совместная разработка ПО в конце 1990-х — это боль, сетует Куомо. Никаких GitHub, Slack, StackOverflow, смартфонов, планшетов и опенспейсов. Во время отладки чата разработчикам ленились бегать по офису. Команда Куомо «усовершенствовала стиль совместной работы» — громко кричала.
Отладка сервера шла утомительно: нужно было запустить сервер и клиент чата, написать сообщение и убедиться, что собеседник его получил. Из-за привязки к месту порой было непонятно, ушел ли коллега перекусить или печатает ответ.
Приходилось кричать что-то вроде «ты печатаешь или сервер упал?», «ты тут?» или «эй, привет».
Уставший и охрипший Куомо добавил сообщение в нижней части чата: оно повторяло, что печатает коллега. Появилась мгновенная обратная связь, криков «тут ли ты» стало меньше. Но появилась социальная тревога.
Не все программисты писали грамотно, и коллеги, глядя на набор текста, тут же исправляли ошибки — в ещё неотправленном сообщении. Чтобы никого не смущать, Куомо изменил сообщение: каждый набранный символ заменялся на «x».
Но проблема не ушла. Собеседники замечали, что кто-то долго набирал последовательность из «х», а затем удалял и отправлял короткое «да» или «нет». В ответ снова раздавались крики на весь офис: «Эй, ты собирался мне сказать больше, чем сказал, что ты там скрываешь».
После этого Куомо и пришёл к тому, что мы видим в мессенджерах — фразе «Кто-то печатает...».
Ричард Редпат предложил запатентовать идею: в отличие от Куомо, он увидел ценность алгоритма в будущем интернета.
Они подали заявку на патент 30 октября 1997 года и получили его 23 ноября 1999 года. Идея стала одной из ранних разработок по индикации набора текста в интернете.
Многие годы я не задумывался об этом, даже когда в 2011 году появился iMessage и «Кто-то печатает» стала известна широкой аудитории. Мои дочь и сын были потрясены, когда я показал им патент. После разговора с ними я даже добавил упоминание о патенте в LinkedIn.
Кто бы мог подумать: что то, благодаря чему в офисе бы меньше кричали и вставали с рабочего места, станет одной из основных онлайн-функций нынешнего поколения? Некоторым она нравится, некоторым нет.
Куомо считает правильным, что технология продолжает изменяться: внешний вид ужался до трёх точек без потери смысла. Несмотря на некоторые социальные страхи, автор всё же видит фразу полезной.
Например, его жена во время пандемии переписывается с 86-летней мамой и с облегчением вздыхает, когда видит на экране три точки. Для неё это значит, что всё в порядке.
Инженер Microsoft: технология поддерживала «настоящую» беседу в реальном времени
В 2014 году программист Дэвид Ауэрбах рассказал о происхождении функции внутри Microsoft. По его словам, она появилась в 1999 году в мессенджере MSN Messenger Service. Он работал над ним несколько лет и был одним из авторов индикатора.
В те годы общение в реальном времени для большинства пользователей было в новинку. Важно было понимать, когда подходит очередь говорить.
- В рациях (в полудуплексной линии связи) одновременно может говорить только один. Нужно сказать «Приём», чтобы убедиться, что собеседник ничего не пропустил.
- В мессенджерах собеседники могут писать одновременно, но передача сообщения откладывается до нажатия Enter или кнопки «Отправить» (полнодуплексная линия). И если собеседник замолчал, трудно понять, набирает ли он огромное полотно текста или ждёт ответа.
Индикатор набора решал проблему и заодно подсказывал, пишет ли долго собеседник или разорвалось соединение. Тогда соединение часто обрывалось и сервер мог уведомить об этом лишь спустя минуту. Всё это время пользователь ждал, что адресант пишет большое сообщение.
В реализации Microsoft клиент чата отправлял сообщение о наборе каждые пять-десять секунд после первого нажатия клавиши. Позже функцию доработали: если клиент получателя переставал получать уведомления, вместо фразы «Дэвид печатает» появлялось «Дэвид напечатал сообщение». Саму функцию можно было отключить в настройках.
Индикатор набора спровоцировал колоссальный рост трафика: около 95% трафика на серверах MSN Messenger состояло из «Кто-то набирает сообщение», 5% сообщений фактически содержали то, что пользователи на самом деле отправляли собеседникам.
Огромный трафик не смутил AOL и Yahoo, вскоре они скопировали функцию. Другие дополнили её, как Gmail. Сервис сообщал, остался ли текст в поле ввода. Facebook же показывала, прочитал ли адресат сообщение.
Ауэрбах считает, что в текущем виде индикатор вызывает беспокойство у пользователей: он сообщает, что происходит, но не говорит, что именно. Долгий набор может спровоцировать ожидание глубокомысленного ответа — и разочарование, когда друг пришлёт глупый смайлик.
По мнению разработчика, лучше бы пользователи знали, что набирает другой человек ещё во время набора — и вспоминает программу talk (ytalk или ntalk) в Unix, существовавшую до мессенджеров.
В talk общение походило на живую беседу, причём более эффективную, потому что собеседники могли говорить одновременно и предвидеть ответы, отмечает Ауэрбах.
Так разработчик общался с будущей женой в колледже — бросая фразы на полпути, отвечая, не дождавшись завершения. При скорости набора в 90 слов в минуту разговор превращался в поток, которого «не хватает современным чатам».
Но проблема talk в том, что впоследствии разговор не всегда можно было расшифровать: половина мыслей прерывалась на полпути. Также talk требовал внимания — из-за непрерывности общения нельзя было заниматься чем-то ещё.
В разговоре с Gizmodo Ауэрбах предположил, что у Microsoft должен быть патент на индикатор, (одна из новых версий — 2018 года) но его вряд ли лицензируют другие компании — подобные действия могут спровоцировать патентную войну и нарушить развитие технологий.
«Технологические компании работают так, что всё запатентовано, но редко применяется на практике. Патенты скорее механизм взаимного уничтожения», — объясняет инженер.
Если Microsoft обратится в Facebook с требованием заплатить за патент на индикатор, в ответ Facebook найдёт у Microsoft что-то, что нарушает патент Facebook.
У каждой компании со своим сервисом передачи сообщений может быть как угодно реализована индикация, в том числе похожей на разработку конкурента.
О создании индикатора набора Ауэрбах не жалеет, но считает, что у каждого мессенджера должна быть возможность его отключить и явно не стоит добавлять пометку в любой социальный сервис. «Думаю, это единственное, что может сделать Twitter ещё хуже», — иронизирует программист.