Slashdot Mirror


Real-Time Text Over Jabber/XMPP/Google Talk

mdrejhon writes "Geeks who miss the UNIX 'talk' days, have a new modern savior: XMPP.org has published the new XEP-0301 Real-Time Text standard, which allows streaming text that is continuously transmitted as it is typed or otherwise composed. It allows conversational use of text, where people interactively converse with each other."

23 of 106 comments (clear)

  1. Not for the disorganised by Chris+Down · · Score: 5, Funny

    "http://www.redtube.c-"

    "sorry, wrong vt"

  2. At last by bonch · · Score: 2

    Now I can idle in real-time.

  3. No by Normal+Dan · · Score: 5, Insightful

    I do remember the days of real-time text. I don't want it back. I make too many typos and other such mistakes. I'd rather not let others watch me type.

    --
    A unique way to learn a language: http://languageloom.com
    1. Re:No by adolf · · Score: 2

      As a former WWIV sysop who has since been twirling around on Teh Intarwebs for almost two decades, I miss split-screen chat.

      It's much more conversational.

  4. Oh, cool! by LSD-OBS · · Score: 5, Insightful

    Welcome to 2011, where 1981 is continuously re-invented

    --
    Today's weirdness is tomorrow's reason why. -- Hunter S. Thompson
    1. Re:Oh, cool! by phoebe · · Score: 2

      Wrapped in a large XML turd and not even following XML philosophy at that, randomly introducing one character tags.  How is this protocol really helping anything?

        <t p='#'>text</t>     Insert specified text at position p in message.
        <e p='#' n='#'/>      Deletes n characters of text to the left of position p in message.
        <d p='#' n='#'/>      Deletes n characters of text to the right of position p in message.
        <c p='#'/>            Move cursor to position p in message.
        <w n='#'/>            Execute a pause of n hundredths of a second.
        <g/>                  Executes a flash/beep/buzz.

    2. Re:Oh, cool! by mdrejhon · · Score: 3, Informative

      I know. :-)
      One thing though, that isn't HTML, it's XML over XMPP. We used a binary code at first for XEP-0301, until I realized XMPP encouraged XML. Our task group chose one-letter XML elements, to save some bandwidth. Key press interval elements ended up being the best way to transmit real-time text, at only 1 packet per second (protecting the network), while fully preserving key-press delays, so that typing comes out naturally, thanks to the delay elements:
      http://xmpp.org/extensions/xep-0301.html#key_press_intervals

      See examples 7.1 through 7.9:
      http://www.xmpp.org/extensions/xep-0301.html

      As well as the animation of smooth typing (non-bursting text) even at just 1 packet per second:
      http://www.marky.com/realjabber/real_time_text_demo.html

  5. Re:How about real time comments slashdot? by Abstrackt · · Score: 3, Funny

    That would explain why I see "Working..." at the bottom of my browser all the time!

    --
    They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance. - Terry Pratchett
  6. On talk(1) they can see you type(o) by bill_mcgonigle · · Score: 4, Funny

    I used talk recently when stuck in an odd situation. The guy on the other end and I usually use IM.

    His comment to me, "christ, Bill, you type like shit."

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  7. At last... by coreyh · · Score: 5, Funny

    ...all of my ^H^H^H jokes will be funny again.

    1. Re:At last... by trapnest · · Score: 5, Funny

      ...all of jokes will be funny again.

      All of what?

  8. Re:What's the advantage? by White+Flame · · Score: 4, Informative

    Not just a TCP packet, but a mass of XML!

  9. files by hey · · Score: 2

    Last I tried sending a file via XMPP it still (after what 10 years) failed.
    That would be a nice thing to work out first.

  10. Re:This reminds me... by TypoNAM · · Score: 2

    You're thinking of the Psychic Mode plugin that comes with Pidgin of which is also used by the Bot Sentry plugin to filter out spam messages. I remember the first time I got Bot Sentry working and noticed that it pretty much eliminated the spam problem coming from both ICQ and MSN networks, but the first time I saw "You feel a disturbance in the force" a week later kind of freaked me out as I didn't realize that was Psychic Mode's default behavior.

    --
    This space is not for rent.
  11. Am I doing it right? by GameMaster · · Score: 2

    I'm going to copy-paste all my comments to reproduce the feel of that old-time instant messenger experience.

    --

    Rules of Conduct:
    #1 - The DM is always right.
    #2 - If the DM is wrong, see rule #1
  12. Real-time text can be turned on/off. by mdrejhon · · Score: 2

    Understandable, but real-time text can be turned on/off.
    Some users like, it and some don't. AIM has an enable/disable feature for Real-Time IM.
    It can be an optional feature, like optional audio or video in their IM chats.
    I'm a deafie, and it's beneficial to use from time to time.

  13. It's only 1 packet per second, even at 120 WPM by mdrejhon · · Score: 2

    I actually thought of this.
    XMPP real-time text is the world's first real time text protocol that encodes key press delays:
    http://www.marky.com/realjabber/real_time_text_demo.html

    So even at 10 keypresses per second, even over a satellite connection (or other high-latency bursty connection), it only needs to transmit 1 packet per second, and the typing comes out naturally.

    XEP-0301 (the protocol) is a packetization of typing including typing delays, much like VoIP packetizes short snippets of audio.
    Explained in first section in section 6:
    http://xmpp.org/extensions/xep-0301.html#implementation_notes

  14. Re:Why? by mdrejhon · · Score: 2

    It's a good assistive technology feature for the deaf too. In fact, the Introduction also mentions its use by the deaf, too:
    http://xmpp.org/extensions/xep-0301.html
    "Real-time text is text that is sent as it is created. The recipient can watch the sender type "as written words are typed" – similar to a telephone conversation where one listens to a conversation "as words are spoken". It provides a sense of contact in conversation, eliminates waiting times found in messaging, and is also favored by the deaf who prefer text conversation. For a visual animation of real-time text, see RealJabber.org [1]."

    - It's an optional feature, that can be turned on/off as usage warrants
    - Just like audio can be turned on/off, and video can be turned on/off, real-time text can be turned on/off
    - It utilizes traditional instant messaging UI, too.

    It's also found in AOL Instant Messenger's Real-Time IM
    http://help.aol.com/help/microsites/microsite.do?cmd=displayKC&externalId=223568
    However, we all wanted an open standard, that works on unmodified Jabber/XMPP, and that is how XEP-0301 got developed.

  15. Can be turned on/off. Also deaf-friendly, too. by mdrejhon · · Score: 2

    This feature can be turned on/off.

    It is a feature that is very friendly to the deaf, as the spec even mentions deaf people in the introduction of the specification document.
    http://xmpp.org/extensions/xep-0301.html
    "Real-time text is text that is sent as it is created. The recipient can watch the sender type "as written words are typed" – similar to a telephone conversation where one listens to a conversation "as words are spoken". It provides a sense of contact in conversation, eliminates waiting times found in messaging, and is also favored by the deaf who prefer text conversation. For a visual animation of real-time text, see RealJabber.org [1]."

  16. I'm the author of this standard. I'm also a deafie by mdrejhon · · Score: 5, Informative

    Hello --

    Some general comments that addresses common comments:

    (1) This is an optional feature that can be turned on/off.
    You only use it when you want it, so you don't have to show off your typos to everyone, if you don't want to.
    Just like audio can be turned on/off and video can be turned on/off.

    (2) It is feature that is partially targetted to the deaf, too. The spec introduction even explains benefits for the deaf:
    http://xmpp.org/extensions/xep-0301.html
    "Real-time text is text that is sent as it is created. The recipient can watch the sender type "as written words are typed" – similar to a telephone conversation where one listens to a conversation "as words are spoken". It provides a sense of contact in conversation, eliminates waiting times found in messaging, and is also favored by the deaf who prefer text conversation. For a visual animation of real-time text, see RealJabber.org [1]."

    (3) It's not inefficient in message rate. It is only one packet per second, no matter how fast you type, even 30 keypresses per second (holding a key down). As far as I know, this is the world's first real-time text protocol that preserves key-press delays for chats. This means typing still looks smooth, even at low packet rates (1 packet per second), even if you are typing at 10 or 30 keypresses per second. Even over a satellite connection, or even over a dial-up connection (while an FTP is going on in the background), or over a mobile phone connection that has intermittent reception and variable ping latency.

    (4) There is an animation of the key press intervals (delay coding) at:
    http://www.marky.com/realjabber/real_time_text_demo.html

    (5) Some existing software already have this feature, that you may not notice, because it's off by default. For example, AOL Instant Messenger's "Real-Time IM" feature is a proprietary version of real time text, while XEP-0301 is an open standard that anyone can use for Jabber-based networks.

  17. BlackBerry Ping / MSN Nudge / XMPP XEP-0224 by mdrejhon · · Score: 3, Insightful

    And what on earth would you use a "beep" command for?

    Darn near everybody else has it:

    Yahoo Buzz
    BlackBerry Ping
    Windows Live Nudge
    XMPP.org's XEP-0224 "Attention" (for Jabber / XMPP / Google Talk / etc)

    This is a protocol optimized for assistive use for the deaf, too; and it can be turned on/off. (i.e. real time text is optional) This really, is an unobtrusive add-on that can be off by default (much like AIM's existing real time text feature is off by default)

  18. The XML ended up being elegant, because... by mdrejhon · · Score: 2

    There's an excellent reason for the XML (in)elegance.
    - We first tried a compact binary protocol, base64 encodings, and other alternate encodings.
    - But, XMPP prefers XML-based protocols.
    - We wanted ease of software development, so ease outweighed a lot of factors.
    - Deaf-friendly: Something that can be added to existing traditional chat interfaces in existing chat software (much like AOL's proprietary Real-Time IM, but as an open standard). It can be turned on/off
    - We chose delibrately short XML tags to reduce bandwidth. Yes, that does not follow XML philosophy in naming, but it is a bandwidth compromise.
    - We delibrately avoided using tag names of existing HTML tags, even though this is a different XML namespace. We avoided <b> and <i> anyway.

    First, see the animated GIF of this real-time text protocol, to see some of the reasons why this XML was chosen:
    http://www.marky.com/realjabber/real_time_text_demo.html

    Now read section 7.1 through 7.9 of the XEP-0301 specification:
    http://xmpp.org/extensions/xep-0301.html#action_elements

    As you can watch in the animation,
    <t> is insert text, to support transmission of key presses, text block inserts, and text being pasted.
    <e> is backspace.
    <d> is delete key (forward delete), or cutting / deleting blocks of text
    <c> is cursor positioning (optional)
    <w> allows transmitting of key press intervals, so that one packet can playback 10 keypresses naturally. XEP-0301 is the world's first real time text standard that packetizes the delays between the key presses, so you can transmit only a few packets per second. And yet keep the typing smooth.
    <g> is for backwards compatibility with similiar features like Yahoo Buzz, MSN Nudge, BlackBerry Ping, Jabber XEP-0224 Attention, etc. It is very deaf-friendly and this is optional and can be turned off, but some like this feature.

    More info about these action elements:
    http://xmpp.org/extensions/xep-0301.html#action_elements
    Only the first 3 XML elements are required (insert, backspace, and delete)

    So as you can observe, there is excellent rationale for the "turd" we had to use. It is for instant messaging conversations, not for things like Google Wave, and is rather instead an optional add-on to existing instant messaging that can be turned on/off.
    http://www.marky.com/realjabber/real_time_text_demo.html

    1. Re:The XML ended up being elegant, because... by mdrejhon · · Score: 2

      <w> allows transmitting of key press intervals, so that one packet can playback 10 keypresses naturally. XEP-0301 is the world's first real time text standard that packetizes the delays between the key presses, so you can transmit only a few packets per second. And yet keep the typing smooth.

      I do need to correct that last sentence.
      As shown in the animation, "you can transmit a multiple keypresses in only one packet per second. And yet keep the typing smooth."