Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

Changes between Version 33 and Version 34 of mmcco


Ignore:
Timestamp:
Jun 22, 2015, 9:58:13 PM (9 years ago)
Author:
mmcco
Comment:

add real-time text section

Legend:

Unmodified
Added
Removed
Modified
  • mmcco

    v33 v34  
    2727
    2828== Clean-up ideas ==
    29 * Remove the Crazy Chat plugin (#16667) and Yahoo! Japan (#15906)
     29* ~~Remove the Crazy Chat plugin (#16667)~~
     30* ~~Remove Yahoo! Japan (#15906)~~
    3031* We have 344 `#if 0` blocks in the code base - are all of them still relevant and necessary?
    3132* The IM conversation API (found in `libpurple/conversationtypes.h`) consists of two core functions, two icon related functions, and eleven typing-status-related functions. It seems like the typing status functionality could be condensed a lot, or that "API" could be defined to something more useful/broad.
     
    116117
    117118There are third-party tools that can create what are effectively statically linked binaries using the `LD_PRELOAD` environment variable. These could be useful for creating a testing binary for distribution, but I haven't had the need for that.
     119
     120== Real-time text ==
     121
     122Real-time text (RTT) is a cool feature. It's generally useful, and it's particularly great for deaf people who want to better emulate verbal conversation. For more information on why it's useful, [http://www.realtimetext.org/ RealTimeText.org]
     123
     124I've tried adding it as specified in [https://xmpp.org/extensions/xep-0301.html XEP-0301] twice: first in 2.x.y and then in 3.0. I got as far as a working backend prototype that could send and receive real-time text stanzas.
     125
     126However, RTT is a large and difficult feature to implement robustly. The format of the data, when it is transmitted and received, and how the GUI responds to it are all fundamentally different than IMs or group chats. Libpurple's core infrastructure is divided between IMs and group chats, with an individual "stack" for each. It seems to me that the only way to properly implement RTT is to add a third stack for RTT.
     127
     128On one hand, this stack can be much more minimalist than that of IMs. For example, there is no concept of typing status (a feature which demands a lot of code) or HTML in RTT, and RTT demands far fewer GUI hooks. However, adding a full additional stack demands a lot of boilerplate and code duplication. Additionally, I find the XEP overengineered, which may partially explain why (to my knowledge) no major chat application supports it yet.
     129
     130I still hope that RTT gets added to Pidgin, but it may not make it for the 3.0 release. If you're interested in working on it, let me know and I'll be happy to help.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!