EasyCollaborationWithJabber

Revision 11 as of 2006-10-25 14:00:48

Clear message

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

Jabber (also called XMPP) is an open and standardized IM protocol, which provides a feature called MUC (Multi User Chat), where users can create conference rooms on a jabber server to communicate with each other. We should consider to deploy this technology. This specifiation defines application fields of Jabber withhin the Ubuntu community and Pro / Cons for using it. In case of positive conclusion the implementation also goes into this specification.

Rationale

At the moment the most communication in the Ubuntu community takes place in Ubuntu forums, mailings lists and IRC. Those communications forms are limited to plain text messaging. Here possible reasons why we should deploy Jabber:

  • Federation In Jabber all servers are connected to each other. Therefore it doesn't matter on which Jabber server a user registered, he can enter a conference hosted on another server without opening an extra connection to this server.

  • Flexibility With Jingle Jabber is very flexible in the way it communicates. While at the moment it only supports text messaging and VoIP, it is extendable to video conferencing and other communications forms in future.

  • Consistency At the moment there are a crowd of protocols used to handle the different communication forms. ICQ / MSN / AIM and mail for user-to-user communication, SIP and Skype for VoIP and IRC for multi-user chat. In oppostion to that Jabber is desidgned to integrate all those communication forms in one protocol.

  • Security All connections between clients and servers are by default encrypted via TLS / SASLS. To further improve security users can use the built-in PGP encryption.

  • Awareness Promoting jabber as a communication protocol for Ubuntu, we are making Jabber known to people as an altenative to locked IM protocols.

Use cases

  • Bob is a new Ubuntu user. He wonders why 3D-accelleration is not working. He calls up his Jabber account in Gaim, which he is running anyway for chatting with his Google Talk friends. He enters the ubuntu-support conference room to get assistance from other users to get 3D-accelleration working.
  • John experiences a problem in Ubuntu. He doesn't know Jabber, but he's already familiar with Gaim, because he uses it for chatting with his ICQ buddies. He clicks in Ubuntu on 'get Help' and Ubuntu guides him through the Jabber account registration process, then it automatically enters the ubuntu-support conference room.
  • Sandra's Paket Manager crashes. The responsible developers, who have lodged their Jabber ID in Launchpad get a crash report on their Jabber client in real time. (note: This can be easiliy done by the Jabber publish-subscribe specification. See http://www.xmpp.org/extensions/xep-0060.html)

  • Joe administrates a server. He is subscribed to a Pub-Sub Node containing the information from the mailing list ubuntu-security-announce. When a new security update for php5 was released, he gets instantly a message about the new package version, so he can update this package.
  • Another thinkable option is a support base like Qunu. See http://www.qunu.com

  • Lene is a Ubuntu newbie, and is happy to quickly get an instant messenger going. "Just like in Windows"

Scope

Design

Implementation

Unresolved issues

BoF agenda and discussion

By Per Ekström:

Note: This should probably move to a forum thread or something, but I'm posting this here in the meanwhile since no discussion page has been created yet, and I'm too unfamiliar with Wikis to dare create one.

Anyhow, great idea, here are a few suggestions on how to make it better (focusing on the MUC stuff, for now):

* Develop a Jabber Client which focuses on a rich MUC experience

  • While Gaim and Kopete certainly works if you want to enter one or a few rooms, it's not exactly ideal when you have many chats going at once. This is due to current IM Clients are focused on delivering One-to-One (IM) instead of One-to-Many (MUC) chats. While there's nothing wrong with that, some people prefer the MUC way over the IM way, just like some people prefer a lightweight windowing manager like FluxBox instead of Gnome or KDE. I will try and develop something myself, but since I'm a very busy person right now it'll take until atleast this summer before I can do anything useful.

* Using IRC-to-Jabber and Jabber-to-IRC transports to ease migration

  • Most people seem to think this is an either-or-proposition; however, it doesn't have to be this way. Jabber was designed with legacy protocols in mind, so it has gateways to pretty much everything under the sun. Most of these gateways are client-side only; However, for the open protocols it is possible to write a gateway the other way around. See this link for more info: http://esw.w3.org/topic/JabberChickenEgg

Expanding on this idea would be beneficial since we could quite easily move the infrastructure to Jabber while keeping the IRC support intact, thus minimizing confusion - However, it would take a little extra work.

That's my two cents. Feel free to tear 'em to bits. Smile :)


CategorySpec