?

Log in

No account? Create an account

Стой под стрелой

Поступки и мысли, о которых могу вспомнить не краснея

Previous Entry Поделиться Next Entry
Mail 3.0
усы2
tonsky
Давайте продолжим мечтать о том, как должна выглядеть почта будущего.

Штука в том, что она не должна выглядеть как почта. Если посмотреть, то люди в современном вебе только и делают, что почты избегают. То есть наша задача не столько в том, чтобы придумать что-то почте на замену, сколько придумать что-то, что убило бы и почту в том числе.

Начнем с амбициозного вопроса: что объединяет емейл, чат, групповой чат, форум, блог, жж-коммьюнити, мейл-лист, google группу, formspring? Это, в общем случае, поток сообщений и ответов на них. Принципиальные различия в степени публичности и составе участников, в размере сообщения; непринципиальные — в протоколах, организационных вопросах (чьи сервера), уровне риалтаймовости и персистентности. Поскольку мы придумываем все заново, непринципиальные отличия нас не очень интересуют, мы их легко поправим. Принципиальные же ложатся в рамки общей модели. Вот эта модель:

Сообщением назовем написанное кем-то сообщение. У него один автор и дата. Темы нет. Размер любой. Реплика в чате — это сообщение. Письмо — сообщение. Пост — сообщение. Комментарий к посту — тоже.

Топиком назовем группу сообщений. В топик могут писать <позже уточним кто>, у него есть ссылка и тема. Пост с комментариями — топик. Email thread — топик. Чат с человеком, групповой чат, чат-комната — топики. Обсуждение в гугл-группе — ну, вы поняли.

В принципе, это примерно тот уровень, где остановился Google Wave. Есть еще вопросы пользователей и групп, разграничения доступа — требующие кропотливой проработки, но не контринтуитивные и сюрпризов не таящие. Есть вопросы качества реализации — централизованность, персистентность, real-time редактирование, работа в браузере. Это то, чем Google Wave хотел нас купить. Но нас не купишь. У них была дыра в модели, не хватало последнего звена.

Если вы помните, они делали скромные попытки социализировать wave-протокол. Была у них возможность писать публичные посты, и вроде как таким образом, теоретически, должен был происходить content discovery. Еще они приводили пример на презентации, как писать в блог из Wave — нужно было добавить свой блог в качестве соавтора в топик. Ладно, извините, эта штука просто не помещается в мозг, и так уже долго пишу.

Короче, Wave был самой настоящей почтой 2.0. Прокачанной в механике, сделанной на новом техуровне, спилившей острые углы, но концептуально ничем от нее не ушедшей — все та же мешанина из писем (топиков), с которой каждый пользователь должен научиться управляться сам.

Еще немного подведу вас к решению, назову пару симптомов. Объективно, email-фильтры не очень-то работают: даже гикам не всегда хватает терпения настроить их так, чтобы хорошо сортировало. Для обычных людей они вообще недоступны, потому что посмотрите как выглядит интерфейс их настройки в gmail до сих пор! Недоступны не потому, что интерфейс плох, а интерфейс плох потому, что никому не нужен. Плюс, качество работы фильтров и тегов/папок зависит от всех участников переписки — попробуйте, к примеру, в своей организации взять за правило писать в начале темы [offtop] по нерабочим вопросам. Мы внедряем уже полтора года, коэффициент успеха стабилизировался где-то в районе 50%.

Короче, чтобы принципиально превзойти почту, нужно средство организации топиков. Назовем его потоками (streams). Стрим — это набор топиков. Ха-ха, да, вот так просто, нет проблемы, которую нельзя решить еще одним уровнем абстракции. Свойства стрима примерно те же, что и у топика — название, уровни доступа, публичная ссылка.

Давайте посмотрим, насколько удачно стримы ложатся на уже существующие, сложившиеся модели поведения людей в сети.

Самое простое — блог — это буквально стрим и есть, с такими настройками, что создавать топики может только автор, а вот писать сообщения уже кто угодно.

Онлайн-коммьюнити или гугл-группа это то же самое, только создавать топики может любой из членов коммьюнити, ну или вообще любой.

Formspring — блог наоборот, создавать может кто угодно, отвечать только автор.

И т.п. Здесь почти ничего не меняется. Но это тоже, знаете ли, результат — все популярные современные модели пребывания в сети уложились в нашу модель. Что как минимум намекает на верность пути.

Итак, мы хотели убить почту. Действителньо, почтовая переписка становится куда краше. Возьму для примера свою работу. Я вхожу в такие алиасы как code-review, dataserver-dev, platform-engineering-heads, dev, all. А теги у меня заведены следующие: general, monitoring, nsk-office, offtopic, code-review, vacancy. Тут, заметьте, двойная работа — сначала письмо сортирует тот, кто отправляет, выбирая почтовый алиас, потом его еще сортирую я, присваивая тег. Естественно, фильтры не всегда могут отличить обычное general письмо от оффтопика или письма, касающегося новосибирского офиса. Прелесть стримов в том, что они общие для всех. На всю компанию создается несколько стримов. О них можно думать как о шареных папках или тематических чат-комнатах. Далее, отправляющий пишет письмо (в наших терминах — создает топик) не просто в пустоту, а в одну из комнат (стримов). То есть, если я пишу скажем «у меня день рождения, приходите меня поздравлять», я не просто всем его пишу, я пишу его в стрим offtopic. И все, кто подписан на этот стрим, видят, что появился новый топик. Как-то так, в общем. Ведь почти всегда, когда пишешь письмо, понятно, куда его положить.

А роботам какое раздолье! Тут вообще получается инверсия. Допустим, я хочу подписаться на комменты в ЖЖ. Сейчас мне нужно оставить ему мой емейл. А в нашей модели ЖЖ просто публикует поток комментариев как отдельный стрим. Захотел — добавил себе на панель. Надоело — убрал. Потом опять вернул. Тут еще важно, что независимо от того, подписан ли я, комменты в стрим все равно будут идти. Вернись я через год, я смогу все пропущенное перечитать.

Итого, я бы взял стримы у ЖЖ, twitter, facebook, G+, скинул бы в папочку social и читал бы все апдейты в одном месте. Заметьте, никакой возни с фильтрами! Ozon, Amazon и Yandex.Money тоже публикуют стримы с подтверждениями/нотификациями, но приватные — их вижу только я и сам магазин. Скидываем в папку Orders. Все стримы github репозиториев, которые мне интересны — они публичные — положил бы в папку github и читал бы там. Ну и так далее. Черт, да даже на RSS можно таким образом подписаться, и никакой google reader не понадобится.

Зафиксируем. Для человеческой переписки модель стримов эквивалентна созданию чат-комнат — навязанная всем какая-никакая, а структура над перепиской. Effort-free для участников.

Для автоматических рассылок прелесть и в той же самой организации, и в инверсии зависимости: емейл я никому не оставляю, поток обновлений идет сам по себе, а я только выбираю что мне читать. Грубо говоря, как подписки в твиттере. Чувак знай себе пишет, а я то зафолловлю, то разфолловлю. Согласитесь, когда понимаешь, что чтобы на что-то там подписаться, никому никаких данных о себе оставлять не нужно — сразу кажется, что только так и должно быть. Feels right, короче.

Законный вопрос — а как мне написать письмо человеку лично? Тут всё просто, общий стрим «Personal» есть у всех. Создаешь там топик, доступ даешь только себе и адресату. Вуаля.

Да, конечно, у стримов и у топиков уровни доступа регулируются независимо. Все могут смотреть на один и тот же стрим, но видеть только те топики, доступ к которым им дали лично или в составе группы, в которой они состоят.

С чатами та же песня. Достаточно одного бесконечного топика в «Personal» (ну или в «Chats») с темой «Чат в Васей Пупкиным», с доступом для нас двоих — дописывайте сообщения в конец постоянно.

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

Давайте закругляться. Смотрите:

  1. мы перепридумали персональную почту, убрав фильтры и при этом улучшив, а не ухудшив ее потребительские качества;

  2. перепридумали email-нотификации, убрав необходимость оставлять email;

  3. объединили чаты и почту;

  4. засунули в эту модель блоги, объеденив в одной платформе и авторов, и подписчиков;

  5. туда же засунули почтовые группы, коммьюнити, rss и черт знает сколько еще всего так, что даже выходить из этого интерфейса никуда не нужно будет;

  6. исписали в процессе кучу экранной бумаги;

  7. ушли счастливые.


Напутствие тем, кто хочет дальше об этом думать: не думайте об этом как о замене почты. Это сгубило команду Google Wave. Предложенная модель поглощает почту полностью, но выходит далеко за ее рамки — что, в общем-то, и было настоящей целью.

И несколько примеров:

Персональные чатики:



Я пишу этот пост в свой ЖЖ (на самом деле ЖЖ заменит обычный стрим):



Комментарии к одному из предыдущих постов:



Вот я уже читаю «френдленту» — на самом деле, просто собрал стримы чужих блогов в папку:



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

А вот нотификации от Амазона. Основные преимущества перед почтой тут — возможность аккуратно группировать на стороне отправляющего:



Кстати, обратите внимание, что Амазон разрешил мне в последнем случае читать стрим, но не отвечать в топиках. Так вот изящно решается проблема «пожалуйста, не отвечайте на это письмо» и no-reply@domain.com емейлов (они вообще работают?)


Пока светлое будущее не наступило, у нас почта внутри компании используется для:

1) Коммуникаций с внешним миром (банками и клиентами),
2) Форвардов ценной информации из внешнего мира.

Рабочие вопросы решаются в скайп-чятиках, по одному на проект. С тем же успехом и даже лучше можно использовать hangouts.

Если вы используете емейл для внутренней переписки и дискуссий, вы в любом случае doing it wrong. Да, лично вы.

(Удалённый комментарий)
(Удалённый комментарий)
Концепт очень даже приличный. Но вот именно функционал почты эта самая почта 3.0 несколько странно закрывает. Если представить себе применение твоего сервиса вместо обычной корпоративной почты, то пропадает абстракция письма (хотя эта абстракция полноценно и сейчас редко встречается). Например, я хочу отправить ЭЦП подписанный счёт менеджеру компании с копией руководителю и бухгалтеру. Как это сделать? Отправлять 3 копии в папку Personal? Тогда зачем весь остальной хлам? :)
Если мы хотим получать информацию от амазона, то всё равно придётся регистрироваться с указанием адреса почты. Мы же не хотим, чтобы в свободный доступ валилась вся информация о всех заказах и фильтровалась только на приёмной стороне. Получается опять отправляется в папку Personal (с возможной фильтрацией в Orders) и получаем опять обычную почту.


Как это сделать?

Так же как и в почте. Фактически к примеру в том же N900 в карточке клиента были добавлены контакты. А в зависимости от выбранного контакта открывался тот или иной интерфейс. Далее в нем уже можно добавлять еще контакты. А так-как мы уже ЗНАЕМ что это почта, то показываются только те люди у которых есть этот тип контакта. Какого хрена это ДО сих пор не реализовано ни в одной из текущих лидеров мобильной платформы лично для меня остается загадкой.


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

Заходите на амазон, видите там авторизоваться с помощью. Жмете кнопку, он спрашивает куда вам валить вашу инфу? Говорите orders все вуаля туда будет уходить. Этот вопрос давно уже решен в тех же социальных сетях.

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

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

Это чисто вебовская штука. Никаких p2p, оффлайн-клиенты тоже не в почете.

Лайк.

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

Это все хранится и работает на сервере, разумеется. Никаких p2p

Есть жеж Facebook.com
Те же коммуникации, вместо почты сообщения, групповые обсуждения, видео-чаты, страницы, группы.

Почти, только слишком много мусора, неудобно, противоестественно кажется смешивать развлекаловку с работой (а второй аккаунт завести нельзя) и большие посты трудно писать.

1) Что делать с reply-to со всеми его модификациями? «Древовидные дискуссии не нужны»?
2) Почему «никакого p2p»?

1) Не нужны, ни в gmail, ни в Apple Mail этим не заморачиваются
2) Потому что слишком страдает user expirience — нет оффлайновых сообщений, частые неконсистентности, нет персистентной истории

Тут уже сказали, но я повторю. Мне важно, чтобы моя переписка хранилась у меня в компьютере (на сервере в подвале), а не "у дяди". А то иначе снова начинается унылая байда с перепродажей моих данных рекламодателям и "компетентным органам".

Я понимаю, что простому человеку на это наплевать, и хороший UX для него важнее privacy, но я сейчас о себе.

Edited at 2013-09-06 11:06 (UTC)

Параноики обламываются, факт. Мне не жалко

Пользуясь случаем, скажите, у вас правда что-то такое есть в переписке, что на самом деле нужно скрывать от рекламодателей и компетентных органов, или просто «ну мало ли, вдруг в будущем захочется»? А не ссыкотно будет то же самое текущими средствами пересылать?

Разные почтовые рассылки ("для жизни", "для изучающих английский язык", "<мой проект>", "<их проект>", "для релизов") на работе вполне юзабельны.

Сообщения рассылки приходят не в inbox, а в папку рассылки. Это не фильтры, это общие для всей компании папки.

В чем-то аналогия с комьюнити в ЖЖ, с их помощью тоже наверное можно разрулить корпоративную гору сообщений.


Edited at 2013-09-06 11:32 (UTC)

То что ты делаешь это круто!
Этот дизайн мне напомнил одну демку веб почты с точно таким же зеленым селекшином, которую я не могу найти. Можешь подсказать что то была за демка если ты знаешь или вообще поделится этими примерами ?

мне очень нравится эта идея, и я вас поддерживаю - очень круто и перспективно.
...
для всех кто видит угрозы, неудобства и опасности такого объединения всех сообщений в одной программе - только конкуренция решений поможет оценить эту идею. используйте разные программы (как сейчас) и единую программу (как этот прототип).
сейчас, чтобы воспользоваться разными каналами связи - почтой, блогами, чатами, соц.сетями, скайпами - нужно использовать разные программы, только потому что исторически каналы общения возникали в разное время и с разными идеями.
решение объединить все каналы - оно настолько логично и естественно, как понимание того, что все сообщения идут в итоге к одному пользователю, и пользователю достаточно одного окна, одного интерфейса, чтобы взаимодействовать с потоком сообщений.
и естественно, что только пользователь решает - сколько каналов сообщений можно/нужно объединить, а сколько - оставить отдельными.
собственно автор и говорит, что такие объединительные решения пытаются вводить корпорации на основе своих соц.сетей - фейсбук, гугл, вконтакт и так далее. но у каждой корпорации - свои взгляды на монетизацию этого процесса, а значит - на условия использования своих сервисов. и независимые от соц.сетей решения - это то, что нужно самим пользователям, они сами решают как и что объединять, как пользоваться, независимо от одной соц.сети или канала связи.
такие независимые программы - это преимущества для пользователя, а не для корпораций.
...
готов использовать такое или подобное решение уже сейчас
где можно взять/купить эту программу со скриншотов? :)
а опции сохранения всего контента на компе пользователя (по желанию:) и мобильные приложения можно добавить и потом

Во времена Usenet/Fidonet эти темы уже были проработаны и прекрасно решались стандартным программным обеспечением.

Сейчас этому препятствует не только исконная вебовская традиция решать всё через "оппа говносайт" вместо API, но и стремление операторов полностью управлять потреблением контента. Для фейсбука или гугла пользователь это лишь мелкая единица товара, выгоднее вкладывать миллионы в раскрутку Google+ и тихо сливать Google Wave.

Ну с вашей точки зрения Wave действительно был идеологически правильным продуктом — протокол, api, распределенность. Только не взлетел он не потому что «надо было зарабатывать миллиарды», а потому что концепция была недостаточно лучше почты по потребительским качествам. По технологическим, конечно, была, но людей не интересуют, на PHP это работает или нет. Я об этом в том числе написал в посте. Его прикрыли просто потому, что он не работал.

В любой компании, где сказанное слово чего-то стоит, почта - это официальный способ коммуникации внаружу и между отделами.

А, елси нужен чатик, просто поднимают телефонную трубку. Или едут в гости.

Несколько лет назад мы начинали штуку с такими же принципами реализовывать: мол все сообщения одной природы, собирай их в группы, читай потоки. Только считали её не заменой почте, а заменой всех сайтов для общения (поскольку файлообмен добавляет очень много работы). Одна из идей у нас была — все эти формируемые потоки это ещё и RSSы. Френдлента, твитор это всё рсс из рссов. Чтобы встроится в структуру существующих читалок/почтовых клиентов, а не оставаться в рамках браузера. Потом это всё протерялось в приоритетах и застыло.
Идея висит в воздухе. Я согласен что твоя идея сработает для читания разных источников, но это не сработает для переизобретения почты пока нет ответа на все её базовые функции. Например, проблема не сколько в том что переписка храниться «у дяди», а в том что в офлайне это всё оказывается недоступным. Обычная почта не создаёт такой проблемы тем, кому надо иметь доступ к архиву в офлайне.

Если почта это средство общения, зачем доступ к ней в оффлайне?

GMail не очень-то доступен в оффлайне. Твиттер недоступен, фейсбук, basecamp. Живут ведь как-то с этим.

Насколько я понял, это очень похоже на классический форум: есть плоские топики с какой-то настройкой списка участников, которые объединены в форумы, можно подписываться на топики и на форумы целиком.

Бегло была упомянута возможность, которой как раз хорошие форумы отличаются в лучшую сторону от мыла (про правку, которая будет видна всем участникам топика) — наличие верхнего поста, собирающего информацию из комментариев (например, как на руборде). Как следствие, чтобы сделать это более похожим на вики, нужны кроме сообщений-правок (для своих сообщений) и сообщения-патчи (для чужих), которые можно принять или отклонить. Заодно это позволит убить еще и формат корпоративных вики.

На тех же форумах присутствует еще одна, совершенно не упомянутая возможность, которая тем не менее улучшает продуктивность совместной работы во многих случаях (например, stackoverflow): плюсы-минусы сообщениям, которые позволяют компактно увидеть отношение людей к предлагаемому/высказываемому без необходимости формулировать аргументацию, а другим ее читать. Но учитывая известный их недостаток (например, на хабре первонах-юморист получает много плюсов), следует ввести еще и кнопку со смайликом, как на rsdn.

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

Но из тех же форумов возникает и известная проблема со списком прочитанного / пагинацией, к которой я не вижу пока хороших решений.

Выделение всех личных бесед в один топик не очень удобно, поскольку обсуждения с одним и тем же человеком могут идти по нескольким несвязанным вопросам и даже ролям: например коллега-друг. Нужен функционал типа вышеупомянутого вынесения беседы в отдельный топик.

Проблем с оффлайн-клиентом, p2p или параноиками я как раз не вижу. Оффлайн-клиенты для форумов и ЖЖ вполне существуют, и применяются примерно в тех же случаях, в которых скачиваются репозитории SVN: если нужны полностью и по указанию пользователя, имеющего на текущей машине достаточно места для этого. Поскольку описываемая система вполне может быть построена поверх электропочтовых сообщений с умным клиентом, и учитывая, что почта по сути и так p2p между серверами, то схема, подобная jabber, вполне снимает вопрос с одной стороны о централизации и спекулировании этим, а с другой стороны об оффлайн-сообщениях. Что же касается параноиков, то открытые топики, конечно, не будут шифроваться, а приватные должны шифроваться ключом, создаваемым топикстартером, и последующие присоединения пользователей будут просто публикацией этого ключа, зашифрованного открытым ключом этих пользователей.

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

Похоже, но более гибкое в части доступа и в отличие от форума персональное.

> Но из тех же форумов возникает и известная проблема со списком прочитанного / пагинацией, к которой я не вижу пока хороших решений.

Что за проблема? Пагинацию вроде бы давно уже закопали

В целом лайк. Да, нужен wave, но круче. С постом твоим согласен, с комментами твоими — нет.
Не понимаю, почему оффлайн не нужен, ведь действительно есть множество ситуаций, когда нет связи, или связь низкоскоростная, etc. Кроме всего прочего, загрузка в оффлайн положительно складывается на UX — нет времени ожидания ответа на запрос к серверу тупо потому, что уже всё локально загрузилось. (если скрестить с background fetch в iOS 7, получится идеальный инструмент)
Не понимаю также почему не нужен п2п, не понимаю, почему ты считаешь, что у скайпа не получилось. Обмен сообщениями между клиентами скайпа — идеальная система децентрализованного IM, я считаю. У тебя платный скайп? Рекомендую, кстати. Я поюзал, но потом понял, что запущенный на сервере инстанс скайпа покроет все мои нужды.

Да, зачастую p2p, great UX и халява несовместимы. Чтобы mail 3.0 выстрелил и попал действительно готов пожертвовать p2p в самом начале. Но если будет большой оборот — имхо будет тяжелее справляться с хранением этого всего на сервере (+ проблемы со спецслужбами), чем перевести это на p2p. И сделать тем самым эту систему неубиваемой, какой сейчас является обычный mail. Как раз из-за п2п.

Mail наоборот перешел к централизованному варианту. Почти все сидят или у Гугла, или у Яхи. Потому что тупо удобнее.

У скайпа не получилось потому, что я периодически отвечаю на сообщения, которые были отправлены месяц назад, а я их только что получил out of order. Плюс, нет истории и нет оффлайн-сообщений. У платного скайпа что, за денежку вдруг все эти глюки пропадают?