Opened 6 years ago

Last modified 4 years ago

#15674 new enhancement

XEP-0301 Real Time Text

Reported by: edwtie Owned by: deryni
Milestone: 3.0.0 Component: XMPP
Version: 2.10.7 Keywords:
Cc: marsjaninzmarsa


XEP-0301 Real Time Text


Source available:

I want to put this XMPP code into library to support RTT on Google talk and XMPP clients

Change History (7)

comment:1 Changed 6 years ago by edwtie

And added :

It will be draft when they will approved this new standard XEP-0301. It will be soon in July 2013.

comment:2 Changed 4 years ago by mmcco

I'm working on adding this to Pidgin 3.0. It's pretty involved. There's obviously a lot of GUI work needed, and because the data being transmitted is fundamentally different than that of IMs or group chats (it's plain text only and needs index annotations), it's easiest to make it its own conversation type: PurpleRTTConversation.

I'm planning on finishing the scaffolding and XMPP parsing logic tomorrow. When I do, I'll finally make my own mercurial repo and add it there.

comment:3 Changed 4 years ago by edwtie

Okay.. It's now welcome!

comment:4 Changed 4 years ago by mmcco

I didn't get too far. It's going to be pretty involved to add this. Here are some details on my wiki page:

I added a Bountysource issue to see if there's any interest:

It'd be a cool future GSoC project. Doing it properly (e.g. implementing XEP-0301) is a significant undertaking. There are probably going to have to be some major additions to the libpurple API.

comment:5 Changed 4 years ago by mdrejhon

Author of XEP-0301 here.

I'm happy to assist on questions about XEP-0301, and implementation ideas. I also sent an email to mmcco with some ideas on how to more easily implement the spec; and also to get feedback on XEP-0301.

Email me at mark(at)

Last edited 4 years ago by mdrejhon (previous) (diff)

comment:6 Changed 4 years ago by mdrejhon

I've added a $50 bounty on the Bounty tracker.

I would honour this on any minimal starter implementation which can later be expanded on.

One example is a separate "text preview" popup window or textbox. This avoids most GUI changes, and is extremely similar to the "Hybrid IM" tab of the RealJabber? PC app from -- except that the text is displayed in a separate textbox, possibly in a separate dockable window -- and possibly for one-on-one chats at first. Essentially, an implementation that essentially runs almost independently from Pidgin GUI except for the enable/disable feature. XEP-0301 is also usable in this manner. That can eliminate any GUI dependancies for implementations where there's too much difficulty modifying the main GUI code (e.g. hard coding, dependencies, etc).

Any implementation questions -- feel free to ask -- mark(at)

Example: For things like HTML, internal normalization of the text into plaintext can be done (much like for plaintext messages transmitted with HTML messages, for backwards compatibility), but done for internal RTT processing even as user continues to type fancy HTML. The preview textbox on the other end of chat would see the continually-updating version of the plaintext version of the same HTML message.

Last edited 4 years ago by mdrejhon (previous) (diff)

comment:7 Changed 4 years ago by mdrejhon

Stop the presses.

My colleague added $100 to the bounty.

EDIT: Bounty is now $250 at BountySource?!!!!

Last edited 4 years ago by mdrejhon (previous) (diff)
Note: See TracTickets for help on using tickets.
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!