[Standards] review of XEP-0301 [ event='reset']
gunnar.hellstrom at omnitor.se
Mon Aug 20 07:32:04 UTC 2012
On 2012-08-19 21:21, Gunnar Hellström wrote:
> On 2012-08-19 19:11, Mark Rejhon wrote:
>>> My proposal has now become:
>>> Senders MUST use this value when transmitting the first <rtt/> element
>>> containing Action Elements (i.e. when sending the first character(s)
>>> of a new message). Recipient clients MUST initialize a new real-time
>>> message for display, and then process action elements within the
>>> <rtt/> element. If a real-time message already exists, from the same
>>> sender in the same chat session, its content MUST be replaced (i.e.
>>> cleared prior to processing action elements). Senders MAY send
>>> subsequent <rtt/> elements that do not contain an event attribute.
>>> For recipients, both 'new' and 'reinitialize' are logically identical,
>>> and can process exactly the same [[[Action Elements]]], in any number, in
>>> any order. They differ only for implementation purposes (e.g.
>>> highlighting newly-started messages). Recipient clients MUST
>>> initialize a new real-time message for display, and then process
>>> action elements within the <rtt/> element. If a real-time message
>>> already exists, from the same sender in the same chat session, its
>>> content MUST be replaced (i.e. cleared prior to processing action
>>> elements). Senders MAY send subsequent <rtt/> elements that do not
>>> contain an event attribute. Recipients MUST be able to process 'reset'
>>> without first receiving 'new'. In addition, a common purpose of
>>> 'reinitialize' is retransmissions, including Message Reset, used for
>>> Keeping Real-Time Text Synchronized and Basic Real-Time Text.
> These definitions were fine before and still look good.
> I think the remaining problem is the talk about retransmission, when
> in reality it is retransmission and new transmission together.
> I withdraw my proposal to see the reset as just the part of the
> message that really is a retransmission. That view does not match your
> description of use of reset for the "Basic real-time text".
> So, instead we can accept your definition that results in that the
> message reset contains both the retransmitted and new text and other
> Instead we need to adjust the words around retransmission. The first
> sentence in
> 4.6.3http://xmpp.org/extensions/xep-0301.html#message_reset needs to
> be modified.
> It is now: " A message reset is a retransmission of the sender's
> partially composed text."
> How about: "A message reset is a transmission of the sender's
> partially composed text from the beginning of the real-time message."
Mark, you are on the right track when trying to change nomenclature.
The 'reset' event and the 'Message Reset' operation are two quite
different things and need to be clearly differentiated and described
with different names.
I think the name 'reset' is fine for the event. It is a command for
emptying the real-time message display buffer before acting on the
action elements in the same and subsequent <rtt/> elements. The current
description in 4.2.2 look fairly ok, even if I want to suggest a few
But "4.6.3 Message Reset" is confusing by having nearly the same name as
the event 'reset'.
And it needs a slightly changed description.
I suggest to change the name to "Refresh" and introduce a bit of needed
You want the Refresh operation to contain both a retransmission of the
real-time message and any action elements caused since latest
transmission. Some rules need to be applied on these two parts. The
retransmit part need to be played out rapidly, while the latest
additions need to be played with normal smoothing or obeying <w/> wait
That can be achieved in two ways.
1. Separate the retransmission part from the latest additions in
separate message stanzas and add a rule on 'reset' event that no
smoothing and no wait elements shall be acted on during playout. (
wording may still need to be tuned to allow the "Basic Real-time text"
in a simple way)
2. Add the requirement on composing the retransmission part that it may
not contain any wait elements and require that other types of smoothing
shall not be done during playout of a 'reset' event. ( this will make
time-smoothed display of combined retransmissions and latest additions
be jerky, I do not now see how we can indicate the border between
retransmission and latest additions sent in the same <rtt/> element.)
Mark, it is apparent that you have so far been thinking in terms of
Section 4.6.3 can be amended to describe that alternative:
A message reset is a transmission of the sender's text from the
beginning of the real-time message. The recipient can redisplay the
real-time message as a result. It allows real-time text conversation to
resume quickly, without waiting for senders to start a new message.
When the sender composes the part of the refresh that has been
transmitted before, <w/> elements shall not be included.When the
recipient acts on a refresh, no other waiting shall be applied than what
<w/> elements indicate.
Then continue as before but change all "Message Reset" to "Refresh".
This leaves time smoothing clients displaying additions sent in refresh
to be displayed jerky. So wording need still to be tuned.
Or move to alternative 1.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Standards