> > >> -- Merge the Backspace/Delete edit code transform? > >> A backspace could be done by using a delete operation with > >> repositioned cursor. (or vice versa). The intent to include both was > >> to make it easy to use the keypress-recording technique of real time > >> text. (If an implementor decides not to use the before-and-after text > >> compare method to generate the edit code transforms) > >> LEANING: Undecided > > > > Here again I think it would be better to recommend one approach, or at > > least not reflect different implementation approaches in the protocol > > itself >
One detail I just now realized: Since it is okay to omit the position attribute when deleting text at the end of a message, when using the Backspace code, but not with the Delete code, I can save about 210 bytes per second (if delay codes are being used) since the use of "p='##' " attribute, assuming 2 digit position, and including the leading space and the quote marks, for the <e/> element commonly adds 7 extra bytes per backspace, and holding the backspace key down can cause the backspace to repeat 30 times a second on many keyboards. 7 times 30 equals 210 bytes per second. So there's somewhat of a little bit of a bandwidth savings, by supporting a backspace-specific code (delete text-to-left) rather than the delete-specific code (delete text-to-right) because backspace code allows omission of the position if deleting text from end of line, which is the most common use case. I am now leaning towards keeping both backspace and delete codes, even though the two codes could easily be merged into one. Alternatively, if I remove one of the two codes, I'd support the backspace code only (for ALL delete operations, including backspace/delete/cutting text) even though the backspace code is ever so marginally more complex than the delete code. (See section 3.8.3 of my old draft -- http://www.realjabber.org/realtimetext.html#sect-id123954 ...) unless simplicity is more important than bandwidth during the most common use case. Mark Rejhon
