[Standards] UPDATED: XEP-0301 (In-Band Real Time Text)

3 views
Skip to first unread message

XMPP Extensions Editor

unread,
Mar 19, 2012, 1:47:06 PM3/19/12
to stan...@xmpp.org
Version 0.2 of XEP-0301 (In-Band Real Time Text) has been released.

Abstract: This is a specification for real-time text transmitted in-band over an XMPP session.

Changelog: Lots of edits. Simplifications, improvements and corrections. Forward and backward compatible with version 0.1. (MDR)

Diff: http://xmpp.org/extensions/diff/api/xep/0301/diff/0.1/vs/0.2

URL: http://xmpp.org/extensions/xep-0301.html

Mark Rejhon

unread,
Mar 19, 2012, 2:17:53 PM3/19/12
to XMPP Standards
ChangeLog Summary:

Versus Previous Spec
- Spec is approximately the same size.
- Remains forward and backward compatible with v0.1
- Protocol is simplified and easier to read (5 fewer sections)
- Implementation Notes is expanded (add some new sections)

Noteworthy Protocol Level Changes
- Eliminate <g> element (use XEP-0224 instead to do same thing). No compatibility impact.
- Eliminate <c> element (use empty <t> instead, does the same thing). No compatibility impact.
- Eliminate <rtt event='start'> (the first <rtt> of any kind can signal start). No compatibility impact.
- Simplify: <rtt event='cancel'> (tells the remote end to stop sending <rtt>). No compatibility impact.
- Simplify: Tier 1 and Tier 2 is merged into a single tier
- Clarify: Redundancy methods is clearly outlined (based on my work with Next Generation 9-1-1 texting)
- Change: "RECOMMENDED" transmission interval is now 0.7s. Range can be 0.3ms to 1s. (0.7s complies with ITU-T Rec. F.700 end-to-end, including network latency). (NOTE: 0.7s is only a very slight increase in bandwidth, still a *lot* less than XEP-0047 in-band bytestreams.)

Other Changes
- Many minor grammar corrections made throughout
- Many improved wording throughout
- Many removals of redundant info throughout
- Error in Example 7.9 fixed, fix error in section 4.5.1.1
- Introduction and Requirements overhauled.
- Requirements also now mention an important "Accessibility" section
- Implementation Notes has been significantly expanded with new information and sections.
- Add "Multi-User Chat", "Simultaneous Logins", "Usage with Chat States", and several other sections
- Eliminated "Processing Rules" because it contained redundant info elsewhere in the spec. I carefully embedded remaining parts elsewhere.
- Sections "Ensuring Accuracy Of Attribute Values" and "Unicode Character Counting"
- I removed all words "cursor" (except within "Optional Remote Cursor" and in examples). This makes the spec less daunting.
- Merged "Battery Life" and "Performance" into "Performance & Efficiency"
- Shortened and improved "Body Element" section
- Permit auto-send of long messages to "Message Length Limit", which is useful for uninterrupted typing if RTT is enabled.
- Additional methods of text presentation optimized for live captioning/transcription/relay services for the deaf. 
- Add "Lower Precision Text-Smoothing Methods", useful for performance/battery/precision constrained situations
- Add "Time Critical And Low Latency Methods", useful for live captioning/transcription services
- Next Generation 9-1-1 is now mentioned in Requirements. It is noteworthy that XEP-0301 is currently being tested in a Next Generation 9-1-1 demonstration program (text mesaging to phone number 911 for emergency), that is one of the programs being shown in front of FCC text-to-911 demonstration during March 28-29, at:

Thanks,
Mark Rejhon

Mark Rejhon

unread,
Mar 20, 2012, 1:32:34 PM3/20/12
to XMPP Standards
On Mon, Mar 19, 2012 at 2:17 PM, Mark Rejhon <mark...@gmail.com> wrote:
Version 0.2 of XEP-0301 (In-Band Real Time Text) has been released.
[snip]
[snip]
ChangeLog Summary:
[snip]
- Add "Multi-User Chat", "Simultaneous Logins", "Usage with Chat States", and several other sections

From testing my RealJabber software (demonstration XEP-0301 client), in terms of Chat States

XEP-0085 (http://xmpp.org/extensions/xep-0085.html) specifies not to transmit <composing/> repeatedly. That said, many chat programs such as Google Talk (GMAIL) and Pidgin, Adium, etc, automatically assume <active/> for any <message/> transmitted without an XEP-0085 chat state.  This is never properly clarified in XEP-0085 behaviour, about how to handle <messages/> not containing a chat state and what assumptions may safely be made.  Therefore, XEP-0301 recommends transmitting a <composing/> with every <message/> that contains a <rtt/> but without <body/> to maintain backwards compatibility with existing chat software.

Short summary: <message/> without <body/> and without any XEP-0085 chat state update, are still automatically assumed as <active/> (wrongly? or not?) by many existing software (i.e. GMAIL, Pidgin) which could be construed as wrong behaviour, but XEP-0085 does not seem to be directly clear about this specific situation.   Since real-time text transmits <message/> without <body/> and with <rtt/>, and <rtt/> is real time text of the typing being composed, this is a wrong assumption to say <message/> without <body/> is to be assumed to be an <active/> state.  A huge number of vendors seem to be doing this assumption, all the way from Pidgin thru GMAIL's Google Talk. 

It would be nice if XEP-0085 document can be updated to clarify in this area?

Thanks,
Mark Rejhon
Reply all
Reply to author
Forward
0 new messages