Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've got used to edit about 30% of my messages in Skype. Also I expect my messages to be delivered in the end independently of whether the peer is online now or not (i.e. eventually the message will arrive when we both will be online).

I haven't seen these features in Jabber yet although.

What XMPP clients (or what protocol extensions) should I use to support convenient chatting?

Actually want the chat to be more like wiki (putting links, also editing peer's messages, revision history, some formatting), but just using a wiki software is not that (no normal per-contact history, no normal notifications, no "use is typing...").

share|improve this question

2 Answers 2

Also I expect my messages to be delivered in the end independently of whether the peer is online now or not (i.e. eventually the message will arrive when we both will be online).

XMPP servers/clients usually support sending messages to offline contacts. These XEPs might be relevant (maybe there are more):


I've got used to edit about 30% of my messages in Skype.

I don't know how Skype implemented this, but there is a XEP for editing the last message sent.

XEP-0308: Last Message Correction:

When sending a message, people often introduce typing errors and send a follow-up message to correct them. This specification allows the sending client to flag the second message as correcting the first.

I think OneTeam has implemented this feature (but I'm not sure, never used this client). There may be other clients, too.

/edit: as Zash noted, Swift supports it, too.

share|improve this answer
    
I also edit not the last message also, for example, iteratively appending details to some list... Actually want the chat to be more like wiki (putting links, editing peer's messages/revision history, some formatting), but just using a wiki is not that (no normal per-contact history, no normal notifications, no "use is typing..."). –  Vi. Aug 19 '12 at 2:41
    
I don't see anything that restricts "XEP-0308" to only the last message except of mention of "last message" in title and abstract. /* BTW here on StackExchage I also edit almost everything */ –  Vi. Aug 19 '12 at 2:56
2  
Swift implements message correction. (The author of the XEP is also a developer of Swift) –  Zash Aug 19 '12 at 12:37
1  
@Vi Note that the recipient will have received the uncorrected message anywy. It's up to the remote client to show it edited or not. This is unlike skype, where the user is not in control and the client may choose to hide information. –  Hugo Jul 29 at 23:47
    
It's needed for fixing typos and clarifying things, not for hiding the information. I don't like to leave blatantly imperfect messages around without any effort to fix; and separate correction messages (especially mutliple ones) does not look good. –  Vi. Jul 30 at 0:41

In 2009, I had a rather controversial talk about this on FOSDEM in the XMPP DevRoom.

The main point is: even if your client did support message editing, you can make no guarantees (unless you're building an internal network), that the receiving party will support it.

Here's the trick with skype: Skype had only one, single client from one, single vendor, called Skype, until very recently, when they started to distribute SkypeSDK, which allowed car manufacturers, TV manufacturers etc to build Skype clients. Yet even those clients are built on Skype SDK, and therefore, most of them has to support this editing.

With XMPP, in case you're on the public Jabber infrastructure, you can't be sure what kind of servers or clients do your mates use, and there's only one thing you could be sure of: that they support RFC 3920 and 3921. (Yes, I know these are the old standards: you can't be sure they support the new ones).

It'd be easy to say that most of your contacts will be GTalk contacts using GMail, therefore whatever isn't supported by GTalk in GMail is virtually non-existent in the Jabber world, this includes message editing. Or, you could say, that there are some Pidgin / Telepathy users you talk a lot, but perhaps even file sending is still out-of-bounds for you.

On intranet, the situation differs, you can install a client which supports this feature (Swift was mentioned in the comments for the previous answer), but even then, you can be only sure about the internal communication network.

It turns out, sometimes it's better to build an IM service from scratch than to use XMPP.

share|improve this answer
2  
"you can make no guarantees that the receiving party will support it" -> 1. Messages can be just duplicated in this case, 2. There is section like "discovery if peer supports editing" in the XEP. Even IRC have "VERSION" command to find information about peer's software. –  Vi. Aug 19 '12 at 15:07
1  
"better to build an IM service from scratch" -> Is XMPP that bad? Extensible is in the name. –  Vi. Aug 19 '12 at 15:09
1  
@Vi.: Yes, they can be duplicated, but if you write "Mary, I <del>hate</del>love you", duplication won't help you too much. As long as you don't go large-scale and/or web, XMPP is fine, but GTalk on GMail or FBChat in FB's page doesn't use XMPP for a reason, it's just an interface to the external clients and services. There are some things which most clients support, there are things which some clients support, sometimes in a compatible way; but extensibility is only discovery service + the ability to send arbitrary XML messages to the other side with a namespace. –  Aadaam Aug 19 '12 at 18:41

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.