[Stox] chat states <-> isComposing

Peter Saint-Andre <stpeter@stpeter.im> Wed, 18 September 2013 15:10 UTC

Return-Path: <stpeter@stpeter.im>
X-Original-To: stox@ietfa.amsl.com
Delivered-To: stox@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2935E11E826B for <stox@ietfa.amsl.com>; Wed, 18 Sep 2013 08:10:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.543
X-Spam-Level:
X-Spam-Status: No, score=-102.543 tagged_above=-999 required=5 tests=[AWL=0.056, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZjTEvLEsfjhE for <stox@ietfa.amsl.com>; Wed, 18 Sep 2013 08:10:48 -0700 (PDT)
Received: from stpeter.im (mailhost.stpeter.im [207.210.219.225]) by ietfa.amsl.com (Postfix) with ESMTP id BEE4911E811E for <stox@ietf.org>; Wed, 18 Sep 2013 08:10:48 -0700 (PDT)
Received: from sjc-vpn6-917.cisco.com (unknown [128.107.239.234]) (Authenticated sender: stpeter) by stpeter.im (Postfix) with ESMTPSA id 9F8EA4163C; Wed, 18 Sep 2013 09:15:37 -0600 (MDT)
Message-ID: <5239C275.9080402@stpeter.im>
Date: Wed, 18 Sep 2013 09:10:45 -0600
From: Peter Saint-Andre <stpeter@stpeter.im>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: "stox@ietf.org" <stox@ietf.org>
X-Enigmail-Version: 1.5.2
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Subject: [Stox] chat states <-> isComposing
X-BeenThere: stox@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP-TO-XMPP Working Group discussion list <stox.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/stox>, <mailto:stox-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/stox>
List-Post: <mailto:stox@ietf.org>
List-Help: <mailto:stox-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/stox>, <mailto:stox-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 18 Sep 2013 15:10:53 -0000

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I've taken a look at the mapping between XMPP chat states (XEP-0085)
and the isComposing event (RFC 3994).

RFC 3994 has two states: idle and active. RFC 3994 has only two states
because it's really just about composing (in messaging, whether or not
the sender is actively typing or otherwise creating text for sending
to the recipient -- simply toggling between the two, changing to
active if the user is composing a message and changing to idle when
not composing a message).

XEP-0085 has five states: active, inactive, gone, composing, and
paused. XEP-0085 has more states than RFC 3994 because it's not just
about composing, but about the sender's involvement with the chat
session. Thus in XEP-0085, "active" means "paying attention to the
conversation", which ironically maps best to RFC 3994 "idle", I think.

It might be best if we don't map XEP-0085 chat states other than
composing and paused to RFC 3994 isComposing events, since RFC 3994 is
just about composing. However, in XEP-0085 it is possible to have
state transitions such as composing to active (not paused).

Thus the safest mapping might be

isComposing => chat states
  idle => active
  active => composing

chat states => isComposing
  active => idle
  inactive => idle
  gone => ???
  composing => active
  paused => idle

This mapping loses some of the granularity on the XMPP side (i.e., the
paused and inactive states), but that might be fine in this context.

I know Saúl has looked at this mapping, so I would appreciate his
feedback (and input from other folks, too).

Peter

- -- 
Peter Saint-Andre
https://stpeter.im/


-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.19 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJSOcJ1AAoJEOoGpJErxa2pQbkP/0stwD2MJn7MkjTB4wHmtJeC
onCVl5tzG/I4F98U5RkNKn03zkdt6Q3p4eF/SOPnK1tf7wxTDvuxAaokZXt1IUlX
0rwx4OdMwJ8hdF20s+lWSdhoR1NXcIK5BLgqva5RF9u+Id5UNQzGls9E1KrGcre5
4MZ41ArZEmxAyrqXYH7bqGcVR9nnF6bhHV0pjQ4mL4uGWQ9DPeJLU3Xe7/FBANFH
W1TWB68GXP2JyQ/gp7Y+dl/e7XZfTwybOpj+B4JqmtIXMPrpde6RlAKGzjfdAdWh
cGlcqDQA33MDFYAQxew6lpLNYUCll2sXia58mjxmX/QrQyUUe5UIL4v/PCHsdcMH
hszH2gZm55qVrSj26pSaUcLLRnzSEuN9nAPLukp5lK1QFHoZOPsLI1CVHE5mNY60
/IWmbSUTOpbPsUkV5CONYYJQk9wGAGZ626DWdJQ4LDYdHT+rQKOqgvYOafApmVzp
vBgrN03mtv27YQz55+T2R/UAuzyavCD6KFhg+vV18JdjuzjsvgWd9gLT1Mz2udFt
5X/zNGV7rmnIAcssYODhmcrsi7+rLGzirtIqwRqM1SHvgep6yO0qIl+97kMZnjSX
WrOUGp3JxnGnjfHgah7SXBJzPJz2Qa29oYf+qzG7qJEgF6ibuwAAgUVWZRQhGfNo
ZFePT1EC0Y7Kb0VzI2gT
=t9Qo
-----END PGP SIGNATURE-----