Jabber support in the Mozilla Platform
by Al
As a follow-up to my previous posting about next generation messaging clients (e-mail, IM, etc.), I wanted to mention the work that Anders Conbere has been doing. This does not directly relate to the messaging ideas that I discussed but Anders is obviously working in a related kind of space for python-based web applications. This kind of work is necessary to move to a more open social web.
Anders announced that the first version of his XMPP-PSN is available now. He states:
You can find out more about the basics of the project here, but basically it’s an http layer on top of a common python XMPP library that lets you do most of the roster management available through XMPP by way of a simple restful api.The workflow for using it is simple, just install the app into an existing django project, and that will expose the api. From there you can post your jid and password to the /login/ url which returns a uuid and a roster in JSON format for your web app to digest. (note: this is horrible security practice, don’t do this in the wild) Now that you have a uuid you have access to the rest of the api, which links to a thread on the sever that keep track of your jabber session.
As people may or may not recall, XMPP is the Extensible Messaging and Presence Protocol and is largely used by IM clients using Jabber. It is an open standard and is not under the control of Yahoo, Microsoft, or any of the big corporate players.
There are a number of different add-ons that allow Firefox to communicate using Jabber, such as:
These last two are part of non-open source services run by companies but the fact that people are doing so may be indicative that something is out there. Unfortunately, running a bunch of separate clients for many different services is not something that I am interested in doing. That’s why I run Adium on my Mac and encourage people to run it or Pidgin in order to help manage the chaos.
At least one person has also seen that XMPP has some potential to act as the glue to add messaging to Thunderbird as well. (Peter is the Executive Director of the XMPP Foundation.) I’m not sure if adding messaging to Thunderbird (or Firefox) as applications is really the right direction to solve problems but it couldn’t hurt to have the capabilities there.
As I mentioned before, I think that we need to have a new messaging center application that combines contact lists/friend lists, messaging as both IM and e-mail, and add new areas such as direct file sharing and point to point (or peer to peer, if you prefer) e-mail as well. I think that XMPP support built into the Mozilla platform at a core level would be a step in the right direction towards this overall goal in messaging. It would help make it a first class citizen amongst protocols and encourage other Mozilla applications (not just Firefox or Thunderbird) to support it.
Again, I’m interested in the thoughts that people have on this topic though I probably don’t need to be told again that “no one uses e-mail except for work” as I don’t actually think that is true. There is definitely a huge divide in how people message but I think that underscores the reasons to have a central application that handles all of these uses all the more.

Comments
(I’ve tried to no avail but can not really figure out what I want to say about this)
Basically I want to put out that we shouldn’t necessarily be lured by desktop software to think that these sorts of things can be handled well there.
Clearly messaging and email have done well on the desktop, but the way in which users interact with their buddy lists / friends lists /etc. seems to be much better suited for the web. The availability of customization, sharing vast amounts of data, and the simple navigation all seem to be huge winning points for web based management of trust relationships.
This isn’t to say that I wouldn’t like to see jabber enabled devices all over the place, because I would; and I think we’re just starting to see applications of jabber that are showing the true power of what it has on the plate already and it’s extensibility. But I think that the right way to approach this from the desktop application point of view is an application that interoperates with jabber, but makes it’s domain specific function fluid with the way users are creating dialog and interaction on the web.
That is… I don’t think we should be looking at Thunderbird as the new way to manage your buddy list, but I would LOVE to be able to email people on my jabber roster, and have that message come to them to be digested in whatever way the desire.
bleh.. rambling
~ Anders
I will note that peoples’ comments will look as they do when writing them so if you want a new paragraph, hit enter twice. :-)
In response, my issue with using websites for this sort of thing is that if I don’t run the website, then I’m at the mercy of someone else to provide me a service.
I don’t want Thunderbird to manage my Buddy List. I’ve been calling for a new application, overall. Leaving that wish aside, XMPP support as part of Mozilla applications would be a good thing.
Hello,
Regarding OneTeam, everything is possible. We have also a standalone version that you can install on a computer, but we are waiting for more interest around this client from users and the Mozilla Foundation to decide how we will distribute it. Ask them that you want OneTeam to become a Mozilla project and it can help ;)
Regarding using OneTeam.im as a service, I think it is seen by many user as a good trend. They can use it from every place, the history is stored online.
You prefer clients installed on your computer, but this is probably simply a preference matter. You are probably using Google as your search engine. However it is a service and you can install it locally ;)
Al, I absolutely agree, which is what I love about jabber being the glue that bind social networking applications together. The idea that I’m no longer at the mercy of a social networking service to provide me with the tools that I want. I could hypothetically build a desktop client that tied into jabber in the same way as my little web service does and could do social networking on the desktop, the only requirement is that I be able to access a jabber server.
As for this “new application” where do you see it going, doing, and what kind of space would it be filling. I’m intrigued to hear your ideas on it (as my mind is kind of playing in this world at the moment).
The New App idea was what I posted about initially here on the blog.
The idea is something that handles messaging and contacts, regardless of whether it is IM, E-mail, News, Webmail, etc. If I’m exchanging long or short form messages with people, I should be able to coordinate my list of contacts and exchange messages with them. I should possibly be able to exchange other things as well. I don’t want to open three apps and five websites on four networks in order to keep track of my friends. I have a contact list for each IM network and I also have one for e-mail so…
I think that XEP – 0154 might go a long way towards opening up a kind of unified front for XMPP to attack this problem. It provides for storing a user profile on the jabber servers.
That kind of addition to xmpp would make creating a desktop social networking / messaging service almost trivial. At which point the only service you’re missing from the bunch of email (though this is non trivial)
I completely agree with your idea Al.
“Sleeping” Messaging software doesn’t have, IMO, any future without working near from IM, and reciprocally.
This is purely a matter of economy.
You can observe this from the success known by the big corporate products (Hotmail, Gmail…).
XMPP is indeed a perfect protocol to fulfill this “glue” objective.
Now, using a web application rather than a desktop client is another question, but that can still be opened regarding Mozilla technologies point of vue.
I also see Mozilla and XMPP combination as a huge potential for MM (Merged Messaging).