Re: [Rum] Real-time text in WebRTC is discussed in mmusic - a topic closely telated to rum

Gunnar Hellström <gunnar.hellstrom@omnitor.se> Tue, 27 August 2019 20:43 UTC

Return-Path: <gunnar.hellstrom@omnitor.se>
X-Original-To: rum@ietfa.amsl.com
Delivered-To: rum@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4EDCE120113 for <rum@ietfa.amsl.com>; Tue, 27 Aug 2019 13:43:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vGz3w8Ks3Aiv for <rum@ietfa.amsl.com>; Tue, 27 Aug 2019 13:43:17 -0700 (PDT)
Received: from vsp-unauthed02.binero.net (vsp-unauthed02.binero.net [195.74.38.227]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 21BED1200DE for <rum@ietf.org>; Tue, 27 Aug 2019 13:43:16 -0700 (PDT)
X-Halon-ID: 41a615c5-c90b-11e9-bdc3-005056917a89
Authorized-sender: gunnar.hellstrom@omnitor.se
Received: from [192.168.2.136] (unknown [88.129.173.120]) by bin-vsp-out-01.atm.binero.net (Halon) with ESMTPSA id 41a615c5-c90b-11e9-bdc3-005056917a89; Tue, 27 Aug 2019 22:43:00 +0200 (CEST)
To: Brian Rosen <br@brianrosen.net>
Cc: rum@ietf.org
References: <9a14addd-9a1c-6130-3880-a814be717323@omnitor.se> <D375F138-E997-4436-9A90-A5583CD0820B@brianrosen.net>
From: Gunnar Hellström <gunnar.hellstrom@omnitor.se>
Message-ID: <f476c7d1-1d99-17a9-bdb4-716eb5807160@omnitor.se>
Date: Tue, 27 Aug 2019 22:43:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0
MIME-Version: 1.0
In-Reply-To: <D375F138-E997-4436-9A90-A5583CD0820B@brianrosen.net>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/rum/opt7uhe3jcCAGEXipXCefVN97PE>
Subject: Re: [Rum] Real-time text in WebRTC is discussed in mmusic - a topic closely telated to rum
X-BeenThere: rum@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Relay User Machine <rum.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rum>, <mailto:rum-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rum/>
List-Post: <mailto:rum@ietf.org>
List-Help: <mailto:rum-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rum>, <mailto:rum-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Aug 2019 20:43:21 -0000

Den 2019-08-27 kl. 21:48, skrev Brian Rosen:
> The problem of conference 4103 RTT is high on my list of work I need to get done.  So, I’m motivated to help out.
Thanks, great.
> The basic problem is that we’re going to get very inconsistent UI doing it that way, because of how systems will handle backspace of one party that extends beyond responses from other parties:
(well, for me the currently most basic problem is to have a reliable way 
to append received text to the already presented text of the right 
participant. And that is getting worse in WebRTC than it was in RFC 
4103. But we will sort it out.)
>
> Alice: I waited for you
> Bob: I didn’t see you
> Alice: sorry
>
> And then Alice types 12 backspaces.
>
> What should happen?

You are right that there are a number of ways to handle the RTT UI. And 
just as inconsistencies are common with a message oriented UI, where 
messages show up in a confusing order because two users completed 
messages in an unexpected time order, it is possible that RTT text gets 
displayed in a strange order after erasure and retyping. It is better 
for RTT than for message oriented presentation, and user get used to it 
in both cases.  With the labelled style in one column you have in the 
example, I would recommend that first 5 backspaces erase "sorry", next 
backspace erases the line separator, and pulls down "I waited for you" 
to be shown last, as an uncompleted text. Then the next 6 backspaces 
erase so that only "I waited f" is displayed. When Alice adds text and 
end with a new line, the corrected sentence is allowed to flow up when 
new text is added from any participant.  That causes a bit strange 
order, but it is just as manageable as when text in messaging 
applications appear in an unexpected order so that one message seems to 
be a respone on something totally else than what was intended.

A sophisticated UI may mark text that is moved and modified.

We want to keep sentences or at least phrases from each participant 
together in a readable unit. Already that causes a design decision on 
where to place the completed chunk of text once the user has completed 
it. The start of the chunk may be older than completed text from other 
participants which would motivate to move it up a bit in the 
presentation. But the end of it is at that moment the latest text to 
present. I think it is best to let the finished text be presented last 
on the display, but let others' newer text push everything up and be 
displayed last.


T.140 has information on how to handle erasure:

-------------------From T.140---------------------------

8.2 Erase last character
Purpose: Erase the last character sent from the display at the receiving 
end.
Code: BS: 0008.
Procedure: On the receiving end: Move the insertion point to the last 
character and erase it.
Combined characters are erased as a unit, with one BS erasing the whole 
character even if it is
combined from more than one component.
Control sequences (like CR LF) are erased in one operation.
NOTE – The same action shall be taken on the local display.

------------------------------------------------------------

   /Gunnar

>
> Brian
>
>> On Aug 27, 2019, at 9:52 AM, Gunnar Hellström <gunnar.hellstrom@omnitor.se> wrote:
>>
>> Hi,
>>
>> A topic is currently discussed in mmusic that is closely related to rum. it is WebRTC transport of real-time text.
>>
>> The draft is draft-holmberg-mmusic-t140-usage-data-channel .
>>
>> A good point to start reading could be:
>>
>> https://mailarchive.ietf.org/arch/browse/mmusic/?gbt=1&q=draft-holmberg-mmusic-t140-usage-data-channel
>>
>> Please check if the current state of the discussion suits rum!
>>
>> The only issue that seems to be remaining is how to transport RTT data to and from a conference server that combines all traffic per media in a meeting in one data stream. That is not very elegantly specified for RFC 4103 transport of RTT in RTP either, so we might want to do a rapid action together to solve the multi-party RTT MCU case in a general and consistent way.
>>
>> Regards
>>
>> Gunnar
>>
>> -- 
>> -----------------------------------------
>> Gunnar Hellström
>> Omnitor
>> gunnar.hellstrom@omnitor.se
>> +46 708 204 288
>>
>>
-- 
-----------------------------------------
Gunnar Hellström
Omnitor
gunnar.hellstrom@omnitor.se
+46 708 204 288