Pull to refresh

Comments 196

Сейчас таких протокол и систем реализованных на этим протоколах огромное множество. Например социальная сеть "Диаспора" и аналог твиттера "Mastodon"

Я про другое в статье писал.

Вы написали что хотите разработать протокол для мессенджера. Протоколы этих систем подходят отлично под ваше описание. Так же если надо конкретно мессенджеры, то могу посоветовать "Ring"

Да, спасибо, Ринг смотрел

И какое мнение про него? По описанию и по внутренностям гита на их сайте, все выглядит более чем достойно.

+1.
Или tox.
По части Ring, хорошо бы к нему разработать простой клиент, а то существующие за собой тянут GNOME или KDE с их переусложненным барахлом.
Tox хорош. Пользуюсь для голосовой связи с родственниками, переписываюсь с несколькими знакомыми.

Вот что бы не помешало, так это сделать эдакий tox-proxy: развертываем клиент на домашнем компе( vps, подкроватном сервере, etc), к нему подключаемся с мобильного приложения и пользуемся.
А то, очень уж мобильная версия непотребно много трафика и ресурсов потребляет. Впрочем, toxic+tmux+connectbot проблему частично решали.
evolution-data-server, libcanberra, dconf, вот это все. Особенно убивает dconf: нормальные бекапы через rsync или unison без костылей сразу обламываются.
А qt-клиент, насколько я помню, требует kio, kontacts и иже с ними.
Стратег, проектировщик бизнес-систем

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


Все эти вопросы, которые вы озвучили, в голову очень многим людям приходят не "последние два года", а куда дольше. Собственно, уже упомянутый джаббер и был как раз попыткой создать универсальный протокол. Поэтому интересно, что же, по-вашему, за "понятные причины" привели к провалу, и как вы эти причины собираетесь обходить?


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

А вы этим людям зачем?

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

Я поэтому и спросил, что вы думаете о причинах фактического провала джаббера/XMPP как универсального решения. Который IETF proposed standard, неслабая поддержка со стороны не последних в мире ИТ корпораций, все дела. Как и за счет чего вы собираетесь преодолевать проблемы, которые не может преодолеть джаббер?

И что ваше видение говорит о провале XMPP/Jabber, который вы и описали в своей статье?
Спасибо за статью, количество комментариев подтверждает что эта тема интересна.
Однако, осмелюсь предположить что мы УЖЕ сделали примерно такой мессенджер.
Итак, уже реализованные возможности мессенджера:

— Регистрация БЕЗ номера телефона. Только логин.
На самом деле можно регистрироваться и без емайла — он просто нужен для того чтобы потом можно было восстановить пароль.

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

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

— Стандартный протокол шифрования TLS/SRTP.

— Поддержка SIP протокола в 2 режимах:
1. Режим SIP — транк.

Это означает что вы можете взять ЛЮБУЮ SIP совместимую железку — любой IP телефон, любой VOIP шлюз, и даже любую IP АТС или виртуальную IP АТС и подключиться как бы параллельно вашему логину в системе.
Как это работает — при приеме входящего звонка от любого пользователя мессенджера одновременно звонят параллельно подключенные IP телефоны, шлюзы и транки IP АТС.
Количество подключаемых таких устройств — неограничено.
Если речь идет о подключенном транке IP АТС, то количество одновременных вызовов на один логин также неограничено.
Поддерживаются и SIP видеозвонки — т. е. можно взять любой стандартный SIP видеотелефон и он будет работать.
Кроме того, т. к. поддерживается стандартное шифрование TLS/SRTP и если железный IP телефон его поддерживает, то сервер подхватит шифрование и у вас будет шифрование и с железкой.
2. Режим SIP клиент с пуш уведомлением.
Работает как обычная SIP звонилка типа Csimple, Linphone и т. д., но в отличие от таких клиентов не жрет батарейку, т. к. умеет работать в спящем режиме.
Т.е. приложение засыпает и ничего не тратит, а просыпается и принимает звонок только когда идет входящий.

— Позволяет подключаться одновременно и параллельно нескольким логинам.
При этом обнаружилась интересная возможность — работа одного SIP аккаунта, одной учетной записи одновременно на разных устройствах -если приходит входящий звонок на SIP номер, то звонят сразу все телефоны.
Может быть полезно тем, кто хочет сэконмить, взять, например платный аккаунт у одного провайдера и раскидать на нескольких человек.
Или например, взять один номер для входящих звонков и раскидать его сразу нескольким людям ( сотрудникам, родным и т.д.).
номеру одновременно.
SIP учеток может быть до 10, количество пользователей — практически неограничено.

— Режим PTT или Walkie-Talkie (рация)
Работает как в обычных, так и в групповых чатах.

— Естественно передача текста, файлов, аудиосообщений, фото, видео, геоположения, аудио и видеозвонки внутри мессенджера и т. д.
Все как у других мессенджеров.

— Режим Live TV.
Вы можете сделать из своего телефона систему видеонаблюдения за удаленным объектом.
Подробнее в этом видео.

— Family Locator.
Вы можете поставить в чате разрешение собеседнику запрашивать ваше геоположение — в этом случаем он может не спрашивать вас, а сам получить карту с вашим положением.

— Изчезающие сообщения.
Можно поставить время жизни сообщения — по истечении времени оно удалится у обоих сторон.

— Интегрированный голосовой бот-ассистант Алекса от Амазон.
Можно не покупать Алексу Echo — все основные возможности реализованы в мессенджере.
Можете управлять сотнями различных устройств прямо с мессенджера, которые поддерживают Алексу — начиная с Sonoff за 5$ и заканчивая управлением автомобиля (подробнее в этой статье).
Можно отдавать команды голосом, как в Alexa, но помимо такой стандартой возможности мы добавили также возможность отдавать команды текстом — иногда такое более удобно.
Потом мы пошли дальше и сделали кастомные кнопки — т.е. наиболее часто употребляемые команды для Алексы (типа вкл/выкл свет и т.п.) можно вызывать тапом по кнопке, наподобие пульта ДУ.
Потом мы опять пошли дальше и сделали простой API, который позволяет вызывать любые Алекса команды простым json запросом, т.е. пользователь взаимодействует не с сервером Амазона, а просто делает json-команды, т.е. можно встроить управление Алексой с любого сайта, бота, устройства типа Ардуино и т.д.
Подробнее об этом в статье.

— API для создания ботов и для прикручивания разных IoT железок.

— Функция пользователи рядом.
Если вы включаете эту функцию, то все пользователи, также включившую эту функцию, могут видеть расстояние до вас в радиусе до 100 км. Выключаете — вас никто не видит и вы — никого.
Социальный элемент в мессенджере. этакий каннибализатор Тиндер и подобных приложений.

Но самая интересная возможность, которая реально может повлиять на мир коммуникаций, в другом.

Сейчас существует как бы два мира, две экосистемы для коммуникаций — первая — мессенджеры, которые в качестве логина пока используют телефонный номер и которыми пользуются частные лица и 2 — т. н. Бизнес телефония — это виртуальные АТС, АТС на Астериске и других SIP совместимых платформах.
Но несмотря на то что и мессенджеры и бизнес-телефония используют телефонные номера, в каждом случае это разные сущности.
Проблема — эти два мира не пересекаются, хотя оба делают одно и тоже — связывают людей.

Т.е. нельзя сделать звонок например из WhatsAp или Телеграм пользователю IP АТС — хотя и в том и другом случае используется IP телефония и одинаковые голосовые или видео кодеки.

Для связи пользователь мессенджера должен выйти из экосистемы мессенджера и воспользоваться или PSTN или GSM, т. е. сделать платный звонок.
Или сделать платный звонок из мессенджера, который в конце концов пройдет также через старый PSTN или GSM.
Странная ситуация в то время когда пользователь может звонить друзьям и близким бесплатно.

Почему так происходит?

Ответ прост — мессенеджерам достаточно своей аудитории и они не хотят никакой интеграции с другими и наоборот.
Уже сейчас совокупная аудитория мессенджеров около 5 млрд человек.

С другой стороны традиционная SIP телефония востребована в бизнесе — достаточно сказать что объем рынка VOIP оценивается в 120 млрд. USD.
Уже существует огромная и развернута инфраструктура SIP телефонии в каждом бизнесе, завязанная на географическую нумерацию или негеографическую (номера 8-800).

Почему же назрела необходимость уйти от старой связи, основанной на географической нумерации? В чем проблема нумерации? Их несколько:

1. Это исчерпаемый ресурс, количество номеров, выделенных для каждой страны, ограничено (привет, IoT девайсы!).

2. Это регулируемый ресурс — выдается только государственными уполномоченными организациями, причем в каждом государстве свои правила.

3. Так как номера с геопривязкой к определенной стране, городу и т.д., то для звонков на эти номера нужно платить деньги.

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

Что предлагается?
В мессенджере паралелльно любому созданному нецифровому логину можно подключить неограниченное количество VOIP линий и завести их на уже существующие транки АТС для бизнеса и обрабатывать их в соответствии со сложившимся алгоритмом.
То есть задействуется уже сложившаяся инфраструктура в бизнесе — получается очень легкая интеграция новых возможностей, используя уже купленное оборудование (IP АТС, IP телефоны и т. д.) с экосистемой мессенджера.
Соответственно такая коммуникация будет бсплатна для всех.

Почему нецифровой логин?
Потому что бизнесу нужен не набор цифр, а легкое запоминание способа контакта — не случайно рядом с цифрами везде фигурируют буквы и часто используются до сих пор такие номера:
1-800-COCA-COLA и т. д.
Это можно сравнить с тем что сейчас не используют IP адреса в сайтах, типа 151.101.192.81, а используют вместо этого доменные имена типа bbc.com и т. д.

Вот этот мессенджер.

Open-source сервер, который можно установить у себя и который будет контактировать с другими серверами, аки электропочта, есть? Если нет, то — не то и фтопку.

Open-source сервера нет, но зато есть уже РАБОТАЮЩИЙ и РЕАЛЬНЫЙ продукт.
Это раз.
Второе — для реалтайм коммуникаций, к киом мы пречисляем аудио и видео, вы не сможете сделать распределенную архитектуру в принципе.
Фантазировать можно много, и можно, да, сделать текстовые сообщения децентрализованные, но реалтайм нормально работать не будет, ибо есть наты и все проблемы для аудио и видео которые они несут.
Если начнете делать что-то ручками, то сами столкнетесь и поймете.

Так-то скайп в свои лучше времена был очень даже распределённым со своими супернодами, мне рассказывали, что даже без интернета по локальной сети прекрасно работал, если до этого хотя бы раз залогиниться)

суперноды сидели на реальных айпишниках и по сути работали как TURN серверы.

О том и речь, с кучей TURN-серверов получается вполне распределённо. Ну и ничто не мешает держать нормальный STUN/TURN-сервер у себя вместе с ожидаемым мной open-source сервером для мессенджера, в том же XMPP все именно так и делают


Правда, вообще без серверов уже вряд ли получится, но нужно ли?

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

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


вы будете довольны постоянной загрузкой своего канала в полку?

Да, у меня торренты специально канал загружают))

У них и клиент несвободный.

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

Сайт кстати у меня тормозит на не самой слабой машине.
Собственно, уже упомянутый джаббер и был как раз попыткой создать универсальный протокол. Поэтому интересно, что же, по-вашему, за «понятные причины» привели к провалу, и как вы эти причины собираетесь обходить?
Причины очевидны — XMPP делали для передачи данных, а не для общения людей. XSF вообще сейчас продвигает XMPP в качестве транспортного протокола для IoT, что уж тут говорить.

За последние 2 года добавили много важных XEP'ов, но полноценных клиентов для XMPP просто нет. Ни одного, ни под какую платформу.
Conversations на Android очень хорош, но не поддерживает, например, регистрацию в транспортах, vcard, управление сервером, хотя отлично подходит именно для общения.
Почти все остальные клиенты имеют какие-то значимые недостатки. В Gajim нет поддержки загрузки истории чата в мультигрупповых чатах, а в Psi+ вообще поддержки серверной истории нет.
Новый Dino пока слишком простой, чтобы им можно было полноценно пользоваться.

Но, в целом, если всем разработчикам клиентов взять себя за руки и реализовать описанное в документе, то XMPP уже можно будет нормально пользоваться.
Я предлагаю $1000 тому, кто сделает поддержку серверной истории (XEP-0313, MAM) в Psi+.

Ну, во-первых, "хотелось бы все-таки услышать начальника транспортного цеха". (с) :)


Во-вторых, по мне так как раз очевидно, что основная проблема вообще не в протоколе. Протокол допилить — невелика проблема, особенно учитывая, кто в свое время его поддерживал и пытался активно продвигать, ресурсов и веса более чем достаточно. Она в том, что, перефразируя, "верхи не хотят, а низы не могут". Индустрии не нужен единый мессенджер, деньги удобнее делать на фрагментированном рынке. А предпосылок для революции снизу не видать — пользовательская масса была бы может и не против уйти от кучи каналов общения на единый, но предложить этот канал ей некому, потому что индустрии не надо, а энтузиасты не смогут его раскрутить. И вот как ЭТУ проблему решать, и хотелось бы услышать от человека, который себя позиционирует как стратег и визионер. :)

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

У вас, к сожалению, как раз и описан путь XMPP. Включая "внедрить её с ограниченным функционалом в сотне-другой компаний" (на самом деле много-много больше), в виде как Cisco Unified Communications, так и других вариаций. И это, заметьте, с одновременным продвижением в широкие массы со стороны того же Гугла. Кончилось всё тем, что мы имеем сейчас, и вот совсем не ясно даже гипотетически, за счет чего вы планируете оказаться успешнее.


P.S. Это я не к тому, что у вас 100% ничего не выйдет, "дорогу осилит идущий", и всё такое. А к тому, что пока даже гипотетически не ясно, за счет чего вы хотите взлететь, потому что пока планируете идти по проторенной дорожке, которая очевидно не привела других к желаемой цели.

Такое ощущение, что ныне мертвые Bombus, был самым продвинутым клиентом для XMPP)

Мне почему-то сразу приходит на ум эта картинка:

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

Просто она очень точно отражает мои впечатления после прочтения статьи :)

Вот я тоже, читая статью, вспомнил эту картинку =)
Ваши основные требования завтра поменяются, а стандарт останется.
Так и появляются 15 стандарты.
Разумные стандарты по которым мы не можем внедрить:
со сторонностью движения
единицами мер и и весов
разъемы розеток
С Джаббером как-то не сложилось, по понятным причинам.

По каким именно "понятным причинам" "не сложилось с джаббером"?

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

Получается «15 стандартов» внутри одного.

P.S. Вообще я любил Джаббер, но он уже умер.
Вообще, напомню, что довольно долго все реализации были совместимы. Вы могли со своего ejabberd писать пользователем gtalk'a, фейсбука и так далее. А потом совместимость поломали.
Ну, по очевидным понятным же. А если серьезно, то очень быстро корпорации поняли, что федеративность и децентрализованность — это плохо. Например, возможность контактировать пользователям социальных сетей (gtalk и vk, например), а то и вовсе не регистрируясь в этих самых сетях, а просто прилинковав свой сервер к общей сети.

Думается, что если бы e-mail не был древним и устоявшимся протоколов, у которого-то, по сути, не было других конкурентов и реализаций, ждала бы его участь jabber'a.

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

Не кажется ли вам, что с джаббером не сложилось ровно по противоположным причинам, по которым сложилось у десятка мессенджеров, — никто им не владел, никто не тратил деньги на допиливание фич и маркетинг?
Если кажется (как мне), то вместо написания пятнадцатого нового открытого протокола для обмена сообщения, можно просто вбухать денег в джаббер — написать нужные XEP'ы, допилить любой открытый клиент (тот же pidgin) до состояния юзабельности и совместимости с этим XEP'ами, провести маркетинговую кампанию для домохозяек. Но контролировать потом это всё вы не будете (даже если закроете глаза на джаббер). Вот в чём проблема.


Как минимум, имеет смысл подробно рассмотреть джаббер-экосистему как наиболее похожую на то, что вы придумали. Странно, что вы вообще не уделили джабберу внимания в статье. И ещё написали, что ждёте открытого протокола, а его всё нет и нет. И не отвечали на многочисленные вопросы "а джаббер?". Желаете создать пятнадцатый стандарт?


По вашей системе — в ней очень много фич, и соответственно долго и дорого их все реализовывать. Наверно, вы хотите реализовать все хорошие штуки, о которых когда-либо слышали или думали.
Для сравнения, в e-mail этого всего нет.
Может, из вашей системы следует отбросить всякий хлам?

Джаббер не успел стандартизироваться во что-то единое и стать удобным для масс.

Огромный зоопарк клиентов, каждый со своими фичами, необязательные к реализации расширения, которые лень ставить админу сервера. Даже смайлики и статусы могут быть разные. А вникать во все эти технические подробности никому неохота, кроме парочки гиков.
Тут вот какое дело… такие платформы уже есть. Позволяет коммуницировать практически с кем угодно с помощью текста, видео, голоса, весёлых картинок, обмена файлами и еще кучи всего. Поддерживает уйму протоколов — XMPP, электронная почта, проприетарный протокол скайпа, вотсаппа, открытый протокол телеграмма, и много других протоколов.

Одна платформа называется iOS, другая — Android.

Вечат это просто ещё один частный мессенджер. Хотя и более развитый, чем остальные

Для меня очень важно иметь независимый от коммерческих интересов отдельных лиц или структур способ коммуникации.

Это утопия.
Всегда будет зависимость, если не в самом мессенджере, то в каналах связи.

Да. Но выбор каналов связи останется. Тем более ещё спутниковый интернет собираются развивать.

Да нет. Тот же email более чем независим.
С email такая проблема:

Если это GMail, Yandex, Protonmail, Lavabit,… — то зависимость от вендора, такая же как у месенжеров. Вендор может захотеть больше денег или к нему придут люди в чёрном.

Если свой домен — то зависимость от доменных регистраторов, которые отключают домен по анонимке, и от мантейнеров спам-листов, в которые легко попасть, особенно если кто-то «поможет».
А если не gmail сотоварищи, то независимость. В любом случае, никто (пока) не мешает поднять свой сервер, и почта с него будет ходить клиентам gmail, yandex и иже с ними.

В любом случае, степень независимости несоизмеримо выше. А абсолютен только сферический конь в вакууме.
UFO just landed and posted this here
Уже ударило. На двух проектах пришлось прикручивать отправку почты через Amazon SES, так как AOL и еще какие-то системы не принимали письмо с неизвестного айпишника. Еще бывают всякие spamhouse и иже с ними, которым надо еще доказать что ты не верблюд, и у которые тоже по умолчанию помечают почту с неизвестного айпишника если не как спам, то как подозрительную. Поэтому если просто запилил вдску, поставил на ней сайт и хочешь с этого сайта отправлять письмо клиентам — готовься к геморрою, потому что если использовать стандартный пхпшный mail() и отправлять письмо средствами этой же вдски — дойдет далеко не всем.

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

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

Стратег, проектировщик бизнес-систем

С Джаббером как-то не сложилось, по понятным причинам.

<ни слова о том, чем не подошёл jabber/xmpp>
<ни слова о прочих открытых стандартах (tox, matrix) и чем они не подошли>

Статья — вода без технических подробностей, а в схеме вы в чистом виде нарисовали xmpp federation.

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

Каналы

чат-комнаты в jabber и прочих мессенджерах

В зависимости от настроек каналов можно создать:
Закрытые рабочие каналы — для указанного создателем круга лиц.

jabber contact group

Входящие каналы — для приёма обращений. Например, Ωdomain — омега-канал организации по умолчанию или нулевой канал.

чат с info@organization.org

Вещательные каналы (односторонние) — для неопределенного круга лиц, подписаться может любой и читать. Например, Ωdomain#news — это новостной канал организации.

Лишняя сущность. Это не должно быть частью мессенджера. Используйте atom/rss/что угодно. Если хочется интеграции с новостями ит.д. — это задача дла клиентского приложения.

Волны

Интересная идея, одна из немногих

Омега-визитка

vcard

Круги

jabber contact group

Интеграции с бизнес-системами

проектируйте расширения существующего протокола

OmegaID
Одним кликом ( и это не маркетинговые заявления) между системой и пользователем сразу устанавливается связь

Это вопрос поведения клиентского приложения, а не протокола. не смешивайте сущности

Безопасность

XEP-0384

Сущности

интересная идея, но решается расширениями, а не созданием протокола с нуля

Платежи

опять расширения

Поиск

Это не часть протокола, не смешивайте сущности

Сервисы

чат-боты, расширения протокола

Вопрос был также актуален и 10 лет назад — ICQ, MailRu@Agent, XMPP, AIM, Yahoo Messenger, IRC, Skype — все эти протоколы уже были и была ровно такая же сегментация аудиторий, как сейчас, только сами аудитории были меньше, чем сейчас.


Моё субъективное мнение не совпадает с Вашим, не сочтите за нападки, но оно противоположно — ни "универсальный мессенжер", ли "мессенжер будущего" в с учётом (это важно) текущего несовершенства сети и связанных с ней процессов не нужны, вот почему:


  1. Любой "универсальный" мессенжер проще монопольно контролировать. Можете ставить на блокчейн, распределённость, даркнеты — это всё обходные решения и при должном желании это можно легко зарегулировать, была бы таковая надобность. Возможно ли обойти? Да, конечно, как сейчас делают за одним большим файрволом, но тогда автоматически отваливается огромная часть ЦА, которая не будет заморачиваться с техническими тонкостями.
  2. Любой "универсальный" мессенжер должен иметь исчезающе низкий порог вхождения, если рассчитывает на массовость; на данный момент — это регистрация по MSISDN == телефону [ничего более простого пока нет]. Массовая ЦА не будет ни запоминать логины, ни регистрироваться по почте, уже эти этапы пройдены. При этом использование телефона для любой, даже самой первой авторизации — это провал.
  3. Проекты, которые идут в одной колее с описанными Вами принципами — маложизнеспособны для массовой аудитории. Tox, Matrix, Diaspora — о них знают либо любители/айтишники, либо те, кто косвенно или напрямую изучает эту область. Проблема этих проектов в том, что и высок порог вхождения (см. п.2), нет "отшлифованности" (нельзя поставить на любой телефон, чтобы "просто работало из коробки"), нет понятного интерфейса (имеется в виду то, как сделано сейчас — синхронизация адресной книги, проверка пользователей по MSISDN в базе мессенжера, автоматическое составление контакт-листа). Это не значит, что проекты плохи, попросту "не для всех".
  4. Взлетают коммерческие проекты, которые нацелены на прибыль, тем самым позволяя поддерживать быстро и развивать продукт также быстро. При этом коммерческие продукты частично или полностью Closed Source — никто не хочет терять своё ноу-хау, а тем более контроль над своим продуктом.

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


И, кстати:


С Джаббером как-то не сложилось, по понятным причинам.

Не сложилось у массовой ЦА из-за того, что в расцвет XMPP всё ещё были "детские" болезни у самого протокола:


  1. Отсутствие гарантированной доставки сообщений (вспомним, что изначально протокол не ориентировался на "плохие" сети с низким качеством связи);
  2. Отсутствие гарантированной доставки сообщений в оффлайн;
  3. Отсутствие синхронизации между устройствами;
  4. Отсутствие user-friendly приложений на мобильные устройства;
  5. Отсутствие сквозного шифрования, которое не нарушало бы п.1-3.

Всё это на достаточном уровне решено сейчас:


  1. XEP-0184, XEP-0184;
  2. XEP-0013 и некоторые другие;
  3. XEP-0280;
  4. Разные приложения — например, Conversations для Android, Pidgin для Linux;
  5. XEP-0384.

К слову, пользуюсь им и по сей день в дополнение, к сожалению, к Telegram, который как раз тот самый middle ground (распространён, без рекламы, имеет FOSS клиенты, но Closed Source на стороне сервера).

На все XEP'ы можно ответить очень просто: они не обязательны к реализации, как следствие — их никто не реализовывает. Буквально пару дней назад собеседник не получил от меня сообщение, потому что на его Prosody не был подключен XEP-0198. Тот же собеседник потерял все мои сообщения за полгода(!) (а я думал, что он меня просто игнорирует) в 2017-м, причина до сих пор неизвестна (ну или он соврал, что полгода от меня ничего не получал, не знаю). А живых серверов, хранящих историю сообщений у себя, я вообще не знаю.


Нужен протокол, в котором все упомянутые XEP'ы будут обязательны к реализации всеми клиентами и серверами. И будут реализованы не так громоздко, как XMPP, у которого при подключении over9000 round trip'ов на включение всего этого дела.


Алсо, я не вчитывался в XEP-0280, но в любом случае на практике реализация синхронизации между моими Conversations и Psi+ откровенно убогая (оба XEP-0280 поддерживают, проверял).

На все XEP'ы можно ответить очень просто: они не обязательны к реализации, как следствие — их никто не реализовывает.

Почему Вы так любите обобщать? Например, я уже несколько лет использую draugr.de — там и delayed delivery, и message carbons, и OMEMO поддерживаются. С 2015-го никаких проблем с доставкой сообщений, даже в метро.


на практике реализация синхронизации между моими Conversations и Psi+ откровенно убогая

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


Уточню: Jabber — не "серебряная пуля", не идеал, имеет свои минусы, но сам протокол и клиениты сейчас намного лучше, чем были N лет назад.

delayed delivery

Работает только при оффлайне. Если подвис интернет в метро — сообщение в delayed delivery не попадёт и в итоге потеряется.


message carbons

Работает только если клиент не единственный. Отвалился интернет в метро — сообщение потеряется.


UPD: В старой версии коммента я немного попутал со stream management, но он тоже не работает. Отвалился интернет более чем на 15 минут — соединение не восстановится и сообщение потеряется. Я лично ставил эксперимент с Conversations — теряет, инфа 100%. Поэтому я не пользуюсь джаббером на телефоне.


OMEMO

К гарантии доставки не относится (ну или я чего-то не знаю).


Полную гарантию доставки будет давать только MAM — но именно его почти нигде и нет (вон ниже т.е. выше в комментах $1000 за реализацию в Psi+ предлагают, например). На вашем dragur.de есть MAM?


сам протокол и клиениты сейчас намного лучше, чем были N лет назад

Лучше, бесспорно. В 2008-м даже с message carbons дела были очень плохи, не говоря уже обо всём остальном. Но его надёжность всё еще не дотягивает до минимальных требований — я уже не раз здесь упоминал о потерях сообщений даже со всеми этими расширениями.


пришлось перейти на Pidgin

Когда я его тыкал несколько лет назад, он был убог и вообще падал от картинок в чате. Но что-то его все нахваливают, снова попробовать что ли)

Не успел дополнить:


message carbons

Работает только если клиент не единственный. Отвалился интернет в метро — сообщение потеряется.

Я включаю Conversations на телефоне только тогда, когда на ноутбуке запущен Psi+. Если Conversations отвалится, то сообщение получит Psi+ благодаря этому самому message carbons. Но если Conversations отвалится и не восстановит соединение, а Psi+ будет отключен, то сообщение ни в какой delayed delivery не попадёт и в итоге потеряется.


В общем, джаббер ненадёжен.

Хм, у вас, вероятно, неправильно настроен сервер. Если у вас включена поддержка истории (XEP-0313), то сообщения об ошибках о недоставки сообщений вообще можно отключать, вы в Conversations их получите из истории.

Я про то и говорю, что поддержка истории почти нигде не включена. На jabberon.ru, который я юзаю уже лет семь, никакого XEP-0313 нет и не предвидится, а даже если я найду сервер с историей или подниму даже свой (у меня есть ejabberd на andreymal.org, но только для ботов), то всё равно менять JID — боль. Так что страдания неизбежны)


Ну и да, где гарантии, что у моих собеседников будет история? Вон у ранее упоминавшегося собеседика, потерявшего сообщение пару дней назад, даже банального stream management не было (у него поднят свой сервер). Я его ткнул в модуль для Prosody, он спасибкой ответил, но поставит ли его — ещё не факт.


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

conversations.im/compliance

Ну и да, где гарантии, что у моих собеседников будет история?
Для вас разницы нет, исходящие сообщения одинаково отправляются с историей и без нее.

Если сообщение не доставлено, то вам об этом придет уведомление вида «ошибка при отправке сообщения (recipient-unavailable)». В XMPP предлагается отправившему сообщение отправить его вручную снова.

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


Плюс нет гарантии, что собеседник его на самом деле не получил: возможно, интернет у него отвалился аккурат перед отправкой уведомления о доставке. Тогда, если я переотправлю сообщение, он получит его второй раз, что тоже неюзерфрендли.


Это никуда не годится.

Уведомление о невозможности доставки сообщения клиенту отправляет сервер получателя, а не ваш сервер или сам получатель. Если вы не получили сообщение об ошибке, то у вашего собеседника неправильно настроен сервер.
В XMPP есть еще уведомления о доставке, которые отправляет сам клиент, и уведомления о прочтении сообщения.

Я здесь немного не в теме: а как сервер получателя вообще должен узнать о невозможности доставки сообщения клиенту? Насколько я знаю, это возможно реализовать только через обязательное уведомление о доставке, но опять же — оно в XMPP необязательное.

Доставка считается неудавшейся, если TCP-сессия отвалилась, и пакет с сообщением не ушел получателю. В этом случае сервер получателя отправляет отправителю уведомление об ошибке.
Умеет, и делает это. Часто спамит моим собеседникам сообщениями об ошибках, когда я вытаскиваю Ethernet-провод из компьютера.

Тем страннее, что никаких ошибок от этого вашего Prosody пару дней назад я не получал

Если включен Stream management, он их отправит только после того, как истечет его таймаут.
Если же используется плагин mod_smacks_offline или mod_smacks_noerror, сообщений об ошибках доставки вы не получите.

Не знаю, что там было включено, но с моей стороны это выглядело так:


Спойлер

Опять же, все эти ваши настроен/не-настроен/используется/не-используется лишь в минус в джабберу: это всё само собой разумеющиеся вещи, которые должны быть из коробки везде без всяких настроек. И это всё ещё та же моя основная претензия к XMPP. Никто — ни я, ни мой собеседник — не должен даже задумываться об этом.


Поэтому мой основной мессенджер сейчас, прости г-споди, Telegram)))

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

Согласен, но архитектурные ограничения, к сожалению, есть всегда.


Тем не менее, конкретно у меня не возникало проблем с доставкой вообще, связка — Conversations/Pidgin и упомянутый сервер. Мне нет никакого резона Вам говорить недостоверные вещи, поверьте. При этом и я, и собеседник — то в метро, то за городом, то ещё где-то, где связь пропадает периодически. После 2015-го проблема с "потерей сообщений" ни разу не проявлялась, а пользуюсь я каждый день, однако, в основном с телефона.

Безусловно, за последние годы надёжность XMPP сильно повысилась, и я сам стал чаще использовать Conversations на телефоне благодаря тем самым SM и Carbons. Но мне тоже нет никакого резона говорить недостоверные вещи, сообщения у меня всё-таки продолжают иногда теряться) А всё из-за необязательности реализации этих несчастных гарантий доставки.


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

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

Возможно. Ничего не могу сказать — не сравнивать же все сообщение за год, например.


А всё из-за необязательности реализации этих несчастных гарантий доставки.

Ещё может быть дело в том, что у меня нет активных чатов с конфедерацией, только на "драугре", где довольно оперативно обновления происходят (притом, даунтаймы редко более 2 часов ночью по Европе). Либо ещё какая-то разница в server-side вещах.

Ребят, давайте про джаббер где-нибудь в другом месте пообщаемся. Незачем ворошить прошлое. Давайте про светлое будущее.

Я уверен, что светлое будущее должно быть на базе XMPP. Но для этого его нужно капитально перелопатить. А чтобы не наделать ошибок при перелопачивании, нужно сперва разобраться, почему прошлое стало таким, какое оно есть :)

Перефразируя — "Кто не ворошит прошлое — обречен повторять его ошибки" :)

Джаббер успешно смотрит в светлое будущее. За последние 2 года было много изменений и много новых пользователей. Старые клиенты получили новые функции, начали появляться новые клиенты.

Совершенно согласен. Называть XMPP прошлым — некорректно, так как де-факто его ничем открытым и расширяемым всё ещё не заменили на настоящий момент, хоть он и получил статус нишевого после "второй волны" мессенжеров (Telegram, Slack, WhatsApp, etc).

… а на джаббер сервера смотрит роскомцензура, и прикроет их адреса одной строчкой блоклиста при желании.
Будущее — за бессерверными решениями.
Будущее — за бессерверными решениями.

На то оно и будущее. По факту сейчас нет ни одного распространённого мессенжера с распределённой структурой. То, что этого нет "сейчас" — это не проблема и не аргумент, конечно, проблема в другом — объективно говоря, большинству пользователей современного интернета попросту не нужны ни секьюрные, ни распределённые мессенжеры, а компаниям нет смысла разрабатывать такие решения "просто потому что так красиво и ново по архитектуре, которую оценит 1% пользователей".


Аргументы? Практика: обратите внимание, насколько много людей не из "айти-тусовки" общается в WhatsApp (нет исходников == нет безопасности), ВК, Viber.


Даже Telegram, который также нельзя называть достоверно безопасным из-за закрытой серверной части, не особо пользуется популярностью у "простых" пользователей, поэтому создавать "serverless" решения на данный момент нет причин — всё и так работает.

Беда в том, что делать такие решения очень сложно и при этом оно никому не нужно :(


Те же Tox и Ring у меня не работают от слова совсем, например. (И я уже не раз об этом ныл на просторах хаброгиктаймсов)

а надо скинуться и оплатить багофикс
Будущее — за бессерверными решениями.

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

Quickbox.io?
Только мобильной аппы не хватает и была бы конфетка.

Причём тут прошлое? У меня сейчас включены ICQ, magent, и Jabber.
Из них я давненько не получал ничего по первому и последнему не потому что они плохие, а потому что среди юзеров они стали «не модными».
Народ пересаживается на то, про что трындят в телевизоре и в соцсетях, а потребностям, по большому счёту удовлетворяют они все.
Завтра начнётся мода пересаживаться на новый мессенджер, и юзеры все как один поудаляют старые и начнут агитировать друг друга ставить новый.
Ребят, давайте про джаббер где-нибудь в другом месте пообщаемся. Незачем ворошить прошлое. Давайте про светлое будущее.

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


И все-все-все современные производители мессенджеров изощряются, чтобы у них не увели клиентскую базу.


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


Где бабулечки, лавандосы, короче, как это монетизировать жадному капиталисту?

Сервисы=приложения, платежные системы, персональные помощники и т.д.

По факту — это roadmap того же Telegram, у которого огромные ресурсы на сегодняшний день, и он уже работает, имея низкий порог вхождения — "ввёл номер и пользуешься". Боты — уже есть, интеграция с платёжками и прочее — планируется, в общем, всё как Вы описываете.


До Telegram такое уже лет 5 работает в WeChat, который в 2016 провёл больше внутренних транзакций, чем весь PP за 2015.


Не хочу звучать как скептик, но всё же: в чём killer-feature решения в виде "мессенжера будущего", кроме гик-стафа типа безопасности/распределённости, которые массовой ЦА попросту не нужны?

в чём killer-feature решения в виде «мессенжера будущего»
в желании создателя изобрести велосипед

Как вы обеспечите, что, как только вы построите открытую среду, не придет конкурент на готовенькое и не уведет всех в свой сервис поюзав ваши усилия по построению среды и разработанный протокол? Защита против extend and embrace и прочее.


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


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

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

То есть для реализации этого надо много-много бессеребреников? Программистов дизайнеров, юристов и прочее или вы готовы потратить свои деньги и у вас их много?

Желательно, ибо моих денег точно не хватит на всю команду. Однако после хорошего прототипа думаю реально инвесторов подтянуть.

Для инвесторов нужен ответ на вопрос "Где тут бабло" а у вас его нет.

С моей точки зрения фишки это открытость и независимость от произвола каких-либо коммерческих компаний, да и вообще каких-либо лиц

Это фишки для широких масс или для кучки криптонердов?

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

Нерды могут иметь сущетвенно другие потребности чем быдломассы. При нынешних цензурах всем пофиг и все в вотсаппе

Отсутствие user-friendly приложений на мобильные устройства;

Удобней чем Bombus/BombusMod я, пожалуй, и не встречал мобильных клиентов) Причем на момент их актуальности из конкурентов бяли только "тяжелый" Talkonaut или ICQ клеинт (JIMM кажется)...bombus их всех обходил по удобству, но уже тогда кривоватый ICQ клиент лидировал за счет аудитории.

Matrix?


(он по моему мнению хрень, но не видеть его упоминания в посте для меня немного странно)


(вообще, следуя принципу «сперва добейся», я себе наклепал прототип протокола ещё в прошлом году, но реализовать руки не доходят)

UFO just landed and posted this here

А почему не хрень? Где нормальный протокол с нормальными сокетами или хотя бы вебсокетами вместо убогого и неудобного HTTP/REST? Где нормальные полноценные десктопные и мобильные клиенты, которые не будут браузерами, открывающими веб-сайт Riot, у которого к тому же перегруженный и запутанный интерфейс? Когда вернут отломанное отображение онлайна в чатах на matrix.org?

UFO just landed and posted this here
HTTP/REST — очень удобно

Как программист заявляю, что нет. Это удобно только для школохипстоты, которая ничего кроме HTTP не осилила.


пролезает через любой маньячный файрволл

Ни разу не доводилось видеть такие в природе. Точнее, видел, но такие, которые HTTP тоже порежут по белому списку.


Голос и видео таскается по WebRTC

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


Десктопный клиент у меня в браузере

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


Мобильный — Riot, никаких сайтов не открывает.

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


С онлайном не понял, что за проблема?

Мне сообщали, что «На официальном сервере Matrix.org сейчас временно отключено presence (из-за проблем с нагрузкой на центральный сервер, т.к. спонсоры сократили финансирование)». (К слову, какая же у сервера нагрузка, мне никто так и не смог рассказать.)


Я вчера заходил — в чатах всё так же было по нулю человек онлайн. Ну и нафига мне (и не только мне) мессенджер, в котором даже банальный онлайн не работает?

UFO just landed and posted this here
Как программист заявляю, что таки да.

Значит как неопытный программист заявляете. Все, кого я знаю из тех, кто работает в том числе в немаленьких компаниях и со всякими хайлоадами (опытные, в общем), от REST плюются. Я тоже плююсь.


из любых сред работает.

Ничего не мешает запилить HTTP-обёртку для любого протокола в качестве дополнения — так сделано в XMPP, например, и именно так работают веб-клиенты у XMPP. Но нахрена делать на базе HTTP протокол целиком и вынуждать страдать нормальных прикладных программистов на C++/Java/Python, которые работают в нормальных средах, поддерживающих нормальные сокеты, в угоду хипсторам-вчерашним школьникам, люто любящим браузерный js?


Не надо качать и ставить.

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


Заведите себе свой сервер, как сделал я.

А толку? Все остальные будут сидеть на том же matrix.org, на котором «что-то не работает».


Вообще должны быть благодарны, что кто-то сделал сервер с открытой регистрацией за свой счёт.

Я безмерно благодарен Дурову за его Telegram, который вышеперечисленных проблем не имеет)))))))))

UFO just landed and posted this here
но глаза боятся, а руки делают. Это главное свойство нормального программиста, на мой взгляд.

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


таки написан на python

Ну и хорошо. А полноценный клиент на C++ есть? Ну или хотя бы на питоне — но никак не на js.


Ну ради бога, запилите себе приложение.

А у меня уже есть, Telegram называется. Не я должен запиливать приложение для Matrix.


Комнаты-то на авшем сервере обслуживаться будут.

Эм, не расскажете, как сделать так, чтобы #matrix:matrix.org стал обслуживаться на моём сервере и имел рабочий онлайн? Сейчас там 12939 человек, из них онлайн — шесть. Похоже на какую-то случайность, потому что вчера онлайн был ноль. По-моему, онлайн должен быть хотя бы пару сотен — ну или там ~12900 мёртвых аккаунтов, во что слабо верится.


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

Так-то это единственный его недостаток — централизованная проприетарная выпрашивалка мобилок. Зато всё остальное прекрасно.


А что, Дуров вам рекламу не показывает? Или иным образом деньги на вас не зарабатывает? Я что-то не верю в такой альтруизм.

Мне тоже не очень верится, однако никаких способов заработка на мне я до сих пор не заметил. Ну разве что базу номеров кому-нибудь продают...)


Нравится зависеть от доброго дяденьки — вперёд.

Ну а щито поделать, если альтернатив нет. О чём, собственно, этот пост и написан.

UFO just landed and posted this here
С XMPP на порядки сложнее работать, чем с matrix.

От имени школьника, писавшего как клиенты, так и простенький сервер на питоне ещё в 2011-м, заявляю, что XMPP очень даже прост, а вы ниасиляторы.


Библиотек готовых очень мало

Наличие или отсутствие библиотек не имеет никакого отношения к качеству протокола.


А кто должен запиливать приложение, как не тот, кому оно нужно?

Так мне оно не нужно. Мне нужен нормально работающий мессенджер, он у меня уже есть — Telegram. Если всякие разные пропагандисты Matrix хотят, чтобы народ использовал его — они и должны допилить его до адекватного состояния.


Ну, тогда дайте людям денег или подарите серверных мощностей.

Обоснования какие-нибудь есть? Я не верю, что на серверах так много народа, что серверных мощностей уже не хватает. Зато я уверен, что нехватка ресурсов — это прямое следствие использования HTTP/REST, говнокода и непродуманности презенсов. Я могу быть неправ, но хотелось бы видеть пруфы, что я неправ — когда я их спрашивал в ноябре, никто не осилил мне их показать, так-то.


Но это ж трудиться надо…

Трудиться над чем-то изначально убогим немножко лениво :)

UFO just landed and posted this here
Наличие библиотек характеризует удобство использования с точки зрения программиста. Если протокол каждый раз приходится отписывать руками — это плохой протокол, разработка идёт медленно.

Я однажды делал библиотеку, парсящую сайт для работы с ним, с удобным API и всё такое, у этой библиотеки даже несколько довольных пользователей есть. Получается, по вашей логике несемантичный и невалидный HTML с периодическими требованиями запуска произвольного js-кода — это хороший протокол, раз есть библиотека?

UFO just landed and posted this here
Мне нужен нормально работающий мессенджер, он у меня уже есть — Telegram.

А для меня его не существует, потому что его нельзя поставить на десктоп, не поставив предварительно на мобилку. А на мобилку я ставить мессенджер не намерен в принципе.
Короче, это ещё надо посмотреть, какое из решений изначально убогое.
Не обязательно его ставить на мобилку. Мобилка должна уметь хотя бы принять СМС или входящий звонок.
Это не отменяет того, что SIM-карта необходима.
И все-таки тема, чем джаббер так плох, не раскрыта. Потому что предпосылки для его создания были точно такие же, как изложено в статье:
Омега-адрес userΩdomain аналогичен адресу электронной почты user@domain.
Причем адрес Ωdomain тоже имеет значение — это адрес организации!
Как правило люди будут иметь личный аккаунт и аккаунт сотрудника организации где они работают.


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

Протокол XMPP уже есть, он универсальный и стандартизирован. Расширений масса — и для звонков, и для видео, и никто не мешает добавлять свою функциональность, протокол открытый.

Проблема низкой популярности джаббера в другом. Он так и остался маргинальным решением, большие корпорации сначала им заинтересовались (поддержка джаббера была и в Google, и в FB и в ВК), а затем по мере «удушения жабой» предпочли пилить свои решения, несовместимые ни с чем, чтобы заставить пользователей пользоваться только их свистоперделками без возможности использовать альтернативные решения.

Ну и немалую роль сыграли низкая дружественность к пользователю и разобщенность джаббер-клиентов: разные клиенты поддерживали разные расширения протокола. Звонить можно только между определенными клиентами, аплоад файлов должен поддерживаться на сервере (еджабберд из коробки не умеет) и так далее. Ну и «красявости» всякие типа предпросмотра урлов мало где есть, а чтобы обычному неискушенному пользователю закинуть картинку в чат, надо сильно постараться…

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

За десять лет экспериментов с джаббером мне не удалось провести ни одного успешного аудиозвонка ни на одном формально соответствующем стандарту клиенте, про видео вообще молчу. Единственный успешный звонок был с одного Talkonaut на другой Talkonaut на симбиане, но у него своя несовместимая реализация (гугловый libjingle, ЕМНИП), так что не считается.

У меня работают аудио/видео звонки между Pidgin на настольных ПК с линуксом.
Но я не знаю дистрибутива, где Pidgin шёл бы из коробки собранным с поддержкой аудио/видео (--enable-vv) — несколько лет пользуюсь самосборным Pidgin. Возможно сейчас ситуация изменилась

Cisco Jabber отлично звонит. :D

Про джаббер уже ребята отвечали в комментариях, ну и можно погуглить, материалов по этой теме очень много.
Не соглашусь по поводу того, что только с поддержкой крупной корпорации все закрутится. Электронная почта возникла в рамках университета, если не ошибаюсь и дальше развивалась. Я предлагаю сделать продукт совместимый с электронной почтой через шлюз, а кто хочет, тот переходит на новую версию и пользуется всеми остальными плюшками. Тем более можно организовывать в рамках каждого отдельного бизнеса(вместо слака), а потом, когда пользователей будет больше, то и покатится волн перехода.

Есть мнение что электронной почте просто повезло — она зародилась в академической среде и когда интернет был маленьким. Проще было внедрить общее решение, не было конкуренции и вопросов о деньгах.
Мессенджеры в этом плане немного опоздали и уже не успели.
Автор, прочтите «Почему ваш любимый мессенджер должен умереть» и комментарии к статье.
Федеративный протокол, учитывающий современные потребности, уже разрабатывается и готов к использованию — Matrix.

Я пришел к выводу, что раз не получается всех заставить использовать какой-то конкретный мессенджер и протокол по тем или иным причинам, нужно их все объединить. Для этого использую Matterbridge, объединяя чат в Skype, XMPP, Telegram и Slack в одно целое.

Давно читал и перечитывал. Мне очень понравилась та статья.

UFO just landed and posted this here

Авторизация не большая проблема. Посмотрите на e-mail. Нужно сделать тоже самое для авторизации в новой системе сообщений (ну чуть улучшить).

Дискомфортная ситуация — не правда-ли? Но всё можно изменить.

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

Мысли схожие — нужно открытое децентрализованное решение.
Ring у меня по сути не работает, Tox не всегда, но лучше, может он мог бы быть основой.
Протоколов всяких полно, проблема в том чтобы понять насколько они годны — это большой объём работы по анализу.
Вечатовцы правильно понимают что мессенджер и соц сеть это одно и то же, я как-то записывал себе список требований.

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

Ребята из Tox, хотели специфицировать протокол, а потом сделать модель на хаскеле чтобы проверить, как я понял, что в самом протоколе нет дыр.
Но похоже не осилили, я думаю задача без денег не решится, нужно добывать деньги и объявлять конкурс на разработку решения по требованиям, иначе никак — бизнеса на таком месенджере не построить (а значит инвесторов не будет), а мотивации на доведения до конца ни у кого не хватает — как-то у автора работает и ок.
Единственный вариант спонсирования это от каких-нибудь фондов защиты приватности и борьбы с цензурой, но не знаю таких.
UFO just landed and posted this here
Тут даже автор не понимает, что все упрется в содержание инфраструктуры и необходимую бюрократизацию интерконнектов. И, в принципе любой мессенджер глобального уровня, не зависящий от корпораций, превращается в мобильный телефон, который работает на таки же открытых стандартах, только стоимость телефонных звонков и СМС зависит от этих самых OpEx на обслуживание и CapEx на развитие. Но что мы знаем…

Блин, ну электронная почта как-то работает. Платят за сервера либо компании, либо посредники зарабатывая на рекламе. Да вы можете у себя дома свой сервак развернуть. Ну а за интернет вы и так платите.

UFO just landed and posted this here
Блин, ну электронная почта как-то работает. Платят за сервера либо компании, либо посредники зарабатывая на рекламе.
Ни корысти ради, а во праздный интерес.
Назовите прибыльные мессенджеры, которые не являются частью более обширного бизнеса компании.
Для познавательных целей, рекомендую вам обратить внимания на квартальные отчеты Snap Inc.

Электронная почта с точки зрения бизнеса — это академиическое недоразумение — она возникла и распространилось до того, как на интернете стали делать настоящие баблосы. Все что сейчас возникает или некоммерческое или закрытое. Все чатики пускают себе интеграцию через ботов, но не через открытых клиентов.

Именно. Функционал не заточен под бизнес-реалии (что я и предлагаю сделать). А то что сейчас все закрытое — это временное явление.

Для бизнесреалий полно других решений. Скайп фор бизнес, Дискорд, Тимс и прочее. Что характерно, никаких открытых протоколов

Да, характерно. И в этом вся печаль.

Mattermost. Открытый, качественный, многофункциональный.
Кроме него есть Zulip, напоминающий скорее форум, а не мессенджер.
Также люди пользуются Rocket.Chat.
А Tox и Ring то и не знают, что для p2p нужны какие-то финансы
UFO just landed and posted this here
ring.cx/en/about/technical#OpenDHT
DHT медленно ищёт контакт, да, это цена за децентрализованность, но после установки соединения тормозить уже нечему
бутстрап есть, но его участие минимально и его можно уменьшить если запоминать последние адреса все контактов и искать их там при следующем запуске.
С моей точки зрения должно быть как у ринга — демон и клиент, и демона хорошо бы держать всегда запущенным, грубо говоря прямо на роутере
UFO just landed and posted this here
у блондинки демон будет там же где и клиент, тоже рабочий вариант, а гиков с крутыми роутерами должно хватить на выполнение роли бутстрапа
UFO just landed and posted this here

Это не так. Поэтому и нет толку.

UFO just landed and posted this here
Стратежте и проектируйте! Это ваше время. В любом случае что-то выучите.
По моему мнению, вы не видите реальных причин, почему мессенджеры и протоколы типа XMPP и SIP, ограничены ЦА, использованием внутри определенных компаний/корпораций, на определенных маршрутах и т.д, и считаете, что можете написать что-то лучше уже существующих рекомендаций.
Выше уже все описали, но по вашей уверенности кажется, что вы думаете, что сможете заработать на этом.

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

на электронной почте зарабатывают нарушая приватность, такой мессенджер не подойдёт

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

ну p2p вообще серверов не требует, кроме bootstrap нод, хотя возможно для работы из-за nat что-то требуется
Совершенно не обязательно. Есть платные почтовые сервисы, которые зарабатывают на уникальных функциях безопасности. Например, mailbox.org позволяет загрузить открытую часть PGP-ключа на сервер, и сервер будет шифровать все входящие незашифрованные письма при получении.
Вам уже выше написали и я и другие участники.
Вы ничего нового не придумали. Проблема мессенджеров не в протоколе, а — в бизнес стратегии и сложности организации распределенной инфраструктуры. Вы можете внедрить глобальную распределенную инфраструктуру, но:
1. Она будет жестко зарегулирована, чтобы поддерживать все расширения протоколов. Что увеличит операционные затраты.
2. Оборудование и софт должно будет проходить жесткую стандартизацию/сертификацию, чтобы быть уверенным, что оно будет работать в сети нормально. Что увеличивает его стоимость. И нужна еще поддержка надежных вендоров.
3. Либо вам придется сузить кол-во услуг до минимального, как в IP-сетях передачи данных.
4. Либо замыкать все обслуживание сети на одной компании, что равносильно существующей ситуации с мессенджерами.
В итоге вы либо получите, аську без плюшек, какой она была в 2000, либо сеть телефонной связи со всеми ее операционными затратами, исключая саму физическую сеть.
Если вы этого не видите, то мне тяжело представить Вас в архитектором, бизнес-архитектором, стратегом. Мне кажется, что вы, вообще, мало сталкивались как с технической так и с коммерческой сторонами телекоммуникационных систем.
Пока можно объединить разные протоколы в одной программе. В той же Миранде

Кстати, обратите внимание. Я не только про новый протокол говорю. А про некоторое изменение парадигмы общения. Все коммуникации структурируются по людям/организациям, каналам и в них все разбивается на темы.

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

Для обычного общения это избыточно. А для покупок в интернет-магазинах уже полезно. Но больше всего это нужно для общения внутри организаций.

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

Сообщение в электронной почте является самодостаточным. Почтовые клиенты поддерживают сортировку сообщений по важности, теме письма, отправителям, могут их складывать в разные папки. Эту же функцию, по сути, выполняют групповые чаты.
Концепция IM (моментальных сообщений) не подразумевает самодостаточность сообщений, не подразумевает, что их можно вычленять из диалога, куда-то переносить, как-то тегировать.
Каким образом, например, работать с историей, в случае общения на разные темы с одним человеком? Должна ли история быть общей, или должна быть отдельной для каждого чата? Если отдельной, то чем это отличается от групповых чатов с 2 человеками в группе?

Есть сырые наработки. Если будет интерес у аудитории, то в одной из следующих статей постараюсь подготовить.

групповые чаты никуда не деваются, просто можно сделать «групповой» чат один на один с заявленной темой, оно и сейчас можно, но юзабилити надо добавить — открыл контакт, а там выбор — просто поболтать, обсудить новую тему или продолжить одну из старых тем
Текстовое общение — по определению асинхронное.
Было бы здорово иметь возможность придержать словесный понос сообщения пользователя до тех пор, пока он не прекратит «печатать» (знаете такую иконку в аське?) и показать потом всё, что от него накопилось. Ну, допустим, когда он хотябы секунд на 30 уймётся.

Да. Но реализовано через костыли и много мусора образуется в отличии от чат-диалогу. И хотелось бы ещё звонить с одной программы, там где у тебя контакт этого человека.

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

Давайте я напишу отдельно, чтобы не было обидно кому-то конкретному и досталось остальным таким же товарищам. Очень много людей считают что они обладают критическим мышлением, на самом деле это тоже не так просто, как кажется. Заявлять в стиле ученого соседа, как у Чехова "Этого не может быть, потому что этого не может быть никогда" по меньшей мере глупо, иначе не было-бы вообще никакого прогресса, а сидели-бы сейчас в пещере с урчащими животами. Полезно указать собеседнику на ключевые моменты где могут возникнуть сложности, так сказать обозначить направление для мыследеятельности, но без пессимизма. Если мы чего-то не можем или не знаем сейчас, то завтра это изменится (или есть человек который это уже знает!).


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

UFO just landed and posted this here

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


Кому вы хотите это внедрить? Какие конкуренты на рынке и почему предпочтут именно вас (особенно пока у вас будет мало пользователей)?


Анализ предыдущих попыток (того же джаббера) и почему они не взлетели а вы взлетите?


Каким будет MVP? Меня больше напрягает, что в статье такие вопросы даже не ставятся.

Есть идея в статье и в комментариях ниже про плавный переход клиентов с e-mail на почту 2.0
Ну и проблему мессенджеров должны решать Мы, а не кто-то там.
Про MVP в последующих публикациях, если, конечно, будет интерес у людей.

Присоединяясь к коменту выше: и уж совсем не ясно что вы предлагаете делать со всеми теми людьми, которые просто не хотят ничего менять. Например, свекровь не хочет пользоваться Телеграмом потому что у нее уже есть Ватсап, а ремонтник не хочет пользоваться вастсапом и телеграмом потому что у него уже есть Вайбер. И таких людей немало. Каким бы чудесным не был новый мессенджер (или набор оных), он будет новым. И он не будет лучше чем любой другой месенджер пока не захватит весь рынок. Что как-то маловероятно. Тем временем, пока вы будете захватывать рынок, вы сделаете жизнь многих еще печальнее, потому что обязательно найдется человек который пользуется только новым мессенджером, и к и так уже немалому зоопарку придется добавить еще один. И это печально.
Было бы круто, если бы вы придумали супер-мессенджер, который бы аггрегировал сообщениея из прочих мессенджеров — это был бы прорыв.
Pidgin — мультипротокольный мессенджер, поддерживающий множество сетей. Его сетевую библиотеку libpurple можно использовать в качестве XMPP-транспорта, получая доступ во все поддерживаемые сети через любой XMPP-клиент.
Также, транспорты поддерживаются в Matrix.
Последний раз когда я пыталась пользоваться пиджином, он требовал чтобы скайп был открыт, иначе скайп в нем не работал. И я что-то не видела пиджина под андроид (может он и есть, не буду ничего утверждать)
Ну как-то с аськи на скайп перешли, со скайпа в телеграмм и т.п.
Проблема не в переходе, проблема в том, чтобы сделать этот переход последний раз и больше никуда не бегать.
UFO just landed and posted this here
С аськи на скайп перешли, а из скайпа разбежались кто куда и то не все.
Так и не понял, на кой леший было переходить. Я как сидел на QIPe так и сижу.
Все задачи по обмену текстом и переброске файлов он перекрывает.
Вы хотите сказать, что когда вам нужно перекинуть пару файлов новому знакомому, то вы говорите «не вопрос, какой у тебя номер аськи?» и все проходит успешно?

PS ой-ой, я зашла на сайт квипа и оно выглядит как помесь ливИнтернета и мамбы…
Я хочу сказать, что с теми людьми, которые онлайн в одном из используемых мной протоколов (ICQ, mAgent, Jabber) — проблем с передачей файлов не возникает.
А когда мне нужно перекинуть пару файлов — проще всего сделать это через почту.

ливИнтернета и мамбы

Мм… Либо я давно не был на сайте квипа, либо не понял, о чём Вы.
  1. Бесшовная интеграция с электронной почтой.
  2. Омниканальность: VK — кривовато, но работает, Телеграм тоже, хоть и не айс, и т.д. + Телефония, но уже будет денег стоить трафик и т.д.
    Так что проблема решаема.
Miranda, Pidgin и ещё несколько менее известных «комбайнов» — как раз про это. Изначально проблема с ними была в том, что они не поддерживали всех фишек каждого протокола, а только на уровне некоторого базового «общего знаменателя» (и, зачастую, криво). Но во времена асек худо-бедно работало, сам сидел в Миранде и совершенно не парило, что половина контактов сидит в ICQ, вторая половина — в MSN, а третья — в разномастных джабберах и пр. Худшее, что могло случиться — это блондинка Маша присылает сообщение вида "{{#$1234987dfg8734#}}", а ты понятия не имеешь, там графический смайлик с сердечком или с отогнутым средним пальцем, например.

Потом попёрли и начали стремительно завоёвывать популярность мессенджеры, анально огороженные как технически (это бы ещё пол-беды), так и юридически. Попытки запилить опенсорсную библиотеку для Скайпа, насколько я помню, засудили и прикрыли, в результате поддержка текстовых сообщений в комбайнах появилась только недавно, с выходом веб-версии Скайпа, которую можно невозбранно парсить. Поддержки всякой новомодной телеграммо-по2.7боты, работающей через одно место и с пятидесятифакторной авторизацией по телефону, зачастую, нет до сих пор. Даже Googletalk/Hangouts криво работает.
Почему еще никто не догадался связать между собой разрозненные мессенжеры через электронную почту? Типа добавляешь адрес электронной почты пользователя в контакты своего мессенджера. Пишешь этому пользователю, а ему прилетают сообщения, как будто ты пишешь со своего почтового ящика. А в обратку мессенжер проверяет почту, парсит ответы от пользователя и отображет их в окне мессенжера как обычную переписку. Получится не очень быстро, зато универсально.
Получится не очень быстро, зато универсально.

Для большинства случаев текстового общения — скорости хватит.

Я тоже хотел это предложить. Раньше бы не взлетело, т.к. скорости интернета были фиговые, а сейчас попрёт. Люди будут получать такие мэйлы и захотят такой-же софт поставить — чтобы быстрее и удобней чатиться. Переписка на сервере, автоскладирование в отдельную папку прошаренные юзеры сами настроят на сайте в настройках почты. Плюс есть мысль как сделать там поиск людей (емэйлов) по номеру телефона, чтобы как в вайбере найти всех кто есть в тел.книге смартфона

Так ведь все опять упрется в блокировку на стороне мессенжеров.
Компании не хотят отдавать юзеров. Тем более через email шлюз.
Ранее так работали через xmpp и где он сейчас? Его закопали ради огораживания своей кормовой базы.

Пока самым логичным выглядит идея сообщения между любыми типами мессенжеров, по аналогии звонков между разеыми мобильными сетями или смс.
Пока самым логичным выглядит идея сообщения между любыми типами мессенжеров, по аналогии звонков между разеыми мобильными сетями или смс.
Там уровень регулирования очень высокий.
Кроме того сейчас мессенджеры, даже если пользователь использует 4 других от конкурентов, имеют какие-никакие посещения с этого пользователя, а если сделать интерконнект, пользовательская база разделится между компаниями, все будут использовать только тот, что удобен ему.
Sign up to leave a comment.

Articles