У 2009 році я говорив про це досить суперечливо на FOSDEM в XMPP DevRoom.
Головний момент: навіть якщо ваш клієнт підтримував редагування повідомлень, ви не можете давати гарантій (якщо ви не будуєте внутрішню мережу), що сторона, що приймає, підтримуватиме його.
Ось трюк з скайп: Skype не був тільки один, єдиний клієнт від одного, одного постачальника, під назвою Skype, до дуже недавнього часу , коли вони почали поширювати SkypeSDK, що дозволило виробникам автомобілів, виробники телевізорів і т.д. , щоб побудувати клієнтів Skype. Але навіть ці клієнти побудовані на Skype SDK, і тому більшість з них має підтримувати це редагування.
За допомогою XMPP, якщо ви перебуваєте на загальнодоступній інфраструктурі Jabber, ви не можете бути впевнені, якими серверами або клієнтами користуються ваші товариші по службі, і ви можете бути впевнені лише в одному, що вони підтримують RFC 3920 і 3921. (Так, я знаю, що це старі стандарти: ви не можете бути впевнені, що вони підтримують нові).
Неважко сказати, що більшість ваших контактів буде контактами GTalk, що використовують GMail, тому те, що не підтримується GTalk у GMail, практично не існує в світі Jabber, це включає редагування повідомлень. Або, ви можете сказати, що є деякі користувачі Pidgin / Telepathy, з якими ви багато розмовляєте, але, можливо, навіть надсилання файлів для вас все ще є поза межами.
У інтранеті ситуація відрізняється, ви можете встановити клієнта, який підтримує цю функцію (Свіфт згадувався в коментарях до попередньої відповіді), але навіть тоді ви можете бути впевнені лише у внутрішній мережі зв'язку.
Виявляється, іноді краще побудувати послугу чату з нуля, ніж використовувати XMPP.