Чисто технически - XMPP - гибкий, настраиваемый, масштабируемый протокол. Платформа для построения систем обмена сообщениями. В теории - всё хорошо.На практике же всё оказалось не так радужно:
1. Идея с расширяемым протоколом и XEP-ами - провалилась. Ситуация, когда даже картинку послать абоненту проблематично (не факт, что его сервер поддерживает этот XEP, не факт, что клиент его поддерживает этот XEP) - это прям печаль. "Кто в лес, кто по дрова". Эту ситуацию можно описать одной фразой: "Этот функционал наверное есть, но это не точно".
2. То же касается истории хранения переписки на сервере, чехорда с приоритетами сессий и отсутствием синхронизаций между ними. Т.е. могла быть ситуация, когда сообщение приходит на мобилку, но на ПК ты его не увидишь.
3. Сложности с работой через мобильные сети - нестабильные каналы связи. Сообщения могли приходить несколько раз. Плюс морока с подтверждением отправки - тоже XEP и потому "оно есть, но это не точно".
4. Комнаты. Разрозненность по серверам. Т.е. есть одна комната на одном сервере, а на другом сервере - пусть и с таким же именем - это совсем другая комната. И если первый сервер ляжет - комната помрёт. Насколько я помню даже в IRC это не так и потому конференции в IRC живы и сейчас, а конференции в XMPP - не прижились.
5. Голосовая связь - про это даже и говорить нет смысла. Может быть у кого-то и работало.
6. Шифрование - так же как и всё остальное - если сильно захотеть, то можно настроить между абонентами, но это надо прям озадачиться.
В чём плюсы матрицы:
1. Единая спека на протокол, формируемая FOSS-организацией - matrix.org (если я не путаю конечно)
2. сервера передают состояние, а не сообщения. Т.е. между клиентами всё синхронизируется.
3. Конференции "размазываются" по серверам, формируя "единое пространство". Т.е. состояние комнаты синхронизируется со всеми серверами, пользователи которых участвуют в этой комнате. И если даже самый первый сервер отключится - конференция продолжит работать. Сообщения формируются в виде цепочки-графа, стекаясь с серверов в единое дерево.
4. На мобилках работает нормально. Были эксперименты у разработчиков по улучшению ситуации, чтобы работа системы была возможна на совсем узких каналах (в эксперименте вроде был канал в 100 бод). В том числе с помощью CBOR.
5. Голосовая - 1:1 работает через COTURN (нормально работает, правда в новом клиенте там есть недочёты по ней, но это уровня баги/правятся). В конференциях - через модуль jitsi.
6. Шифрованием они прям озадачились и сделали, на мой взгляд очень хорошо - в том числе p2p шифрование в конференциях, поддержка нескольких устройств, сверка их через кросс-подпись, проверка отпечатков через QR/смайлы.
7. Ну и движение идёт. Спеки расширяются, реализация пилится, движение есть. Внедрения так же - вон правительство Франции на matrix перешло, немецкие военные тоже вроде перешли уже.