Happy Birthday, XMPP: 20th Anniversary of Jabber
fr.movim.eu
fr.movim.eu
I’m very lucky to still be close with so may of the truly amazing individuals that helped build Jabber, and over the years deeply honored by all those that spoke to me about how it inspired them.
While at the surface it may seem like all of our efforts had little impact on the big “messaging silos”, I am most proud of how much Jabber/XMPP has made it easy for anyone to build/host/extend a messaging and presence service. Twenty years ago the concepts and architectures were opaque, now they’re commonplace.
Happy Birthday!
I've tried to dig up some more historical background besides of the Slashdot announcement, but failed. Do you happen to have an old copy of the 1999 changelog / code base (maybe a backup of the CVS or SVN server), just out of historical interest. The archive.org history only goes back to around 2004.
Also it's really amazing how far you've been looking into the future back then...
Shows what I know. Way to stick with it. :)
I have many, many fond memories of hanging out on the old IRCs with the Jabber crew. 20 years! Geeze.
Not maybe in terms of user-base, but Conversations for android is really good, on iOS ChatSecure has some issues, but is usable. OTR encryption is being replaced by OMEMO, and that actually works. I can use and try out clients to my hearts content, with messages being synchronized between them.
That I can run my own server on prosody or ejabberd is really great as well.
And since we're back to "Hey can we you use Signal/Threema/Whatsapp/Viber ?" anyhow, it's actually relatively easy to slide in the next option:
"Hmmm, why don't we use ChatSecure ?"
Thanks everyone for making it happen.
Recently a spin-off of Conversations - Quicksy was introduced [0] [1] that makes the entry even easier as it offers phone number-based contact discovery. From my experience people are used to quick on-boardings and don't even want to think about things like "username" and looking for contacts.
[0]: https://quicksy.im/
[1]: https://play.google.com/store/apps/details?id=im.quicksy.cli...
It was the niche of niches but the Nokia n900's standard built in xmpp client could do voice/video/filetransfer with a gnome desktop's standard messaging infrastructure (telepathy or something?) in what, like 2010 ?
But, besides that, I get what you're saying about "normal" messengers and conversations nowadays.
So good. Thanks Mr. Gultsch[0] !
It's interesting to look back at the role Mr. Gultsch played in this XMPP revival. He correctly identified features missing or present in other messengers (e.g. offline files or good mobile connectivity), wrote appropriate specs (e.g. [0]) and made sure they went through XSF, implemented them in his client, helped implement it in other clients and implemented some of them in servers, or procured server developers to do so. Then he made sure that server administrators have an easy way to check compliance that ultimately led to SSLLabs-like online checker [1] that was a GSOC project that he also mentored.
Quicksy was conceived to test if the idea of phone number-based contact discovery would bring more people to XMPP. He's not just talking about stuff, he's actually implementing his ideas to check if they work!
This proactive approach is something that truly amazes me, especially when the default response of many people is cynicism and ranting that "the world is bad".
I don't want to downplay role of other people here but I'm 100% sure if it wasn't for Daniel's involvement we wouldn't be talking about XMPP today.
Gajim[0] has practically come back from the "dead". There is a huge difference, UI/UX-wise but not just, between pre and post 1.0, (1.1 at the time of writing, 1.2 coming).
There is also dino[1], a nice and simple desktop client, and converse.js[2], a fast-developing web-client.
Movim[3] and Salut-à-Toi[4] are also putting in a lot of work on the social network side.
[0]: https://gajim.org
[1]: https://dino.im
[3]: https://movim.eu
Edit: Added conversejs
- https://github.com/danielkraic/Pidgin-XEP-0136-plugin adds XEP-0136 (needs "mam_archive" on prosody)
- https://github.com/gkdr/carbons adds XEP-0280 (Carbons)
- https://github.com/Junker/purple-xmpp-http-upload adds XEP-363 (HTTP uploads)
- https://github.com/gkdr/lurch adds XEP-0384 (OMEMO)
- https://github.com/noonien-d/pidgin-xmpp-receipts XEP-0184 (message delivery receipts)
The real pain for Pidgin is the complete lack of XEP-313 due to Pidgin's aged logging system, and I would really like to see a working message sync for Pidgin :(
EDIT: https://github.com/CkNoSFeRaTU/pidgin apparently has had XEP-313 patched into Pidgin for years now. Combined with lurch and Carbons, message sync is working fine.
The delivery receipts issue is a decade old [0]! Libpurple is a mess to implement all the modern features, because it tries to support the baseline of so many different protocols.
And thanks for the link to salut-a-toi, I hadn't heard of it.
I was looking into iOS options to recommend to friends and ChatSecure seems rather dormant. https://monal.im however is actively developed and the author is very friendly and responsive.
I haven't received any complaints yet, and I've been hosting the XMPP server which most of us use (since about 2014).
https://xmpp.org/newsletter.html
My contact form: https://opkode.com/contact.html
https://www.infoq.com/presentations/A-P2P-Digital-Self-with-...
Android - thanks to Cobversations and Xabber, is really ok, PC is ok (Gajim), but we couldn't migrate due to the 3 iOS users in the team. Duplicate msg and all sorts of weird behaviour and errors made it a no go.
We ended up with the shitty MS Teams in the end; comes free with our office365, has working notifications across platforms and can do messaging and file transfers without issues.
I dream of a future where xmpp is an option.
People who have to gain from that: please fix the iOS side of things.
The difference becomes relevant when you have multiple or offline devices. XMPP may not deliver messages to some of the devices (for example, if message carbons are not supported by client). Matrix will not drop messages -- it may take some time, but eventually all devices will see all the messages.
There are still lots of fun challenges in many clients and servers if that is what you're looking for.
For the server mentioned here...
OpenFire = written in Java
Prosody = Lua
Ejabberd = Erlang
Here's a howto on setting it up: https://homebrewserver.club/configuring-a-modern-xmpp-server...
I also set up an ejabberd instance for a client years ago when Prosody was not a thing but it's more complicated to set up. They changed the config file from Erlang to YAML a while ago but it's still complex. But it's nice it has a web interface to create users and easier to not get bothered about it once it's up and running. Ejabberd can handle a massive number of clients.
Here's an older discussion about XMPP self hosting:
I am mostly on the admin/user side of things.
As I said in another thread, glad to see the community is still active.
DNS over HTTPS?
dat protocol
telehash v3
zot6