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

Brian Rosen <br@brianrosen.net> Tue, 27 August 2019 21:16 UTC

Return-Path: <br@brianrosen.net>
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 CF2B8120113 for <rum@ietfa.amsl.com>; Tue, 27 Aug 2019 14:16:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.887
X-Spam-Level:
X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=brianrosen-net.20150623.gappssmtp.com
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 Wo5KfD8DcgjG for <rum@ietfa.amsl.com>; Tue, 27 Aug 2019 14:16:03 -0700 (PDT)
Received: from mail-qt1-x82d.google.com (mail-qt1-x82d.google.com [IPv6:2607:f8b0:4864:20::82d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ACAAD12083E for <rum@ietf.org>; Tue, 27 Aug 2019 14:16:02 -0700 (PDT)
Received: by mail-qt1-x82d.google.com with SMTP id k13so502011qtm.12 for <rum@ietf.org>; Tue, 27 Aug 2019 14:16:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brianrosen-net.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=U5lBe4mWrYdoFCZ0p6cC8NPR8GvKzAy3RIBeWDVbTaM=; b=w2johvPHJTpD4Do44eJUTB2e6UAd/MsJsAFpa++rVwGugxh0w7Cem9+gPWKeWJZCoi xFaZEAf7EaPf0KHezCPE45F0CS5Kyw3BO8y+lvEvYZwJCrkYrJ967Dq6Ko20+tw2GsfW vWgBn6QtNkzWyiWpffU57/iM5xzwt+oRak8mS1P9oZGDQZUsAB2A3aZYs9qTEkt2ZoA1 ocqS6WV+QzsrD3AAbFtJOCa5YVyo1zx2AkUSGaczaVfFySv5ABs2LWJ0wqWEnRUs44sD TloWBkAnKaduw/QFfa/t2jMCnoo81cCrjQ2Ive4zNJ+VSl1+2NtXThtzmtQbDCHjaboa 91uQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=U5lBe4mWrYdoFCZ0p6cC8NPR8GvKzAy3RIBeWDVbTaM=; b=R3Pw4QMSRBTJeLCk75SPL+V2Y6sh1+nWdTz1zVbSuJwEZEEwB8mhPWb0tftC+XvkWu T2rrdr1kS8ZcMXIJp0LC3GIc/Ni+2rIYL2t22ZrFybZzq+nC/EHKjek8XePhgLmoSzP2 ymW38Zjpu5rjkYD9IMuKzvDqc73NyTVqdXDKHcsgxcCIcOyE02EsjPdzNxnIf1Vl996H Rav9mUt1heN1fl3ds87pq8t3v12fqwyQMTrSfDVXGy1IKn3T+Ttq4hn/1E1MYGUlcs/w hRPI3xBHfcSwVPQLYQncaQ3e22tLZEz9136jLoREFMT1LTn317J0WH7xgPtkI2s+WtAK xwyw==
X-Gm-Message-State: APjAAAWEpj2JOE1cRzWt9EnHTrnz10ViJ7A9YgFSpmMSSyXyPn0fAUvJ xd+pUUnoNDR5IhvDb19cOKlFioVlQ3E=
X-Google-Smtp-Source: APXvYqw++1r63o7dy/KhvmVLWGiMALeE8NYQ4ynzZiz+E3EM7HRTq+pjCE3D1qmDjvoK8WMwMdzGRw==
X-Received: by 2002:ad4:420c:: with SMTP id k12mr610729qvp.94.1566940561595; Tue, 27 Aug 2019 14:16:01 -0700 (PDT)
Received: from brians-mbp-2369.lan ([24.154.122.195]) by smtp.gmail.com with ESMTPSA id m194sm288997qke.123.2019.08.27.14.16.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 27 Aug 2019 14:16:01 -0700 (PDT)
From: Brian Rosen <br@brianrosen.net>
Message-Id: <59F6B4E5-16DF-42EB-A654-1749BC9487B5@brianrosen.net>
Content-Type: multipart/alternative; boundary="Apple-Mail=_9BF8F82D-8143-4E4B-ABDF-2E0FA7E56B74"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Tue, 27 Aug 2019 17:15:58 -0400
In-Reply-To: <f476c7d1-1d99-17a9-bdb4-716eb5807160@omnitor.se>
Cc: rum@ietf.org
To: Gunnar Hellström <gunnar.hellstrom@omnitor.se>
References: <9a14addd-9a1c-6130-3880-a814be717323@omnitor.se> <D375F138-E997-4436-9A90-A5583CD0820B@brianrosen.net> <f476c7d1-1d99-17a9-bdb4-716eb5807160@omnitor.se>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/rum/uF83bn9GmEkR2FzE4rvH-DiJn1I>
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 21:16:07 -0000

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. 

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.

> On Aug 27, 2019, at 4:43 PM, Gunnar Hellström <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> 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