Penguin
Note: You are viewing an old revision of this page. View the current version.

Like most things proprietary, OpenSource people have written their own InstantMessenger, called Jabber. Jabber is built on a robust model, similar to SMTP and HTTP, and completely unlike IRC's unscalable mess. It is based on a core router which speaks XML with small plugin modules handling all the various parts of the InstantMessaging. By way of JabberTransports, Jabber can be used to talk to users of other InstantMessaging protocols.

Users are identified by way of their JID, which is similar in concept to ICQ's UIN, but looks like an email address, whateveryouchoose@your.jabber.server.

The contact list is called the roster. Adding people to the roster is called subscribing to their presence. Subscriptions can be both ways (you can see them and they can see you) or only one way, but unlike most other IM clients, Jabber also lets you know when people have you on their roster: this appears as a subscription from them, not to them. People can be added to your roster either by their Jabber ID or by searching for them in the Jabber Users' Directory.

Jabber has support for people logging in multiple times on a single account by way of adding a resource name to the account to distinguish the logins: whateveryouchoose@your.jabber.server/Foo and whateveryouchoose@your.jabber.server/Bar is the same user, but under different logins. Messages can be sent to a specific resource or without specifying a resource. In the latter case, the message is delivered to whichever resource has the highest priority (which can be set at log in time).

The Jabber server will store messages for later delivery if the recipient is not online at the time.

See also: