XMPP
This article is a stub. You can help the IndieWeb wiki by expanding it.
Extensible Messaging and Presence Protocol (XMPP) is an open messaging standard for cross-platform instant-messaging interoperability, previously supported by the Google Talk messaging service and Twitter, and something you can support on your personal site.
Why
By supporting XMPP on your personal site, you can use your own domain as your XMPP identity to chat with other folks using XMPP, without having to register on another service!
How to
How to make an XMPP identity
You can either register your identity on a free service, or you can set-up an XMPP server on your site and use that to present your XMPP identity.
Services:
- https://movim.eu/
- https://www.jabber.org/
- ...add more here!
Self-hosting:
How to setup XMPP on your site
(stub)
For developers, see:
IndieWeb Examples
Peter Molnar
Peter Molnar has been running his own XMPP server on his domain since at least 2021 per https://petermolnar.net/article/xmpp/index.html
Aaron Parecki
Aaron Parecki added XMPP support to his site in 2022-??-?? for use in IETF meetings.
Jacky Alcine
Jacky AlcinΓ© uses movim.eu since 2021-??-?? for personal use. In 2022-03-18, he connected it to jmp.chat to allow for bidirectional text message support
Service Examples
Social-networking applications built on XMPP:
Movim
Salut a Toil
- Salut Γ Toi provides a gateway to expose the content on the web, with public access for public content.
Open source
Standards
The core part of XMPP is now an IETF RFC: RFC-6120.
PubSub
XMPP has a PubSub protocol for social-networking, as defined in XEP 0060.
URIs
All content throughout the XMPP network has a unique URI. Here's a list of common URI representation of resources:
- user: xmpp:user@host
- PubSub node: xmpp:pubsub.host?;node=nodeName
- PubSub publication: xmpp:pubsub.host?;node=nodeName;item=ae890ac52d0df67ed7cfdf51b644e901
Issues
General issues:
- massive spec
- no one has ever fully implemented it
- there's no comprehensive (or even feature covering) test suite
- everyone who tries to implement it, only ever implements a subset of it
- interop requires testing with every implementation you want to interoperate with (instead of just with a standard test suite)
See Also
- stanza.io
- xmpp-ftw
- http://xmpp.org/about-xmpp/xsf/
- messaging
- communication
- Brainstorming: setup your own siteβs XMPP support with an account you could follow that would act as a reader, sending you the notes from folks you follow, and also as publishing client, for posting notes to your site via IM (this is how Twitter XMPP support used to work).