What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 128 Stack Exchange communities.

This is a request for the SO chat system to have an XMPP interface.

The whole idea of a chat system is to bring people together, and a key way of doing that is to allow people to access the system using more than one method. Right now there's a web interface, but it's limited to being a web interface. XMPP is a standard mechanism for real-time presence and messaging, intended exactly for this purpose.

share|improve this question
    
See also: IRC access for the chat? –  Greg Hewgill Aug 5 '10 at 14:43
    
Somewhat related: meta.stackexchange.com/questions/4919/… –  Flow Dec 16 '12 at 16:43

3 Answers 3

UPDATE 2012-08-27: I wasn't able to keep up with this project and it stagnated... with multiple people interested I migrated the project to GitHub. However, in the 1+ years this project wasn't updated, it no longer works :-( as it stands, sending messages through XMPP works still, but receiving messages does not. (I remember balpha predicted this, too) Anyone who wants to help is welcome to!

UPDATE 2010-11-14: My XMPP Bridge now has write support, albeit very crudely built. In addition, I just got the user list partially working, rich text messages now work almost flawlessly and the code is fairly stable. It was running for almosta whole week, 24 hours a day last week. (I forgot what finally crashed it, probably a message by radp, he's always causing trouble)

Next goals are to make the user list work and improve authentication, because right now it's very kludgey and poorly documented.

How cool is that?


UPDATE 2010-10-29: I now have very, very, very basic XMPP support working, written in Ruby as an XMPP component. The code can be checked out from http://trac.sitepalette.com/soxmpp/browser/trunk and I am documenting the progress in the Trac wiki.

At the moment there is no write support but I have ideas on that. Only two rooms work, "The Tavern" (because I love that room) and the XMPP Room itself. To try it out, you'll need an XMPP server of your own which you can add a component to. After I have the code a bit more stable and functional, I'll fire it up and keep it running on my own XMPP server, and post the address of that server here (and in the chat and on the wiki)

For the most up-to-the-minute info on this project, the XMPP Room is the place to be.

Happy Friday

Happy Friday!


I'm going to take a crack at this over the weekend, using the methods I outlined in the comment to Jeff's answer. I'll update this answer with progress as I go, and I've created an XMPP chat room to test with and discuss issues/progress/etc.

Wish me luck! :-)

share|improve this answer
4  
Cool! Let me know if I can be of any help. –  Greg Hewgill Sep 5 '10 at 8:25
    
@Greg: Done any write support yet? :-D –  The Unhandled Exception Oct 29 '10 at 21:57
    
Is the code still available somewhere? Perhaps on BitBucket or GitHub? –  Ivan Vučica Oct 12 '11 at 12:51
2  
@IvanVučica: Yes -- I fixed the links in the above post. The code is available in subversion and the Trac repo is still up. I haven't maintained the code in a while but do intend to pick it up at some point. In the meantime, feel free to hack away and send any improvements back t me! –  The Unhandled Exception Oct 12 '11 at 13:14
    
The link 404's :-( –  hexafraction Aug 9 '12 at 17:11
1  
@TheUnhandledException Github would be perfect :) –  Flow Aug 14 '12 at 12:56
    
@ObsessiveFOSS Good news: Project is on GitHub. bad news: it no longer works :-( –  The Unhandled Exception Aug 27 '12 at 22:11
    
@Flow: See above –  The Unhandled Exception Aug 27 '12 at 22:11
    
hello! does your messanger work now? where can I find it, please :) –  gaussblurinc Jul 26 '13 at 10:37

Working on an XMPP to google-chat bidirectional pipe.

Still a work in progress, but I just programatically drive a firefox browser that's rendered in xvfb with Selenium. Then screen-scrape it. It's here. Not fully functional yet, but it is a work in progress.

The passing to another protocol thing I'm trying to set up to be pretty modular.

In my case it's so I can have empathy open and have a the python pipe a room to me. My responses are posted back as me.

User lists and what-not will be searchable with commands sent to the parser instead of a separate UI component.

share|improve this answer

How would XMPP handle authentication?

Reading is no problem, but to write, we need to see that you hold a valid cookie on the target site with +20 reputation.

(and we have no idea what your username or password is, since that's handled through your OpenID provider.)

share|improve this answer
14  
Easy; add a field in the user profile for the user's XMPP identifier. Unlike IRC, identity in XMPP is not anarchy, and users can choose an XMPP host such that they can be sure others can't impersonate them. –  Greg Hewgill Jul 17 '10 at 2:20
    
@greg there is already a field in the user profile for their OpenID identifier -- that's what needs to work here. If it can't, this is a non-starter. –  Jeff Atwood Jul 17 '10 at 4:49
62  
You're dismissing this as a non-starter too quickly. If there were an XMPP interface, then everything else would work today just as it already does, including the one-click OpenID authentication. If a user wants to set up XMPP, then they would have to fill in their XMPP identifier in their profile. This is exactly the same as if they want email to work - you can't email to an OpenID, so the user has to enter their email address. –  Greg Hewgill Jul 17 '10 at 5:22
14  
I'm with Greg on this. You already support multiple OpenIDs, and you ask me for my email address even though you don't need it. XMPP IDs are basically the same as emails (in fact, in my case they ARE the same, but nevermind that) and no less valid as an identifier than OpenID... –  Jaykul Aug 6 '10 at 15:39
3  
@Jeff, this could be done in a variety of ways. XMPP supports components which could authenticate the user first, and then allow the user to chat. This could be like a bot -- when you join the chat, the component emails you a link to a web interface where you log in, and that sends a token to the component. I'm thinking of writing something like that this weekend; I've toyed with XMPP components before. –  The Unhandled Exception Sep 1 '10 at 21:46
4  
@Greg: FWIW, even in IRC identity is not anarchy: the protocol allows specifying a password with your chosen nick and it's up to the server how to handle that. The tradition is to allow unauthenticated users and then use NickServ to identify known users, but there's nothing that says you can't refuse unauthed connections and prevent changing nicks. –  Gnome Oct 27 '10 at 3:10
10  
Sorry Jeff, -1 now that I have XMPP write support working. It handles authentication by the user sending the fkey and cookie to the chat –  The Unhandled Exception Nov 14 '10 at 21:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .