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

Paul Kyzivat <pkyzivat@alum.mit.edu> Thu, 29 August 2019 16:05 UTC

Return-Path: <pkyzivat@alum.mit.edu>
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 95555120989 for <rum@ietfa.amsl.com>; Thu, 29 Aug 2019 09:05:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-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 z7dw-L4hZKbc for <rum@ietfa.amsl.com>; Thu, 29 Aug 2019 09:05:12 -0700 (PDT)
Received: from outgoing-alum.mit.edu (outgoing-alum.mit.edu [18.7.68.33]) (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 A705012097C for <rum@ietf.org>; Thu, 29 Aug 2019 09:05:12 -0700 (PDT)
Received: from Kokiri.localdomain (c-24-62-227-142.hsd1.ma.comcast.net [24.62.227.142]) (authenticated bits=0) (User authenticated as pkyzivat@ALUM.MIT.EDU) by outgoing-alum.mit.edu (8.14.7/8.12.4) with ESMTP id x7TG5A6l027249 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for <rum@ietf.org>; Thu, 29 Aug 2019 12:05:11 -0400
To: rum@ietf.org
References: <9a14addd-9a1c-6130-3880-a814be717323@omnitor.se> <D375F138-E997-4436-9A90-A5583CD0820B@brianrosen.net> <f476c7d1-1d99-17a9-bdb4-716eb5807160@omnitor.se> <59F6B4E5-16DF-42EB-A654-1749BC9487B5@brianrosen.net> <b4a1f825-cc00-66cf-44b7-d7aa2bcf2a49@omnitor.se>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
Message-ID: <48c0bc62-0f75-4f83-6d9c-f763982dd000@alum.mit.edu>
Date: Thu, 29 Aug 2019 12:05:10 -0400
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.8.0
MIME-Version: 1.0
In-Reply-To: <b4a1f825-cc00-66cf-44b7-d7aa2bcf2a49@omnitor.se>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/rum/YG02TyKon1tRtctZ1Bwe0BnI7Cw>
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: Thu, 29 Aug 2019 16:05:19 -0000

I question how well RTT text is suited to multiparty conferences.

If you have messages on your screen from multiple parties, and many of 
them are updating in real-time, are you going to be able to perceive 
what is going on?

And while you can have a column per person for two-party and maybe 
3-party conversations, that doesn't scale up. With many parties, some 
typing may scroll off the screen before it is complete.

Perhaps for conferences it is better to just use line-at-a-time chat. If 
necessary, I presume there could be gateways between RTT and chat. A RUE 
could have the capability to negotiate down from RTT to chat.

	Thanks,
	Paul

On 8/28/19 2:15 AM, Gunnar Hellström wrote:
> Den 2019-08-27 kl. 23:15, skrev Brian Rosen:
>> At least by centralizing the problem at a “mixer”, Alice and Bob will 
>> see the same thing.
>>
>> You don’t have the problem in Instant Messaging, because you can’t 
>> backspace or delete a sent message.  Of course if multiple people are 
>> typing simultaneously in such systems, message order will be confusing 
>> in that instant.
> Right, it is a similar kind of problem that text appears in an 
> unexpected order. There is also at least one instant messaging service 
> that allows modification in already sent message. But I think it has 
> limitations to only accept that in the last message sent. it is 
> convenient anyway.
>>
>> Anyway, we need to specify the mixer for RTT so it receives each of 
>> the RTT streams and produces a single composite stream for each 
>> participant.
> 
> Yes, right, and there is an effort in that direction in:
> 
> http://www.realtimetext.org/sites/default/files/Files_and_Documents/Specifications/multiparty-real-time-text-mixer-2011-04-30.pdf
> 
> It is written for conference-unaware user devices.
> 
> The goals are specified as follows:
> 
> The procedures are intended to make best efforts to present a 
> multi-party text conversation on a terminal that has no awareness of 
> multi-party calls. There are some obvious drawbacks, and a terminal 
> designed with multi-party awareness will be able to present multi-party 
> call contents in a more flexible way. Only two parties at a time will be 
> allowed to display added text in real-time, while the other parties’ 
> produced text will need to be stored in the multi-party server for a 
> moment awaiting a suitable occasion to be displayed. There are also some 
> cases of erasure that will not be performed on the target text but only 
> indicated in another way. Even with these drawbacks, the procedure 
> provides an opportunity to display text from more than two parties in a 
> smooth and readable way.
> 
> ---------------------------------------------------------------------------------------------------
> 
> I see such mixer procedures as a fall-back for cases without conference 
> awareness, but want to see support for conference-aware terminals, where 
> text from more than two parties can be presented in real-time, and the 
> end user or app can have influence over the presentation style - e.g. 
> select between the multiple column view and the one-column-with-labels 
> view.  A mixer for that case would only need to assure that the receiver 
> has the right kind of multi-party awareness and send RTT text with 
> source information attached, and let the receiving terminal sort out the 
> presentation. This is already possible with CSRC and CNAME when using 
> RTP, but we lose that possibility natively when using the WebRTC data 
> channel to transport RTT, and would need to specify a way to include the 
> source also for that case.
> 
> ------------------------------------------------------
> 
> By the way, what is your current view of how to transport RTT for RUM, 
> now when you say that you will use WebRTC transports for media?
> 
> Regards
> 
> Gunnar
> 
>>
>>> On Aug 27, 2019, at 4:43 PM, Gunnar Hellström 
>>> <gunnar.hellstrom@omnitor.se <mailto:gunnar.hellstrom@omnitor.se>> wrote:
>>>
>>> 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 <mailto: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 <mailto:gunnar.hellstrom@omnitor.se>
>>> +46 708 204 288
>>
>>
> -- 
> -----------------------------------------
> Gunnar Hellström
> Omnitor
> gunnar.hellstrom@omnitor.se
> +46 708 204 288
> 
>