March 12, 2005

Some of the reasons that jabber isn't where it should be.

Before I begin this, I just wanted to say that I love jabber a lot. It has a lot of potential. Hell, I even have 4 accounts on public servers with it, heh.

There are a few reasons that I think jabber isn't where it needs to be in the public. In private it's great, it's awesome, does exactly what is needed. The corporate environment needs are totally different from the needs of the outside world.

But if it were up to me, I wouldn't pick Jabber as a solution for a large scale implementation unless it was on a budget. There are a few reasons for this:

1) It seems that a lot of people are just confused within the project. Take a look at this page: http://www.jabber.org/jsf/. The name of this group is the "Jabber Software Foundation". The problem is that the name seems to be conflicting as to the actual goals of the group. This group's goals are to make the guidelines which govern all things Jabber. That's great. It's needed. But why is the word "software" included in the title? It seems like someone was confused by the whole situation.

Now this may not be such a big deal on it's own, but it does show at a very easy to view scale that there seems to be confusion within the project itself.

2) Lack of willing technical people to inform others of Jabber.

Some software makes it into corporate circles via sales people, others by word of mouth. Jabber has a few sales people on the corporate solution, but it could really rock out on word of mouth. Small problem though.. a lot of the technical to semi technical just don't see a reason to install it.

I linked someone to this article, explaining that in fact aol could be using the logs of their chats for whatever. They immediately said that it was fine time for everyone to move to msn messenger. They didn't say jabber. I realize that msn has an advantage of being on everyone's windows box by default with xp, but this was a mac user.

Aren't mac users supposed to hate microsoft? Ya, I thought so too.

3) Users are not willing to push other users to the jabber network.

I then asked this guy why he thought that, and he said "nobody he knew was on jabber". Basically he knows that most of his contacts are on msn, so it's the easiest path to migration, instead of to the almighty im solution to beat them all, hopefully.

4) Clients which aren't easy.

Why is the user forced to set the server in every single client out there? Seriously, wouldn't this seem to be an advanced setting of some kind for the account, or connection setting, and not an account setting? And that just starts the mess. The clients aren't well thought out.

I've seen talk of a client that runs on all three platforms. Do you realize how wrong this is? It would be focused on one platform, maybe, and probably wouldn't look that great at all, or feel that great. Psi works on a bunch of platforms. Has anyone actually seen a new user try to use it? I don't mean disrespect to the psi people, I think this is a deeper problem than just a gui design.


The reason that aol/yahoo/whatever is heavily used is because the clients are easy to configure once, and you don't have to mess with account stuff again. And the account settings are not hard in comparison. People don't need to understand that servers are linked, they just are. They don't need to know how dns works, they just enter a username.

Jabber is designed for the uber geeks. And if the uber geeks want the masses to use their favorite im protocol, they need to start pushing clients that are easy to use. And not pushing overly technical features. People find those on their own after a while.

Key point, yes it is cool that you can set a resource as being at home or at work. But how many home users would actually need to use that? I don't say home as a form of "the uber geek went home, now he is home". I'm talking about someone who uses chat networks at home on a normal basis. And does that person need to use resources? Probably not. There are other examples as well.

Summary of above points
So we have a group of people who describe themselves as software people in their title, but don't work on software. We have technical people who won't push jabber. And we have a name that a lot of technical people do recognize. And we have a protocol getting a name for itself in some circles now which basically says to pass over this, and move on to something else.

The potential

Now, I did say Jabber has great potential. I'll list why I mentioned that:

1) It's the only protocol with a standard in rfc form. This is a huge deal. This means that we all are on the same book with it. This is great, and something that helps developers out a lot when referring to things, I suppose. Not a concern for home users.

2) It is free. Clients are free, servers are free. Not a concern for the home user.

3) Multiple solutions to the same problem. Multiple clients that work to resolve the same issues in different. A concern for the home user.

4) Control. You can control the server and client. But again, this isn't a concern for the home user.

5) Clients work on most platforms. A concern for home users of macs and linux boxes.

So what do I think could resolve this? Well, here's a few ideas:

1) Make a new name for the protocol for home users. Market the hell out of it like the firefox push a bit back. Keep jabber as a name for the technical side of things.

2) Make a "home user" client per platform. Have a group who specifically say what would be good and bad to show users for these situations. These would be people who usually make decent gui's, and happen to like jabber.

3) Make it easy to sign up for an account. An online form is almost required for this. Every person I do convince to use jabber asks if they should use "the web form". Of which, I cannot easily find.

And make it pretty. Large icons, small amounts of text. Don't explain too much, just enough so the person gets an account. They can figure things out later.

4) Possibly more controversial, but do home users really need to know that they can have a account on one of 30 servers, which are all linked anyhow? Probably not.

Posted by tick at March 12, 2005 12:31 AM
Comments

Points #2 and #3 of 'how to resolve this,' I completely agree on. #1 I could take or leave.

But #4 is, I'm afraid, totally off-base; they do need to know (or the client needs to pick an appropriate server for them) because jabber.org is getting seriously overloaded already. Even now we have the problem that people just sign up on jabber.org rather than finding other, less-overloaded servers. :(

Posted by: Sparks at March 13, 2005 03:49 AM

I posted a short comment in response to this on my blog.

Posted by: Eliot at March 13, 2005 01:16 PM

I agree with pretty much all of this.

In your resolutions, you can't do #1 until #2 is done or well underway.

I think #4 is more interesting. Users are possessive of their address and enjoy predictability. If on user registration the client (or web page, whatever) asked jabber.org which server it should register the user with (which seems like a reasonable thing to do to balance load), that would assign the server's name as part of the JID which would mean that it could, effectively, be anything. You could end up with 'fred@jabber.org', 'susan@netfreax.com', 'mr_cheese@bristol.net' (let alone different people with the same usernames on different servers), all of which is terribly confusing for a standard MSN, AIM or Yahoo!M user.

Whilst I'm sympathetic to the guys running the jabber.org servers, I think that at least a small part of the only realistic chance Jabber has of penetrating the home market is by providing a reliable and predictable server name. When I'm telling people my MSN address, I've only got to tell them what it is up to the @-sign and they know the rest (hotmail.com), they don't have to bother remembering the rest. It's all about lowering the boundaries, isn't it?

Posted by: Phil Wilson at March 13, 2005 01:18 PM

People don't seem to have trouble with email addresses...

Posted by: eliot at March 13, 2005 03:36 PM

Really? I'm forever forgetting people's addresses, and no-one ever remembers mine (even though it's just my name).

I don't see how lowering any potential barriers can possibly hurt.

Posted by: Phil Wilson at March 13, 2005 04:53 PM

"I've seen talk of a client that runs on all three platforms."

Just an aside, but I assume you are talking about Psi here. Exodus is Windows only, Psi is "the one that runs on all three platforms". Regarding your comments about it, I'm not saying the glove doesn't fit, but realize that the development team is made up of Windows, Mac, and Linux coders, each of which contribute OS-specific code to enhance the GUI as much as possible.

I agree with much of what you say. I have to admit that I do not recommend Jabber to my non-geek friends. I'm very conscious of the human interface issues we have. iChat might help.

The ultimate solution of course would be for every ISP to host their own Jabber server and you can obtain a Jabber ID that matches your email address. I can dream, can't I? Actually, some big ISPs do this. I can cite Bellsouth.net and Sabo.pt.

Posted by: Hal at March 13, 2005 08:49 PM

"Why is the user forced to set the server in every single client out there? Seriously, wouldn't this seem to be an advanced setting of some kind for the account?"

No. The client should ask for a JID. If the user is a newb, they can pick a username, "newb123", and the client can use in-band registration to set them up on a public server. A user with a specific server in mind can pick user@server.com, and the client can use in-band registration to hit that server. Web forms are superflous when Jabber already does in-band registration.

Posted by: sten at March 14, 2005 10:56 AM

Many of the concerns here are basically about Jabber not being one of the big legacy systems out there (MSN, Yahoo, AIM, ICQ). The very trait of being a decentralized system in itself is part of what sets Jabber apart and gives it such staying power (think email). The concept of a JID is critical to this distribution and should never be removed in favor of one server, even in a client that offers a server ran by its client's developers.

I agree clients can definately help, and at least one of the major upcoming changes to Psi is a new user wizard. Regarding Psi on the cross platform situation... it's a QT native application, and as such takes on many of the characteristics of the environment it is ran under.

Further, the cross platform compatibility is critical for many places like Universities that have to support a variety of platforms. In such environments, the same client on each platform means everything. Also, I do see the platform specific integration between both KDE, and Windows XP when using it on our sytems here. I see no integration with CDE, but then again, nothing integrates with CDE (it's a horrid window manager).

Posted by: Richard Houser at March 14, 2005 05:07 PM