XMPP: The Gem of Instant Messaging

Protocol reliability and evolution

  • Some blame XMPP’s decline on unreliable core behavior (e.g., assuming TCP reliability without explicit acknowledgements), leading to “zombie presences” and lost messages; they argue the ecosystem never recovered its reputation.
  • Others counter that delivery acks were standardized early and widely implemented, and that “flag day” protocol changes are hard in a federated network; they see this critique as overstated.
  • XMPP is described as “still alive” and evolving, with “modern XMPP” profiles and ongoing XEPs for mobile, encryption, and media.

Client quality and user experience

  • Many see clients as XMPP’s biggest weakness, especially compared to polished, VC-backed apps like Element or proprietary messengers.
  • iOS support was historically poor; now there are push-enabled clients (Snikket, Monal, Siskin), with more in development.
  • Desktop: older multi-protocol clients (e.g., Pidgin, Psi) lag badly on modern XMPP features, harming XMPP’s image; newer clients (Dino, Gajim, Conversations, etc.) are considered good but fragmented and confusing for newcomers.

Complexity, extensions, and configuration

  • One camp argues XMPP’s spec is overcomplicated, making good clients and innovation difficult.
  • Another camp says it’s no worse than other foundational protocols and that most developers should use libraries, not reimplement the spec.
  • The extensible XEP system both enables evolution and creates a “which 10 extensions do I need?” problem. Different servers/clients support different subsets, making interoperability and onboarding tricky.

Comparison with Matrix and other protocols

  • Matrix is characterized as a distributed event/graph database with heavier resource usage but strong history and reliability; XMPP is event-based and lighter but depends on server availability.
  • Some see Matrix as XMPP’s modern replacement; others view Matrix as immature/complex and prefer improving XMPP instead.

Self‑hosting, tooling, and real-world use

  • Experiences diverge: some report painful manual setup and port/config issues; others say XMPP servers (Prosody, ejabberd, etc.) are lightweight with sane defaults.
  • Curated distributions like Snikket (Docker-based “just works” setup plus recommended clients) are praised as the right direction.
  • Users report successful family/private deployments, often combined with gateways like JMP.chat to integrate SMS/voice, and niche uses such as agent communication or HF radio experiments.

Adoption, business incentives, and nostalgia

  • Several argue XMPP lost mainly because corporations benefit from walled gardens, not interoperability.
  • Others note that communication tools need network effects; with most people on WhatsApp or similar, XMPP is socially hard to revive.
  • There’s strong nostalgia for the era of one multi-protocol client (e.g., Pidgin) vs today’s app silos.