Well, that is certainly a good question with which to start this book. Depending on who you ask, the following answers may be forthcoming:
Jabber is a technology
Jabber is a protocol (or set of protocols)
Jabber is an XML-based Instant Messaging (IM) system
Jabber is an implementation of the set of protocols
Jabber is an idea whose time has come.
In fact, all these answers are right. Jabber is a set of protocols expressed within XML that provide people and applications with the ability to converse. Sure, TCP sockets, STDIN/STDOUT, infrared, voice input and teletype mechanisms all allow people and applications to converse; the difference is that Jabber provides a structured, extensible framework for exchanging all kinds of information.
This is all rather abstract. What do we mean by "extensible framework for exchanging information?" Taking it one word at a time:
Jabber's substrate is XML. XML is inherently extensible in the sense that tags can be added in a hierarchical sequence. Namespaces in XML allow us to keep track of the meaning and organization of these tags.
You can put together a system for exchanging information using many different tools. The point about the "framework" is that the information exchanged and the entities that are exchanging it are contextualized, bringing meaning and structure to the interactions.
Conversation is two-way, and it takes many forms: question and answer, notification, compartmentalized discussion, and simple chat. Jabber supports all these different types of conversation, and more.
One doesn't really say that information is exchanged in a conversation, but when you bring applications into the mix of conversing entities, it may well be the case. And it's not just information exchanged in the form of conversations, but also information about the entities themselves that flows across this context framework.
It goes without saying:
Jabber is an IM system
IM was Jabber's original raison d'etre. Many deployments of Jabber software are to provide IM services, but Jabber is more than IM. Certainly more than the phrase "Instant Messaging" represents. In this book you'll find out why this is so, and how you can deploy solutions with Jabber that are more than mere chat. But most importantly, Jabber is fun!
Like chess, which has a small set of rules but countless game possibilities, the technologies employed in Jabber and the Jabber protocol itself are straighforward. The possibilities are almost limitless. Furthermore, because of a fundamental design feature [1] (you might call it a "philosophical" angle), implementing Jabber-based solutions to your problems can be fun—really!
| [1] | That the complexity of a Jabber implementation should always remain in the server, leaving the clients simple and clean |