У меня два вопроса.
1) Каковы практические проблемы использования XMPP, кроме малой популярности?
В дискуссиях об XMPP можно услышать общие доводы как то «множество неинтероперабельных реализаций», «фрагментированная поддержка возможностей», «протокол из частей». Нередко звучат и ложные заявления о якобы преимуществе JSON над XML, которые, что важно, малорелевантны практическому использованию Jabber.
Примером практической проблемы могло бы быть, например, «в популярном сервере jabber silently пропадают сообщения, но остальные серверы еще хуже», «частичная поддержка unicode, например буква ё не поддерживается», «нет ни одного клиента для Windows».
Согласно моим весьма смутным воспоминаниям, когда-то давно была такая проблема: сообщения приходят в подключенный клиент, но последующие подключившиеся клиенты не смогут этих сообщений получить. Где-то говорилось, что вроде как уже решено. Также помню, было затруднительно отправить файл.
Второй вопрос.
2) «Пуш-уведомления», насколько я понимаю, работают через вендора ОС. То есть чтобы отправить пуш-уведомление в андройд аппарат, нужно обратиться к серверам Гугула (или посредников). Получается, что self-hosted jabber серверу придется обращаться к гуглу, чтобы отправить в мобильный клиент пуш-уведомление. В jabber серверах на практике это реализовано? Сколько за это нужно платить?
(Согласно моих представлений, альтернативно, без пуш-уведомнений, сообщение обнаружится когда OS решит немного повыполнять процесс, процесс переподключится к серверу и т.д. То есть обнаружится к вечеру, может быть.)