[Standards] XEP-0184: <received/> vs. <displayed/> vs. <read/>

Konstantin Kozlov yagiza at yandex.ru
Thu Jun 17 13:29:02 UTC 2010

Kevin Smith wrote:
> On Wed, Jun 16, 2010 at 8:10 PM, Konstantin Kozlov <yagiza at yandex.ru> wrote:
>>   Yes. Let's sort out what means "received", "displayed" and "read" to
>> decide which of them are needed and which are not.
> Yes.
> So:
> What's the use case for needing to know when the user's client has
> received the message?
    If sender wants to be sure, that client on the other side received 
and processed the message. So, the sender is sure that once the user on 
the other side will pay attention to its client application, he'll be 
able to read the message.
If delivery of all the previous messages were confirmed by the <received 
/> reply and THIS one was not, the sender may assume, that the message 
was lost somehow and may try to resend it (if he wants).
> What's the use case for needing to know when the user has been shown
> the message?
    I don't know. For me knowing that message was displayed on the other 
side is absolutely useless.
> What's the use case for when the user must have read the message?
> (and noting as above that the last two are probably as close to
> synonymous as you'll get in a reasonable UI).
    No. If we have reasonable UI, the last one is far from synonymous to 
the previous one. The last one means, that UI somehow assumed that user 
read the message, so the message changed its state from "new" to "read" 
one. On the most clients message don't marked as "read" automatically 
when it's displayed.
    For example, in Psi the message becomes "read" when it's displayed 
in the chat window and the chat window is active (has input focus).
    In Bombus the message becomes "read" when appropriate chat is 
current screen and user confirms the message by moving joystick or 
clicking button or tapping the touchscreen. Each movement/click/tap 
marks only one message as read!
    In the application I'm developing right now, the message could be 
displayed either as a pop-up balloon or as a record in the message list 
of a chat screen. So, there are 2 different ways to mark the message as 
"read". By clicking "Ok" button on the screen displaying the balloon 
with a message, or by highlighting it with a cursor in the message list!
    Anyway, reasonable UI marks message as "read", when it has a reason 
to assume that user payed attention to the message.

    For me, knowing, that user on the other side read the message is 
very useful. 'cause if I got <received /> confirmation from the other 
side, but getting no <read /> confirmation from the other side for a 
long time, I'll assume that user didn't noticed notification of my 
message arrival. So, I'll try to attract his attention, for example, 
using XEP-0224 (Attention). <http://xmpp.org/extensions/xep-0224.html>

> Then we can start to work out what needs to be included.
    Ok. Let's start.

More information about the Standards mailing list