On 2012-08-19 21:21, Gunnar Hellström wrote:
On 2012-08-19 19:11, Mark Rejhon wrote:

My proposal has now become:

event='new'
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.

event='reinitialize'
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 elements.

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 small changes.

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 procedure description.

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 elements.

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 alternative 2.

Section 4.6.3 can be  amended to describe that alternative:


     4.6.3Refresh

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.

---

This leaves time smoothing clients displaying additions sent in refresh to be displayed jerky. So wording or procedure need still to be tuned.

Or move to alternative 1.

/Gunnar


Reply via email to