Instant Messaging

Sending instant messages between people. The BITNET was probably the first world-wide instant messaging system.

  • 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.

Centralistic systems circumvent the problem by bringing all server functions as close as possible together. one-to-many may still be an internal scalability issue, however.