Чи може XMPP / Jabber підтримувати редагування повідомлень та офлайн-повідомлень, як у Skype?


6

Я звик редагувати близько 30% моїх повідомлень у Skype. Також я очікую, що мої повідомлення будуть доставлені в кінцевому підсумку незалежно від того, одноліткові зараз онлайн чи ні (тобто, зрештою, повідомлення надійде, коли ми обидва будемо в Інтернеті).

Я ще не бачив цих особливостей у Джабер.

Які клієнти XMPP (або які розширення протоколу) потрібно використовувати для підтримки зручного спілкування в чаті?

Насправді хочеться, щоб чат був більше схожий на wiki (розміщення посилань , також редагування повідомлень однолітків, історія редагувань, деяке форматування), але просто використання програмного забезпечення wiki - це не те (немає нормальної історії контактів, немає звичайних сповіщень, немає "використання" набравши ... ").

Відповіді:


7

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

Сервери / клієнти XMPP зазвичай підтримують надсилання повідомлень офлайн-контактам. Ці XEP можуть бути релевантними (можливо їх більше):


Я звик редагувати близько 30% моїх повідомлень у Skype.

Я не знаю, як Skype це реалізував, але є XEP для редагування останнього надісланого повідомлення.

XEP-0308: Виправлення останнього повідомлення :

Надсилаючи повідомлення, люди часто вводять помилки введення тексту та надсилають подальше повідомлення, щоб виправити їх. Ця специфікація дозволяє клієнту, що відправляє, позначити друге повідомлення як те, що виправляє перше.

Я думаю, що OneTeam реалізував цю функцію (але я не впевнений, ніколи не використовував цього клієнта). Можуть бути і інші клієнти.

/ редагувати: як зазначив Заш, Swift також підтримує це.


2
Я також редагую не останнє повідомлення, наприклад, ітеративно додаючи деталі до якогось списку ... Насправді хочу, щоб чат був більше схожий на вікі (розміщення посилань, редагування повідомлень однолітків / історія редагувань, деяке форматування), а просто за допомогою вікі це не те (немає нормальної історії контактів, немає нормальних сповіщень, немає "використання вводиться ...").
Ві.

Я не бачу нічого, що обмежує "XEP-0308" лише останнім повідомленням, крім згадки "останнього повідомлення" в заголовку та рефераті. / * BTW тут, на StackExchage, я також редагую майже все * /
Vi.

2
Swift реалізує корекцію повідомлень. (Автор XEP - також розробник Swift)
Заш

1
@Vi Зверніть увагу, що одержувач все одно отримає некоректоване повідомлення. Віддаленого клієнта залежить відредагувати чи ні. Це на відміну від скайпу, коли користувач не контролює, і клієнт може заховати інформацію.
WhyNotHugo

Він потрібен для фіксації помилок та уточнення речей, а не для приховування інформації. Мені не подобається залишати наочно недосконалі повідомлення без жодних зусиль для виправлення; і окремі повідомлення про виправлення (особливо непостійні) виглядають не добре.
Ві.

2

У 2009 році я говорив про це досить суперечливо на FOSDEM в XMPP DevRoom.

Головний момент: навіть якщо ваш клієнт підтримував редагування повідомлень, ви не можете давати гарантій (якщо ви не будуєте внутрішню мережу), що сторона, що приймає, підтримуватиме його.

Ось трюк з скайп: Skype не був тільки один, єдиний клієнт від одного, одного постачальника, під назвою Skype, до дуже недавнього часу , коли вони почали поширювати SkypeSDK, що дозволило виробникам автомобілів, виробники телевізорів і т.д. , щоб побудувати клієнтів Skype. Але навіть ці клієнти побудовані на Skype SDK, і тому більшість з них має підтримувати це редагування.

За допомогою XMPP, якщо ви перебуваєте на загальнодоступній інфраструктурі Jabber, ви не можете бути впевнені, якими серверами або клієнтами користуються ваші товариші по службі, і ви можете бути впевнені лише в одному, що вони підтримують RFC 3920 і 3921. (Так, я знаю, що це старі стандарти: ви не можете бути впевнені, що вони підтримують нові).

Неважко сказати, що більшість ваших контактів буде контактами GTalk, що використовують GMail, тому те, що не підтримується GTalk у GMail, практично не існує в світі Jabber, це включає редагування повідомлень. Або, ви можете сказати, що є деякі користувачі Pidgin / Telepathy, з якими ви багато розмовляєте, але, можливо, навіть надсилання файлів для вас все ще є поза межами.

У інтранеті ситуація відрізняється, ви можете встановити клієнта, який підтримує цю функцію (Свіфт згадувався в коментарях до попередньої відповіді), але навіть тоді ви можете бути впевнені лише у внутрішній мережі зв'язку.

Виявляється, іноді краще побудувати послугу чату з нуля, ніж використовувати XMPP.


4
"Ви не можете давати гарантій, що приймаюча сторона підтримає її" -> 1. Повідомлення можуть бути просто дублюватись у цьому випадку. 2. У розділі XEP є розділ на кшталт "виявлення, якщо одноранговий підтримує редагування". Навіть IRC має команду "VERSION", щоб знайти інформацію про програмне забезпечення однорангових програм.
Ві.

2
"краще створити сервіс чату з нуля" -> Чи поганий XMPP? Розширювана є в назві.
Ві.

1
@Vi. Так, їх можна дублювати, але якщо ви пишете "Мері, я <ненавижу </del> я тебе люблю", дублювання не допоможе тобі дуже. Поки ви не використовуєте широкомасштабні та / або веб-сторінки, XMPP добре, але GTalk на GMail або FBChat на сторінці FB не використовує XMPP чомусь, це лише інтерфейс із зовнішніми клієнтами та службами. Є деякі речі, які підтримує більшість клієнтів, є речі, які підтримують деякі клієнти, іноді сумісно; але розширюваність - це лише служба виявлення + можливість надсилання довільних XML-повідомлень на іншу сторону із простором імен.
Аадаам
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.