<div><div>About the agreed XEP-0308 and XEP-0301 compatibility:</div><div>I would like to amend the list of advantages that I sent earlier, due to the improved retroactive editing protocol that is already agreed between myself, Peter, Kevin, and Lance.  (Except potential disagreement about whether to have a third separate 'disco' which I still think is unnecessary)</div>

<br><div>Advantages of the now-agreed 'id' attribute of <rtt/></div><div><br></div><div>....It would still work in clients that didn't support either XEP-0301 or XEP-0308</div><div>Result: The retroactive edit may appear as a separate message (third message)  </div>

<div>(If software persisted in trying to do this regardless of recommended disco)</div><div><br></div><div>....It would still work in clients that supported XEP-0301 retroactive but didn't support XEP-0308</div><div>
Result: The retroactive edit shows up as a new real time message, and then transmitted as a separate message. </div>
<div>(If software persisted in trying to do this regardless of recommended disco)</div><div><br></div><div>....It would still work in clients that supported XEP-0308 retroactive but didn't support XEP-0301</div><div>
Result: The retroactive edit shows up only when the edit is finished (no real time at all)</div>
<div><br></div><div>....It would still work in clients that supported XEP-0308 retroactive but only supported XEP-0301 non-retroactive</div><div><b>Result: Real-time text at all times, and real-time retroactive editing occurs where the "new message" normally is.</b></div>

<div><br></div><div>....It would still work in clients that supported both XEP-0301 retroactive mode and XEP-0308</div><div>Result: Real-time text at all times, and real-time retroactive editing can occur "in-place". (enhanced user experience)</div>

<br class="Apple-interchange-newline"></div><div><br></div><div>Thanks,</div><div>Mark Rejhon</div><div><br></div><div class="gmail_quote">On Fri, Jul 20, 2012 at 2:34 AM, Mark Rejhon <span dir="ltr"><<a href="mailto:markybox@gmail.com" target="_blank">markybox@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote">On Fri, Jul 20, 2012 at 2:16 AM, Gunnar Hellström <span dir="ltr"><<a href="mailto:gunnar.hellstrom@omnitor.se" target="_blank">gunnar.hellstrom@omnitor.se</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>Your current sentence is: </div>
    <pre>"to have improved presentation of real-time text <span></span>during message correction"

Without the added feature of real-time edit, there is no presentation of real-time text during message correction. There will be a freeze and wait until the edit is done and sent as an XEP-0308 replace. So there is nothing there that can be enhanced or improved. Real-time text presentation during correction is introduced by the feature.
therefore my proposal is still:

"to have presentation of real-time text <span></span>during message correction"
</pre></div></blockquote><div>No -- Not necessarily.</div><div>It's still possible for software to support XEP-0301 and XEP-0308, and still be able to do real-time text during retroactive, without supporting the 'id' attribute.  The behavior is just slightly different.</div>



<div><div>I am re-quoting the behavior written in an earlier message.</div></div><div><br></div><div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><b>Backwards compatible behavior (End User Viewpoint)</b></div>



<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">The retroactive real-time edit will temporarily appear as if it was a brand new message.   Basically, the real-time message will be a *copy* of the old message, while the retroactive edit is taking place.   When the edit is finished, the real-time message disappears and the edit shows up above in the last message.  </div>



<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><br></div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">
<b>Backwards compatible behavior (Developer viewpoint)</b></div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Technical reasoning in 0301+0308 clients that don't do 0301 retroactive:</div>



<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Why this works 100% backwards compatible is due to section 4.2.2 and section 4.3 of XEP-0301.   For retroactive RTT, to remain backwards compatibility, I would always require event='reset' everytime you begin to reference a retroactive edit.  Clients are REQUIRED to follow the event='reset' behavior described in XEP-0301 section 4.2.2 ....  </div>



<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><a href="http://xmpp.org/extensions/xep-0301.html#event" style="color:rgb(17,85,204)" target="_blank">http://xmpp.org/extensions/xep-0301.html#event</a> </div>



<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">The client doesn't know it's a retroactive edit (it ignores the id attribute), so the real-time message temporarily shows up as a new message -- a *copy* of the previous line.   It's as if the user copy and pasted the previous line, and began editing.  When the retroactive edit begins, the end user see a copy of the previous message, because the software thinks it's a new real-time message being started.   (event='reset' is treated as event='new' thanks to the current version 0.3 wording of section 4.2.2)  ... Now, when the retroactive edit is finished, the <body/> gets delivered, which forces the real-time message to be cleared. (Section 4.3 says so)</div>



<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><a href="http://xmpp.org/extensions/xep-0301.html#body_element" style="color:rgb(17,85,204)" target="_blank">http://xmpp.org/extensions/xep-0301.html#body_element</a></div>



<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Thus, the real-time message disappears when the edit is finished, simultaneously with the previous message being replaced by this.  To the user, it looks like the edit suddenly moves upwards to the previous line.  </div>



</div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><br>The "enhanced" user experience would occur, when the software decides to interpret the 'id' attribute.</div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">


The developer has several legitimate choices:</div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">-- don't show RTT during retroactive (your scenario but it is not the only possible one)</div>


<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><span style>-- support RTT for retroactive (without id, or ignore id) and tolerate the 'acceptable' behavior described above, </span></div>


<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><span style>-- support RTT for retroactive (with id) for enhanced UI behaviour.</span></div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">


<span style><br></span></div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><span style>But, observing that I have had to explain this scenario several times, is slowly convincing me to add an example for XEP-0308.  I shall, however, wait, till v0.5 or v0.6, since I want feedback from Kevin/Peter sooner than later, and I want to refocus my work on XEP-0301 for the BEEM-Android demo for the August 20th Access Board stuff (the more LAST CALL is delayed, the less we'll have to show for Access Board).  Also I already added more examples (Which you haven't seen yet).</span></div>


<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><span style><br></span></div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><span style>Thanks</span></div><span class="HOEnZb"><font color="#888888">
<div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif"><span style>Mark Rejhon</span></div>
</font></span></div>
</blockquote></div><br>