About XEP-0301 In-Band Real-Time Text
www.xmpp.org/extensions/xep-0301.html

On Fri, May 18, 2012 at 3:43 AM, Darren Sturman <
darren.stur...@teligent.co.uk> wrote:

> Have you been able to test the formula that you have indicated?
>
> ** **
>
> From a user perspective how do you rate word by word transmission as
> versus character by character.****
>
> Personally I feel character by character has a smoother and cleaner
> transmission appearance for the user whereas word by word appears to be
> unnatural, however a design team member at our customer does not agree.
>

About the formula for XEP-0301 bandwidth:
I've been able to test this formula in a narrow variety of scenarios.  The
rationale of creating a formula is to predict bandwidth, partially because
there has not yet been enough tests in a wide enough variety of situations
yet.  I am working with Gunnar to create a document that I can put on
realjabber.org for vendors (like you) that find this data useful.  I will
email you a draft later today.

About character output vs. word output:
The XEP-0301 standard permits either way, but most of us personally prefer
character output.  There are pros and cons of each approach.  You can also
combine the two (time-smoothed word output) which is a good compromise that
I believe Gunnar also likes.  Theoretically, it's possible to make this a
configurable option (character vs word output) either on the sender end, or
on the recipient end.   It's easier to do on the sender end, but there are
advantages to letting the recipient end do it.

I would suggest that you tell your party about this link:
http://www.realjabber.org/real_time_text_demo.html
And also tell them to read section 6.1.2 and 6.1.4 of XEP-0301:
http://xmpp.org/extensions/xep-0301.html#preserving_key_press_intervals
You can also tell them that there is already ready-made source code that
already takes advantage of key press intervals, too. (for C# and Java
projects, other languages coming over the next while)

Pros and Cons of character vs word output:
There are pros and cons of each approach.  Generally, if it's a relay
service, text-to-voice, voice-to-text, captioned telephone, stenotype
machine, we prefer word output (preferably time-smoothed) since we don't
really care about an operator's typing mistakes.  However, if it is two
deaf people typing directly to each other, most of us prefer keypress
output.
Normally, keypress output can become jerky because of network latencies
(variable pings).  However, XEP-0301 is specially designed preserve key
press intervals (in a way fairly immune to ping variances/jitter/etc).
Because this is possible with XEP-0301, we prefer to be able to see the
"emotion" of typing.  However, not everybody likes watching typing
mistakes, but generally we found that most people we've chatted to prefer
being able to see the typing flow naturally.

Example of "typing emotion":
Look at the calm-versus-panicked typing at the beginning and the end of
http://www.realjabber.org/real_time_text_demo.html and you can tell the
difference between error-free calm typing and panicked hurried typing.  You
can't tell the difference if you don't preserve key press intervals.

Compromise Idea:
If this is a highly polarized or sensitive issue that can stall a project
-- a diplomatic solution -- make it a configurable option (even just
internally), and later let the customer decide or let the end-user choose
in Preferences.  Although it's easier to make this a configurable option on
the sender end, it is preferable to make it a configurable option on the
recipient side where the recipient's screen redraws the real-time-text
buffer only when spacebar is rendered, or when a small amount of time
elapsed with no incoming real time text).  That way, the sender can send
full key presses with intervals, and the recipient software can decide to
display word-at-a-time (refresh incoming text when spacebar received, or
small idle moment) or display keypress-at-a-time (refresh incoming text
during every action element).

Please note, on average, the use of Natural Typing (keypress intervals) can
make some projects significantly more complicated.  However, since
ready-made modules (C# and Java) are available, it makes sense to take
advantage of Natural Typing for XEP-0301

Cheers,
Mark Rejhon
Author of XEP-0301


> **
>
> Kind Regards****
>
> ** **
>
> *Darren Sturman   BSc (Hons) IT & Comp; MSc Soft Dev*
>
> *Senior Software Engineer*****
>
> ** **
>
> Teligent Limited****
>
> Teligent House****
>
> 2 Kings Hill Avenue****
>
> Kings Hill, West Malling****
>
> Kent ME19 4AQ****
>
> England, UK****
>
> ** **
>
> Telephone:         +44 (0) 1732 879 694****
>
> Mobile:                +44 (0) 7968 130 668****
>
> Facsmile:             +44 (0) 1732 879 601****
>
> Email:                    darren.stur...@teligent.co.uk****
>
> Skype:                  darren.sturman.teligent****
>
> Website:              www.teligent.co.uk****
>
> ** **
>
> [image: Description: cid:image001.gif@01CAC4EF.5BFD8690]****
>
> ** **
>
> Disclaimer: ****
>
> The information in this email is confidential. The contents may not be
> disclosed or used by anyone other than the addressee. If you are not the
> intended recipient, please notify the sender immediately at the above
> address. The sender cannot accept any responsibility for the accuracy or
> completeness of this message as it has been transmitted over a public
> network. If you suspect that the message may have been intercepted or
> amended, please contact the sender.****
>
> ** **
>
> Teligent Ltd is registered in England and Wales, registration number
> 2893478, registered office Lion House, Red Lion Street, London WC1R 4GB.
> VAT registration GB639938577****
>
> ** **
>
> *From:* marky...@gmail.com [mailto:marky...@gmail.com] *On Behalf Of *Mark
> Rejhon
> *Sent:* 17 May 2012 18:56
> *To:* Darren Sturman
> *Cc:* standards@xmpp.org
> *Subject:* Re: Average packet size of XEP-0301****
>
> ** **
>
> Some minor edits:****
>
> ** **
>
> On Tue, May 15, 2012 at 4:02 PM, Mark Rejhon <webmail...@marky.com> wrote:
> ****
>
> Regarding XEP-0301 at http://www.xmpp.org/extensions/xep-0301.html****
>
> I have a mathematic formula for the bandwidth of XEP-0301 as follows:****
>
>  ****
>
> The biggest impact on bandwidth of XEP-0301 are as follows:****
>
> (1) Is key press intervals being preserved? (Natural Typing) (uses more
> bandwidth)****
>
> Section 6.1.1 at
> http://xmpp.org/extensions/xep-0301.html#text_presentation****
>
> Animation: http://www.realjabber.org/real_time_text_demo.html****
>
> (2) What transmission interval is being used?   (shorter uses more
> bandwidth)****
>
> Section 4.4 at
> http://xmpp.org/extensions/xep-0301.html#transmission_interval****
>
> (3) Is XEP-0138 stream compression being used?  (uses less bandwidth)****
>
> See  http://xmpp.org/extensions/xep-0138.html
> (4) Are you using an optimized XMPP server that keeps headers compact?
> (i.e. eliminates a lot of XMPP payloads such as noarchive indicators or <x>
> tags).  This overhead is added by Google Talk's servers and adds an
> additional >100 bytes per <message> packet.****
>
> ** **
>
> [now edited for correctness] ****
>
> *Math Formula for Bandwidth of XEP-0301:*****
>
> Here is a math formula for estimating the bandwidth of XEP-0301, for
> regular typing:****
>
> ** **
>
> X = (H + (M + (K * i * N)) * C) * (1 / i)****
>
> ** **
>
> Where:****
>
> X = Average bandwidth, in bytes per second.****
>
> H = Average TCP/IP packet header overhead. ****
>
> .........40 if using regular headers.****
>
> .........10 if using header compression. (Average. This varies. Adjust
> appropriately for your network)****
>
> M = Minimum <message> overhead in bytes, including <rtt> and one XEP-0301
> action element.****
>
> .........120 if highly optimized XMPP is used. (super compact jid's)****
>
> .........200 if reasonably optimized XMPP is used. (public full jid's,
> infrequent extra payload)****
>
> .........400 if Google servers is used.****
>
> K = Number of keypresses per second. (Divide WPM by 12, so use K=5 for 60
> WPM)****
>
> N = Overhead per keypress.****
>
> .........1 if Natural Typing is not used****
>
> .........20 if Natural Typing is used (Average. This varies a bit, i.e.
> editing vs typing)****
>
> i = Transmission interval between packets in seconds. Note: Variable is
> used twice in formula.****
>
> .........Recommended value is between 0.3 to 1.0****
>
> C = Compression factor of XMPP****
>
> .........1 if no compression used****
>
> .........Less than 1 if compression used (XEP-0138 or TLS).  Use a value
> of 0.2 for 5:1 ratio.****
>
> ** **
>
>  Two edits were made:****
>
> 1. N=20 instead of N=10 if Natural Typing is used.  Gunnar pointed this
> out, and I realized I neglected to count the bytes of the <w/> elements in
> addition to the bytes of the other action elements such as <t/>.****
>
> 2. One pair of missing parantheses have been added.****
>
> ** **
>
> Recalculating the bandwidth of XEP-0301 with these minor adjustments,
> result in only a minor change to the calculated answers (a few bytes per
> second).****
>
> ** **
>
> Thanks,
> Mark Rejhon****
>

<<image001.gif>>

Reply via email to