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.