- Requires a flexible format to deliver messages in. We use PSYC.
- Requires abstraction of people from their current internet address. In PSYC this is achieved by uniforms.
Messaging typically is seen as a one-to-one operation. But since most messaging tools like to provide indication of presence of involved people, messaging turns into a very specific type of one-to-many communication: If I change my presence, I need to tell all my buddies - that's a one-to-many operation.
Thus, messaging is in fact a special case of a multi-user chat application, no matter whether groupchat as a function itself is provided, or not. Chat applications have means to distribute information from one to many.
In PSYC, one-to-many is solved by applying multicast to a distributed network of servers. This is also the case with IRC, even if in a simplified way. SMTP at least optimizes the amount of transmitted messages to a single host. XMPP and SIMPLE however aren't doing anything about this, thus suffering of large amounts of overhead traffic.