IM/Presence is PubSub ( was: RE: [xmppwg] privacy list cleanup)

Bob Wyman bobwyman at
Mon Feb 17 15:59:04 CST 2003

	An Instant Messaging system can be modeled, and I think *should
be* modeled, as a PubSub or Publish and Subscribe system. If the
functions of the system are limited to simply passing all traffic
"published" to or by a particular node or entity to some set of
subscribers, then what you have is a "Topic-based" PubSub system. But,
the moment you start talking about filtering out some subset of the
messages based on the content of those messages (such as their authors'
identity) then you have a "content-based" PubSub system and you have
achieved a significantly higher level of complexity in the requirements
that must, or will eventually, be addressed.
	I personally believe that it is a mistake to attempt to address,
via privacy lists or other ad hoc measures, a subset of the
content-based filtering problem since it is inevitable that doing so
will simply raise expectations and start one down a "slippery-slope"
that will eventually force a broader range of requirements to be
addressed -- perhaps on an inadequate foundation. What will happen is
that you'll start off coming up with a reasonable solution to the
privacy policy (filtering based on authorship) and then later have
people come back and say that they want to filter on other bits of
content. (i.e. they don't want any message with "bad" words in them. Or,
they *only* want messages that refer to "Britney Spears."...). Recent
messages on this list from Jack Erwin and Jean-Louis Sequineau already
anticipate the slide down this slippery slope as they seem to be calling
for more flexibility in the filtering mechanism. Erwin even invokes the
well known principle (and problem) with content-based PubSub systems of
the trade-off between "expressiveness and performance."...
	At the risk of muddying the already-muddy waters of IM and
Presence, I would like to suggest that we look carefully at combining
the efforts being put into both XMPP and the more general PubSub problem
(see: JEP-0060) to come up with a single protocol that serves both
purposes and supports IM/Presence as a subset. I have been watching both
the PubSub debates and the IM/Presence debates for some time now and can
assure you that such a combined effort can be accomplished without
compromising significantly the goal of getting an IM/Presence
specification put to bed. The only concern, of course, is with existing
implementations... But, they would have to upgrade to the new
specification anyway.
	IM/Presence is simply a subset of the PubSub space. If we don't
deal with this fact sooner, rather than later, we'll find IM/Presence
protocols being used as inadequately designed PubSub protocols and we'll
find PubSub protocols competing with IM/Presence protocols. It is bad
enough to have multiple IM protocols as we do today... Not addressing
the relationship between IM/Presence and PubSub will inevitably lead to
more "competition" between the protocols in the future. Dealing with
their natural relationship today would result in less complexity as well
as a stronger protocol base for a wide range of applications.

		bob wyman

For those interested in a "historical effort" to define content based
PubSub in the context of Apex, take a look at:
Note: This document needs much updating...

More information about the xmppwg mailing list