Differences between Bonjour/Avahi/People-Nearby protocols

I recently discovered, through Ubuntu's empathy IM client, that exists a protocol that enables the user to talk with anyone on his actual local network. It seems empathy calls this service "People Nearby" and Windows "People Near Me".

After some research I discovered more information: it seems the "protocol" is called Avahi (or Bonjour/Salut(?) by Apple) and permits a user to connect to users, printers and files on the network.

My questions:

  1. Bonjour, Avahi, people nearby, people nearby... are these things different names for the same thing, i.e. to connect to "things" (users/printers/files) on the same network? Are these different implementations of Zeroconf?
  2. Which IM support this kind of protocol? AIM, Trillian and Empathy support it, am I right? Which of them are usable on a smartphone (Android)? I think Trillian does and WiChat too but only for iOS.
  3. Is there an Android app that implements a Bonjour's or Avahi's service for Instant Messaging?

Solution 1:

Bonjour is Apple's trade marked name for the Zeroconf protocols. These protocols consist of:

  1. A method of automatically assigning IP addresses to machines on the local network when no DHCP server is available.
  2. A method of advertising services on the local network (service discovery over multicast DNS).

Avahi is the implementation of these protocols used by Ubuntu.

The People Nearby service in Empathy uses the XMPP Serverless Messaging extension, which entails advertising your presence over the local network via the standard Zeroconf service discovery protocols, and clients sending messages to each other directly instead of via a server.

Salut is the name of the Empathy backend that implements this protocol.

To my knowledge, there isn't a standard multicast DNS implementation on Android, so I don't know whether many clients would implement this serverless messaging extension.