Full-Time Jabber

Friday, May 19, 2006 by darco
Posted in , ,

A few months ago I made a post telling the world that as of my birthday of this year I would no longer be using AOL Instant Messenger, MSN Messenger, Yahoo Messenger, or ICQ---and use federated IM services (Specifically those using the Jabber protocol) exclusively. Well, guess what: Today's my birthday.

For those of you who are still confused as to what exactly Jabber is, read on and I'll break it down for you one more time.

What's the problem?

I know a lot of friends who have Hotmail accounts. I also know a lot of friends who have GMail accounts. I personally don't use either, I have my own email server at deepdarc.com. Do I need to have an account on Hotmail in order to email my friends who use Hotmail, or a GMail account to email my friends who use GMail? Of course not---that would be absurd. Yet, that is exactly the situation we tolerate with respect to instant messaging.

I have friends who use only AIM, I have friends who use only MSN, and I have friends who use only Yahoo. In order to be able to keep in contact with all of them, I have to have accounts on each one. AIM users can't talk to MSN users. Yahoo users can't talk to ICQ users.

Why is this the case? Is there some sort of technological barrier? IMHO, the only excuse for this situation is corporate greed. But it doesn't have to be this way. This is where Jabber comes in. Instead of having the majority of the world's IM capability in the hands of three large American corporations, Jabber allows anyone with a domain name to set up their own Jabber server.

Jabber is different from the "legacy" IM systems in that if I have an account on Google Talk, and my friend has an account on Gizmo Project, we can still communicate. In fact, communicating with someone who has an account on another server is just as easy as communicating with someone on your own server.

Why am I not using legacy services anymore?

Quite simply, to encourage something called the network effect. Wikipedia sums it up quite well:

The network effect is a characteristic that causes a good or service to have a value to a potential customer dependent on the number of customers already owning that good or using that service.

In other words, in order for Jabber as an open communications platform to be successful and useful, people must use it. Often in my evangelical fits, I'll hear the excuse, "I don't know anyone who uses Jabber who doesn't already use a service that I am already on". Well, now they do—me.

I don't expect other people to do the same thing that I am doing. Feel free to continue using the legacy services like AIM, MSN, etc... I'm only asking that you have a jabber account, and that you use that account as much as you would use those other legacy services. If you have and use a GMail account, then you are practically doing this already!

But just what exactly is Jabber?!

When you hear someone (probably me) talking about Jabber, they are usually referring to one of the following:

  • The XMPP (Jabber) Protocol
  • The Public Federated Jabber Network (PFJN)
  • The Jabber Platform (which includes the previous items, as well as jabber chat clients, devices, transports, etc.)

Jabber is, strictly speaking, the informal name of an open-standard decentralized instant messaging protocol officially called XMPP.

NOTE: It is also the name of a company called Jabber Inc., which sells Jabber-based products. However, the Jabber platform is much larger than this single company. Don't let this confuse you! If you want to go to the authoritative website about jabber, that would be jabber.org, not jabber.com!

The network of independent Jabber servers on the internet make up the Public Federated Jabber Network. If you have an account on a server on the PFJN, then you can communicate with anyone else who has an account on a PFJN server. This means that Google Talk users can communicate seamlessly with Gizmo-Project users (and vice-versa), as both of these services are on the Public Federated Jabber Network.

About Spam/Spim/Spoofing

With respect to network topography, Jabber is similar to eMail. Messages are sent from the client to the server, which then sends that message to the destination user's server, which then sends the message to the other user's computer. However, there is one very important distinction to make between the way email works and the way Jabber works: A Jabber server requires some sort of authentication from servers trying to connect to it, whereas an email server does not.

This is a critical flaw in today's email infrastructure, and is directly responsible for the deluge of spam that we all receive on a daily basis. Email servers take no steps to ensure that the messages they are receiving were actually sent by who they say they are.

Authentication is all about knowing that who you are talking who is who they say they are, and it is a required part of the XMPP protocol.

There are two ways that servers can authenticate themselves to other servers: Server Dial-Back, and Certificates. There is plenty of documentation as to how each of these work, so I'll avoid duplicating that information here. The important part to remember is that with Jabber you can be quite sure when you receive a message that it is from who it says it is from.

Jabber IDs

Jabber IDs look a lot like email addresses, and this is intentional. You have a username and a server, separated by a "@" symbol. They are often called JIDs for short. My JID is darco@deepdarc.com.

Use Jabber!

When I say that you should "Use Jabber", I mean that you should have an account on a server which is on the PFJN (Or, more simply, a "Jabber server"). There are many services on the PFJN which allow anyone to register for an account:

Not all of these services offer the same features, so shop around!

Choosing a program

If you have an account on a Jabber server, then you have a choice as to which jabber client you can use. Here are some of the most popular, broken down by operating system. Note that some of them will only work with a specific service, but that doesn't mean you can't use a different client with that service.


Trackback from your own site.

33 Comments for “Full-Time Jabber”

  1. Miguel Arévalo Says:

    One correction:

    "The only excuse for this situation is corporate greed."

    Wrong, it's not corporate greed, it's corporate dumbness. Google didn't use Jabber for Gtalk because they are less greedy than AOL os MS (in fact if you look at NASDAQ you could see that Google owners are quite greedier than AOL or MS) but becuse they are smarter.

    Greed is good, dumbness is not.

  2. Joel Says:

    Any reason you left off Psi for linux? It works just as well as it does for windows and mac. Also there's kopete for KDE users, and gajim is coming along quite nicely as well. I look forward to seeing where it goes.

  3. Jean-Louis Seguineau Says:

    Congratulation, this a worthy addition of a well presented argument in favor of XMPP based networks. I also see see you have cleverly navigated the subtleties linked to using the word Jabber (thanks JSF discussion list;)

    I'd just be making a correction on the correction.

    Corporation are not philantropists. They make money. Google is no different. Where they have been clever is by moving the battleground from IM to VoIP. In short, they have displaced the context instead of beeing "yet another IM provider". The next frontier is not in IM anymore, every body has IM. There is much more potentential value in VoIP services than IM, don't you think? But Google must appears a 'not so evil' corporation to succeed. SO they cannot bluntly tell the world they want to create 'yet another captive community', right?

    For Google, the equation was simple. To achieve their goal, they needed a multimedia IM. They could have built it, but instead they looked at the landscape and realized that using XMPP would instantaneously give them that IM community. As you said, anybody using XMPP can IM a GTalk user. They also needed the VoIP part, so they came up with GTalk. And there they achieved the lock up of the community. This is the clever bit. Because, Gtalk is not Jingle.

    It is a two steps process. First GTalk to see how the service is perceived, while they drive the Jingle specification at the JSF. The second step is to negotiate the peering agreements for the next to come VoIP Google service. By the time is ready, there will be many open source clients out supporting GTalk (not Jingle) eager to use the newly created GTalk to public VoIP or PSTN gateways. And Google will start milking the cow...

    The strength of Google is in leveraging to its own interest the inextinguishable goodwill of the open source community.

    They did it again ;)

  4. bluegray* Says:

    Great idea, hope you don't loose too many friends ;)
    Do you think that the support for jabber would have been good enough for you to switch over if Google did not decide to use XMPP for their protocol? I don't think so. As a side note, I would also be interested if you could share your experiences with setting up a jabber server.

    btw. another vote for gajim (linux and windows)

  5. Jeff Says:

    One feature of jabber you missed mentioning is the "portal" (my word) feature. Basically, shop around to find the jabber server you want to use that offers portals to the other guys (yahoo, aol, msn, etc). Once connected to your jabber server and subscribed to the appropriate "portal" you can still IM you buddies on those other clients from a single jabber client. (go gajim!)

    Side-effect: you still have to register with all those other types to be able to use the "portal" from that server.

    my .02

    Jeff

  6. menmoth50* Says:

    um....yeah, all that crap they said, and: HAPPY BIRTHDAY!!!!!

  7. Zak Says:

    I think Google's plenty greedy, but what separates Google from most public corporations is they're interested in maximizing profits over some indefinite long term, not meeting quarterly goals to keep the shareholders happy. One thing that helps with that is to be open. Make something people want[0] - profits will follow.

    [0] "Make something people want" is a trademark of YCombinator. Used without permission. Please don't sue me.

  8. darco* Says:

    Roxy wrote:

    Okay, I really only read the first part of this post. I mean, I'm a dork, but not THAT much...lol.

    Please read the whole post. I wrote it for people like you who still don't understand what it's all about.

    Joel wrote:

    Any reason you left off Psi for linux? It works just as well as it does for windows and mac. Also there's kopete for KDE users, and gajim is coming along quite nicely as well. I look forward to seeing where it goes.

    Oops. Fixed.

  9. Odgitfa Says:

    Okay, here's something I don't understand. There are lots of Jabber servers, and there are lots of Jabber clients. While I can understand the desire to support an open protocol, won't I still be relying on a server I have no control over to handle my IMs? Is that really more secure than dealing with a corporate server? And how reliable is the PFJN and its sub-entities?

    In any case, happy birthday!

  10. darco* Says:

    Odgitfa: I made no points about security in my post. However, if security is a concern to you, there are a number of ways you can secure yourself:

    • Run your own server, like I do.
    • Use end-to-end encryption (I believe PSI supports this)
    • Wrap aluminum foil around your head (j/k)

    Most client-to-server connections are encrypted using TLS these days, and increasingly server-to-server communication is becoming encrypted as well.

    As for reliability, the PFJN is only as reliable as the servers that make it up. Much like the internet is only as reliable as the servers that make it up. However, it is important to keep in mind that is Google Talk is having server issues, it won't affect my ability to chat with my friends who use Gizmo Project.

  11. Odgitfa Says:

    darco: Yeah, unfortunately, security does worry me - especially the fact that my Jabber ID is my e-mail address. With AIM, I can post my screen name somewhere online and not have to worry about getting spam. If only that one change could be made, I may stand up for free, flexible protcols such as Jabber. But, until then...

  12. Victor Snezhko Says:

    As for authentication and spam... Yes, there are certificates, so what? Everyone can run a jabber server and connect to anyone. Yes, you can block unknown servers, but in e-mail you can block unknown IPs too. No spam so far because of lack of popularity.

  13. Victor Snezhko Says:

    Odgitfa: Your Jabber ID is NOT your e-mail address. It may be equal to the e-mail, and just looks the same. Some people, e.g., prefix the word "jabber" to their server's domain names.

  14. fireflysoup* Says:

    Happedy Happedy Birthedy Day!

    Enjoy your day, Quarter Quatt!

    ~Jess

    A bit off topic: perhaps I am naive - but in response to the post by Jean-Louis about Google, I don't think Google is only trying to "appear" non-evil to succeed, I think they genuinely care about being non-evil. :) I think they also care about money, and they will do what works to keep their company afloat. One can be pragmatic without being evil.

    Sometimes Google has had to operate in the grey areas - weighing pros and cons when the choice is not clear cut, as in the case with China and censorship.

    I don't know enough about jabber etc. to say what prompted their decision to make GoogleTalk use XMPP or to join the jabber bandwagon, but I don't think they were being sneaky about it or trying to appear selfless while looking out for their own interests. There's nothing wrong with making a good business decision that benefits the company as well as the community at large.

    That's just my hit on it though. I could very well be wrong! I like Google a lot because they treat their employees extremely well and they seem to actually care about the choices they make, as opposed to companies like eBay/PayPal who totally grind their employees into the ground (my ex-husband was one of them) and hardly consider the community at all.

    :D

  15. tom Says:

    Jabber's failure is it's own fault. They have emphasized technology over people, and made it impossible for us to explain Jabber to our friends so that they can Google something and be on it within a few seconds. Look at the Jabber homepage and it's just a lot of corporate-speak and geek-speak.

    Google will make Jabber popular just like Apple can make BSD popular - because they are actually thinking about people.

  16. darco* Says:

    Tom said:

    Jabber's failure is it's own fault.

    I take issue with the past-tense implication in this sentence. Jabber is not a failure. Jabber is now starting to take off--thanks in part to Google and Apple. Jabber is sorely missing a popular user-perspective website. I'd be happy to work with other interested individuals on making this happen.

    Odgitfa said:

    Yeah, unfortunately, security does worry me - especially the fact that my Jabber ID is my e-mail address. With AIM, I can post my screen name somewhere online and not have to worry about getting spam. If only that one change could be made, I may stand up for free, flexible protcols such as Jabber. But, until then...

    No one is forcing you to use the same jabber ID as your email address. But really, if security is really such an important thing to you, then why are you using AIM? You think that it is more secure? Hogwash.

    Victor said:

    As for authentication and spam... Yes, there are certificates, so what? Everyone can run a jabber server and connect to anyone. Yes, you can block unknown servers, but in e-mail you can block unknown IPs too. No spam so far because of lack of popularity.

    You would not want to block "unknown servers". If you were considering going that far, then simply blocking communication from contacts not on your contact list would be more than adequate.

    Yes, it is possible for people to send spam on Jabber. However, because authentication is required with XMPP, creating an automatic black-hole list actually becomes feasible. Authentication forces accountability.

    Unfortunately, it looks like strong anti-spam measures will not be put in place in the Jabber community proactively. However, due to the way that Jabber is designed, will be much easier to implement such mechanisms reactively when it becomes necessary(Unlike SMTP, the legacy of which haunts us to this day).

    Spam/Spim are a fact of life. There are only two ways to eliminate it completely:

    • Whitelist all communications (only works when you have an authentication mechanism)
    • Don't use the service

    Unless you are willing to do either (which most people are not), then you will have to take other measures to curb spam. If you take none, you will be deluged. With SMTP, your options are few. Jabber adds the technological ability for filtering to be far more effective.

  17. Jerry Kindall Says:

    The problem is that Jabber is not a service like AIM or MSN or Yahoo, it's a loosely federated network of independent servers much like the numerous IRC networks. I hear about Jabber in passing, I go to Jabber.com like a normal person would, and I don't see any obvious place to download the client or to sign up for an account. Instead I see what looks like a corporate home page that has no immediate relevance to me. Contrast this with the experience of going to, say, AIM.com, where one can download the client and sign up for an account almost accidentally.

    For Jabber to succeed it really needs a brand which is also its domain name and the name of its client. It also needs the features provided by other IM networks such as group chats, file transfer, and of course video chatting. As long as you have to run "a Jabber client" (not "Jabber"), get "an account on a public Jabber server" (not "a Jabber account"), etc., Jabber is doomed to be a niche. Perhaps Google will succeed in creating that brand, but "Google Talk" is actually a pretty bad brand from a marketing standpoint. What is needed is something smart and snappy. Anybody could get the ball rolling on this, they just need to whip up a simplified multi-platform client and put up a nice Web site with some genuinely helpful instructions.

    Until Jabber has something compelling like that, going exclusively to Jabber is the cyber-equivalent of saying "I vant to be alone." And you will be, at least in IM-space. But you know that and you're willing to suffer for the greater good, so that's okay. Good luck with that...

  18. darco* Says:

    Jerry Said:

    The problem is that Jabber is not a service like AIM or MSN or Yahoo, it's a loosely federated network of independent servers much like the numerous IRC networks.

    Jabber is absolutely nothing like IRC.

    IRC Networks scale horribly. IRC Networks are also islands. IRC doesn't support presence. The list goes on and on.

    To say that Jabber has more in common with IRC than it does with AIM or MSN is simply inaccurate.

    It also needs the features provided by other IM networks such as group chats, file transfer, and of course video chatting. As long as you have to run “a Jabber client” (not “Jabber”), get “an account on a public Jabber server” (not “a Jabber account”), etc., Jabber is doomed to be a niche.

    Do I have to run "email" to check my email? What about "world wide web" to surf the net?

    Granted, Jabber's current situation is a marketing nightmare that to this day has not had a satisfying conclusion. I'd be happy to work with people on ideas to change this.

    Until Jabber has something compelling like that, going exclusively to Jabber is the cyber-equivalent of saying “I vant to be alone.” And you will be, at least in IM-space.

    That's funny. Tell that to the 60+ people on my contact list, including friends and family. If this is really an obscure plea for isolation, I don't think it's working.

  19. AdrianTM Says:

    Why do you recommend Gizmo? That's closed source and I read in description of the program that they don't guarantee that it doesn't contain virus, spyware.

    Recommend OpenWengo which is both open standards and open source and it works great.

  20. lauren Says:

    happy birthday!

  21. darco* Says:

    AdrianTM wrote:

    Why do you recommend Gizmo? That's closed source and I read in description of the program that they don't guarantee that it doesn't contain virus, spyware.

    I recommend the Gizmo Project because they are a part of the PFJN. Their motivations and methods of operating their business are ethical--I would recommend them over Skype any day.

    I can personally vouch that their software contains no spyware or viruses---but you are by no means required to use their software(which, as you pointed out, is closed-source). There is an open-source plug-in for Adium which allows you to have all of the features of the native Gizmo Project client if you are on a Mac. If all you are interested in is instant messaging, you can use any Jabber client to connect.

    Personally I'm quite excited about what the Gizmo Project has to offer, and I'll be paying close attention to it in the future.

    Recommend OpenWengo which is both open standards and open source and it works great.

    I haven't heard of this. I'll have to look into it later.

  22. zenek Says:

    Every time you spell Gaim as GAIM, God kills a kitten ;-). The same applies to Psi. :-)

  23. west-penwith.org.uk Says:

    [TRACKBACK] I noticed that when I signed up for WordPress.com to get the required credentials for Akismet, one of the things you could put on your profile was a Jabber Id and it reminded me that the gospel is slowly spreading...

  24. cowpowered.com Says:

    [TRACKBACK] Jabber is an Instant Messaging protocol based on an XML standard (XMPP). You might wonder: “Why another IM protocol? We already have MSN, AOL, Yahoo, ICQ, and a hundred others. That should be enough, right?” Well, not exactly. ...

  25. darco* Says:

    zenek said:

    Every time you spell Gaim as GAIM, God kills a kitten ;). The same applies to Psi. :)

    Oh noes, the poor kittens!

    Fixed. :D

  26. nick Says:

    Miranda IM on Win32 also supports Jabber.

  27. Ryan Says:

    I think part of the problem is a lack of a cohesive software framework. Right now, all we have for Jabber is a protocol specification (basically). So, what happens when you want another feature in your client - do you have to completely switch clients? Do you have to log in twice? You addressed this in another post, so I won't go too far into it.

    If there were a good framework for building Jabber applications so that they would all interact and play nicely, it would be much easier to have that single web site featuring all the software that works with Jabber. As it stands, we have Jabber servers working together, but the end-user has to do lots of footwork to find what he or she wants (and most won't do that). If instead you were to tell that user about one place he or she could find all this neat software that opens a new part of cyberspace, and that the possibilities are endless, especially if you say they can still maintain contact with their friends on other networks, you can pretty well bet you have a new customer.

    So, the first order of business should be in getting all this Jabber stuff to play nice. A SIP client like Gizmo Project shouldn't preclude using another piece of software to manage the contact list, or maybe another client that interfaces with an IRC transport. Only when it no longer matters what choice you make - that your preference doesn't exclude other choices - will we be able to present Jabber as a replacement for other online presence services.

  28. JVK Says:

    Don't listen to these corporate whores, Q-Bomb. This is cool what you're doing. Maybe someday I'll switch to Jabber only.

  29. pgudge Says:

    I have been looking at Jabber Servers to run in house, and frankly none of the GPL ones are up to much. The best so far was Wildfire, but its run on Java and has a tendancy to restart or die occasionally.

    What server are you running, and can you recommend some?

  30. darco* Says:

    When people ask me for my recommendation for which jabber server to deploy, I generally always recommend Wildfire. It may be written in Java, but that is not a downside in my opinion unless you are deploying in an extraordinarily large environment. I'm not aware of any specific stability problems related to wildfire, but I'm sure with a little tweaking that they can be resolved.

    However, for deepdarc.com I actually run jabberd2. At one point I was about to migrate over to Wildfire, but at the time I was having trouble getting it to work properly with my SSL certificates---which is a problem most people won't run into. I'm sure it has been fixed by now, and at some point when I get up the nerve again I'll attempt the migration once more.

    Jabberd2 is considerably more difficult to set up than Wildfire and more difficult to administer, so I do not recommend it for home installations.

    Another highly recommended jabber server is ejabberd. I briefly looked into this when I was migrating away from Jabberd 1.4, but for some reason or another I ended up with Jabberd2.

    It is a shame that development on jabberd2 is so slow, but oh well.

  31. Jure Repinc Says:

    I've done the same step about two years ago and ever since then I'm also a full Jabber user. It is about time we put a stop to closed and proprietary IM systems.

    BTW your list for Linux (it will also be available for Mac OS and Windows when KDE 4 comes out) is missing the Kopete client, which in my opinion is the best IM client ever. The homepage of Kopete is here: http://kopete.kde.org/

  32. Open-Source Evangelists Suck Says:

    Why should I use an IM service that none of my friends are using? or CAN'T use? This is the point that you're forgetting---in my case, most of my friends IM off of their mobile phones and so they're stuck using AOL/Yahoo/MSN. Alas, this can't easily be fixed. It really ticks me off whenever I read careless promotions for open-source products.

  33. darco* Says:

    Oh my.

    Why should I use an IM service that none of my friends are using?

    You don't have to. If everyone you know is using at least one of the big three (which is likely), then there isn't a whole lot for you to gain unless you feel like being an early adopter.

    Keep in mind that I'm not suggesting that everyone do what I did. That would be absurd. I just want to encourage people to have an account on a jabber server as well as their AIM, MSN, and/or yahoo accounts. If there just isn't enough value in XMPP for you to justify the effort at the moment then that's fine. I'm not going to try to sell you something you don't need and won't use.

    Alas, this can't easily be fixed.

    Very true, but that doesn't mean it's not worth someone's effort to try.

    It really ticks me off whenever I read careless promotions for open-source products.

    I'm really curious as to what part of my "careless promotion" happened to "tick you off". Do you just not like ideas that differ from your own? Why not just go read something else then?

Comment on this post

* required

(or just Login »)


Type these numbers into the given field. This is how to make sure you aren't a computer.