LINUX.ORG.RU

Каковы практические проблемы Jabber?

 ,


1

4

У меня два вопроса.

1) Каковы практические проблемы использования XMPP, кроме малой популярности?

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

Примером практической проблемы могло бы быть, например, «в популярном сервере jabber silently пропадают сообщения, но остальные серверы еще хуже», «частичная поддержка unicode, например буква ё не поддерживается», «нет ни одного клиента для Windows».

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


Второй вопрос.

2) «Пуш-уведомления», насколько я понимаю, работают через вендора ОС. То есть чтобы отправить пуш-уведомление в андройд аппарат, нужно обратиться к серверам Гугула (или посредников). Получается, что self-hosted jabber серверу придется обращаться к гуглу, чтобы отправить в мобильный клиент пуш-уведомление. В jabber серверах на практике это реализовано? Сколько за это нужно платить?

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


Ответ писал под первую версию, но пока писал - ее удалили.

-----------

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

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

файл затруднительно было отправить (но в целом это не проблема на самом деле).

Опять же, на сейчас в 99% случаев достаточно HTTP Upload - выгрузка файла на сервер и возврат на него ссылки, которая доступна всем (опционально - с шифрованием контента). p2p-обмен никуда не делся и если тебе надо перегнать 100500 ТБ контента собеседнику, то это все так же доступно.

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

На практике кто в лес, кто по дрова; одних только активных форков Conversations есть штук 5. Даниэль (автор Conversations) активно участвует в развитии XMPP в целом, но, например, не сильно активно внедряет новшества (и принимает дополнения) в своем клиенте - в итоге появились всякие там Blabber / Monocles / прочие форки. Что-то может быть в одном клиенте, а чего-то не быть. Не то, чтобы оно было критично, но все же - в итоге вместо одного нормального фичастого клиента имеем кучку недоделанных.

С десктопными еще грустнее. Пси почти не пилится, он хорош (был) в плане поддержки legacy-фич, но ни MAM, ни звонков там так и не появилось. Активно релизится Gajim, но что там и как даже не могу проверить - на Debian 11 у меня уже не запускается. Звонков там нет. Старый интерфейс нравился больше. Всякие Dino - там минимализм; как-то работает - и ладно.

второй вопрос.

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

YAR ★★★★★
()

В jabber серверах на практике это реализовано? Сколько за это нужно платить?

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

Zhbert ★★★★★
()

В jabber серверах на практике это реализовано? Сколько за это нужно платить?

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

Zhbert ★★★★★
()
Ответ на: комментарий от YAR

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

До тех пор, пока ОС не начинает прибивать висящие в фоне процессы. Как на iOS, например.

Zhbert ★★★★★
()

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

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

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от YAR

С тех пор от такого ушли

Интересно. Если эту проблему решили, то это значительное улучшение на самом деле.

отключить энергосбережение для данной конкретной

Не знал что так можно вообще. Это менее значимая проблема тогда.

jxpnw
() автор топика
  1. Никаких, использую как основной мессенджер много лет. Сервер Prosody, клиентов 12-15 вроде, всё работает, звонки звонятся, сообщения и файлы шлются.

  2. Нет, к гуглу обращаться не придется, есть Unified Push, работает с Conversation, он и пушит.

XMPP
()
Ответ на: комментарий от jxpnw

Не знал что так можно вообще.

Это не такая уж и редкость. Telegram, например, умеет получать уведомления напрямую, без помощи Google/Apple. Оно там даже рекомендуется.

anonymous
()
Ответ на: комментарий от Zhbert

зоопарк ХЕРов и настроек, который существенно увеличивает порог вхождения для людей, от этого далёких

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

hobbit ★★★★★
()

множество неинтероперабельных реализаций

Да, разброд и шатание в поддержке XEP среди клиентов и серверов (как в конфиге так и в принципе в коде) и зачастую ты просто не узнаешь что у собеседника что-то не работает (например отправляешь картинку в чат, у тебя отображается, а у собеседника ничего и никаких ошибок не показывает).

«частичная поддержка unicode, например буква ё не поддерживается»

Что? Впервые слышу.

«нет ни одного клиента для Windows»

Враки: miranda, gajim, pidgin, swift, qip, psi - это то что первое в голову пришло

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

скорее всего от настроек сервера зависит, сейчас завизли XEP с «серверной историей», потому все клиенты и получают. А так вполне логично, кто первый в сети появился тот из буфера сервера сообщения получил.

«Пуш-уведомления»

Никогда с ними не заморачивался, но вроде как у conversations они есть. НО чтобы работали push, помимо клиента их должен сервер поддерживать и именно сервер передает пуши гуглу/эпполу.

Kolins ★★★★★
()
Ответ на: комментарий от Zhbert

Скорее всего, ты помнишь времена, когда джаббер не умел в хранение истории на сервере.

Ну это конец нулевых был, там вся «история» - это сообщения которые данный конкретный Pidgin принял. Для офиса это работало. Но я был как в офисе так и на удаленке и иногда это создавало сложности.

jxpnw
() автор топика
Ответ на: комментарий от Kolins

Что? Впервые слышу.

Это был вымышленный шуточный пример практической проблемы.

jxpnw
() автор топика
Ответ на: комментарий от hobbit

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

Я бы назвал главной проблемой пустой ростер.

anonymous
()
Ответ на: комментарий от anonymous

пустой ростер

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

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

А это следствие необходимости долго заморачиваться.

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

anonymous
()
Ответ на: комментарий от hobbit

У меня, в результате, выработалась связка Gajim/Conversations/converse.js (для всех, у кого, по каким-то причинам не завелось). Сервером Prosody, как нормально настраиваемый средней кривизны руками и работающий на любом тапке.

Вроде-бы, как корпоративный чатик «с бюджетом в ноль рублей», работает нормально. Местами и helpdesk заменяет.

SkyMaverick ★★★★★
()
Ответ на: комментарий от anonymous

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

Сейчас я понимаю, что это возможно поведение ОС моего китайского телефона такое. Я вообще не использовал IM на смартфоне никогда, чисто для звонков и SMS.

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

1) не выполнять поток если он не ассоциирован с формой, отображаемой на экране или не имеет специального статуса «background thread но с foreground статусом». 2) выгружать куски программ (формы), терминировать программы

jxpnw
() автор топика
Ответ на: комментарий от anonymous

без централизации ты никогда не получишь нормально работающее решение

это чушь.

email (SMTP) это точно такая же федерированная схема как Jabber. и он более чем успешен, мягко говоря.

jxpnw
() автор топика

устаревший реликт. Раньше даже IRC был популярен, а сейчас…А так иногда можно с ними поработать ради скуки.

nicholas_ru
()
Ответ на: комментарий от jxpnw

email (SMTP) это точно такая же федерированная схема как Jabber. и он более чем успешен, мягко говоря.

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

Kolins ★★★★★
()
Ответ на: комментарий от jxpnw

email (SMTP) это точно такая же федерированная схема как Jabber. и он более чем успешен, мягко говоря

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

anonymous
()
Ответ на: комментарий от Kolins

Кстати там тоже зоопарк присутствует

И откровенное забивание на стандарты крупными сервисами 😀

anonymous
()
Ответ на: комментарий от anonymous

WhatsApp технические особенности XMPP не помешали стать мессенджером по умолчанию практически во всём мире, потому что это один сервис с одним клиентом, пускай даже далеко не лучшим.

А что же тогда помешало Google Talk, LJ Talk, Yandex.messenger, даже у фейсбука был XMPP шлюз?

Aceler ★★★★★
()
Ответ на: комментарий от anonymous

потому что это один сервис с одним клиентом

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

Kolins ★★★★★
()
Последнее исправление: Kolins (всего исправлений: 1)

server-side history (https://xmpp.org/extensions/xep-0313.html) и chatroom на pub-sub модели (https://xmpp.org/extensions/xep-0369.html) появились слишком поздно. Второй до сих пор не stable. В старых клиентах xep-0313 - нет, т.е. offline доставки сообщений как бы тоже нет.

А ведь это базовые фичи современных IM.

А то, что там картинки не отображаются, это IMHO ерунда. Но почтоклиентах это типовая ситуация, если отключена загрузка внешних картинок и т.п.

MirandaUser2
()
Ответ на: комментарий от Aceler

А что же тогда помешало Google Talk, LJ Talk, Yandex.messenger, даже у фейсбука был XMPP шлюз?

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

anonymous
()
Ответ на: комментарий от hobbit

Передача файлов в конференцию

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

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

Kolins ★★★★★
()
Последнее исправление: Kolins (всего исправлений: 1)
Ответ на: комментарий от MirandaUser2

В старых клиентах xep-0313 - нет

Ну это вы придираетесь уже. Если кто-то решил пользоваться устаревшим, неподдерживаемым старьём, то он сам себе злобный антропоморфный дендромутант.

ugoday ★★★★★
()
Ответ на: комментарий от Aceler

что же тогда помешало Google Talk, LJ Talk, Yandex.messenger

гугловый xmpp был закрыт в пользу то ли google wave то ли google handhouts то ли еще чего. и насколько помню, тогда где-то писали, что у него были какие-то намеренные проблемы взаимодействия с сетью. возможно реальной идеей было, то ли всех заманить а потом изолировать, то ли использовать XMPP the protocol (но не XMPP сеть) просто чтобы не проектировать свой а потом уже заменить на свой.

jxpnw
() автор топика
  1. Каковы практические проблемы использования XMPP, кроме малой популярности?

роскомпозор. блокируют, собачьи дети

router ★★★★★
()
Ответ на: комментарий от Aceler

что касается яндекса, то вспомним ICQ.

что мешало новым российским хозяевам ICQ прийти к ситуации, когда ICQ будет мессенджером №1 в России в 2022, когда:

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

кто это был я уже не помню: mail.ru? qip? бизнесмены ЖЖ? рамблер… нет не рамблер. ну кто-то из этих вот…

ну что-то же им «мешало». вот то же примерно, я догадываюсь, мешало и яндексу.

jxpnw
() автор топика
Ответ на: комментарий от anonymous

без централизации ты никогда не получишь нормально работающее решение

Либо нужен просто более ответственный подход у владельцев серверов и авторов клиентов. Основной принцип - бери что-то свежее, не ошибешься.

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

Для пользователей - https://compliance.conversations.im/old/ - свежих серверов хватает. Наткнуться на что-то старое - это или какой-то вырожденный случай (как, например, jabber.ru), или надо сильно постараться (например, есть серверы с аптаймом по нескольку лет, в том числе на 2-м еже. Тут даже jabber.ru отдыхает).

Клиенты - уже упоминались выше.

Для разработчиков - есть разнообразные наборы правил:

https://xmpp.org/extensions/xep-0134.html
https://xmpp.org/extensions/xep-0201.html
https://xmpp.org/extensions/xep-0479.html

И так далее.

BTW, по расширениям - только что открыл для себя, что на https://xmpp.org/extensions/ справа появилась кнопочка, где можно ткнуть и посмотреть, где конкретный XEP реализован.

YAR ★★★★★
()
Последнее исправление: YAR (всего исправлений: 2)
Ответ на: комментарий от jxpnw

что мешало новым российским хозяевам ICQ прийти к ситуации, когда ICQ будет мессенджером №1 в России

К тому моменту ICQ уже не было «the IM», просто какой-то IM для дедов. А мессенджером №1 уже давно был WhatsApp. Скоро будет MAX, видимо.

anonymous
()
Ответ на: комментарий от MirandaUser2

то, что там картинки не отображаются, это IMHO ерунда

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

jxpnw
() автор топика
Ответ на: комментарий от anonymous

К тому моменту ICQ уже не было «the IM», просто какой-то IM для дедов. А мессенджером №1 уже давно был WhatsApp

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

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

тоже относилось к ICQ. речь идет о хозяевах ICQ. ICQ не жил какой-то своей жизнью.

просто какой-то IM для дедов

это был the IM. для нетехнических пользователей в России с начала нулевых, это была 3/3 интернет-технология которую они знали (почта, браузер, аська). это поколение не умерло же после 2010 всё поголовно.

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

сколько у него хозяев было не знаю. но всем «что-то мешало».

jxpnw
() автор топика
Ответ на: комментарий от jxpnw

что касается яндекса, то вспомним ICQ.

icq - это мыло.сру
Ему просто не повезло, когда начал активно развиваться чокак, icq продался mail.ru, которые не знали «а что с ним делать?» и пропустили «мобильный im хайп» в итоге icq стал догоняющим, потом зомби, потом лопатой его пришлепнули. Кстати свой mail@агент (который с начала 00х так-то существовал) они тоже успешно просрали, хотя потенциал был.

Kolins ★★★★★
()
Ответ на: комментарий от jxpnw

успех вацапа не был каким-то самостоятельным событием неподвластным хозяевам вацапа

Высокие цены на звонки в европпе/сша и между странами. И «отупление» интерфейса (зачем логин, когда можно к телефону привязать). Вот на этом он и взлетел.

Kolins ★★★★★
()
Ответ на: комментарий от anonymous

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

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

я вот что думаю. это такой менеджемент, что если бы им рабочий ICQ продали сильно позднее, например в 2022, или в 2025 сегодня. то им бы всё равно что-то «помешало».

jxpnw
() автор топика
Ответ на: комментарий от Kolins

WhatsApp, по-моему, взлетел задолго до звонков. И популярность его взлетела, насколько я помню, прежде всего в странах третьего мира, а не в Европе и США.

Почему… Х/з. По-моему, просто он требовал минимум телоджвижений, по сравнению со всеми остальными. Просто ставишь, и начинаешь пользоваться. Плюс, первоначально он был очень компактный и нетребовательный к ресурсам.

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

Chiffchaff
()
Ответ на: комментарий от Chiffchaff

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

XMPP
()
Ответ на: комментарий от jxpnw

я не про то, что картинки не нужны, а про то, что обходных вариантов полно: отправить картинку отдельным файлом, сделать документ с картинкой и отправить файлом. Если твой собеседник использует клиент без поддержки отображения inline картинок, например mcabber, то значит такие у него предпочтения, и это не проблема протокола.
Замечу также, что как только начинается какое-то сложное форматирование, уместнее использовать e-mail.

MirandaUser2
()
Ответ на: комментарий от jxpnw

но что-то им «мешало»

AOL тогда уже переживала закат. Тут выше упомянули звонки через интернет и мобильные клиенты. Возможно, диалапщики просто не видели в этом перспектив. Если не ошибаюсь, когда я уже перестал использовать ICQ вообще (Jabber ещё казался будущим, но не оказался им), для него так и не было официального мобильного клиента. А спрос на это был уже как минимум во второй половине двухтысячных.

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

это такой менеджемент, что если бы им рабочий ICQ продали сильно позднее, например в 2022, или в 2025 сегодня

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

anonymous
()
Ответ на: комментарий от YAR

Не совсем в тему но рядом. Я на работе для себя, использую jabber сервер так как не знаю на что его заменить.

У меня gnome и клиент всегда pidgin.

В жаббер у меня валится все, начиная с алертов нагиоса и заканчивая сообщениями астериска.

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)

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

vbr ★★★★★
()
Ответ на: комментарий от ugoday

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

В общем за пределами Linux/Android совершенно непригодно для использования, а в их пределах с кучей оговорок.

MagicMirror ★★★
()
Ответ на: комментарий от MagicMirror

медиафайлы открывать,

Картинки — открывает.

звонят через раз

Это я не знаю. Пользуюсь чисто для текста.

истории через одного отсутствует даже в зародыше

А это просто неправда.

на винде один только гаджим

Прекрасный выбор.

и то запускается через раз

Вы что-то не то делаете.

ugoday ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)