I really like that xmpp is experiencing a sort of revival at the moment.
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:
Conversations reached a point where I can easily install it on my family member phones and they feel it's a "normal" messenger. This doesn't sound like a high bar to reach but surprisingly it didn't happen before (at least for XMPP).
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.
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.
While I understand the concerns and I appreciate all of what Conversations' author is doing for the community, other clients have also seen significant improvements lately.
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.
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.
I wish Pidgin would just disappear. It is absolutely unusable without all these plugins in a modern multi client world, and most users don't know they need them.
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.
I wish it would reborn, that I agree on. Disappear - no. Please no. I still need to connect to 3-4 systems, and the last thing I want is 3-4 messengers, especially if all of them are webapps. Pidgin is still the only thing standing between me and total messenger madness.
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.
I gave Jabber another chance a while ago... using both ChatSecure on the phone and Gajim on the computer (phone+computer logged in on both ends of the conversation). Unfortunately it was a complete failure. Message arrival was flakey. Some messages arrived only on the computer, others only on the phone. Conversations were sometimes one-sided, with one half on phone, other on computer. Not usable for chat. All around, I have to sadly say (after 15+ years of Jabber use) that this is what I'm used to with Jabber, and that I honestly cannot recommend it to friends :-/
I haven't seen anything like this in ages; what server and clients were you using? Between the history feature most things support and message carbons you should just get every message everywhere reliably (and that's what happens out of the box for me with most setups).
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.
Is there something you're looking for specifically? Just asking, because xmpp is currently my thing, and some of the interesting bits and tricks sometimes are a bit hidden, but there is lot's of stuff possible that I didn't think would be.
I love Prosody. It took five minutes to set up and it's been flawlessly running ever since. We use it for internal company talk, pasting code, sending files. If you don't need 1M+ clients it's great.
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:
This is great news. I'm finishing a messaging app for a non-profit and I decided to use xmpp (openfire) for the backend and it was really a time saver (the full stack is React Native (typescript), ruby (jruby + sinatra for api), openfire for messaging). I really like how easy is to extend and customize xmpp to suit your needs. Here's to another 20 years!
I can share screenshots for sure. I was thinking of opensourcing the project after it was done, but will need some time to clean it up a bit. I will for sure write a blog post about it when it's done (next few weeks)
I’d say that it feels like just yesterday, but it totally feels like decades ago :)
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.
Hey Jeremie! It's really awesome to have you here!
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...
Telehash has been waiting for the right time to get focus again. We've been very busy with our other work currently, but it is in no way forgotten. We're hoping to come back around to it soon. Message us on our Slack if you'd like to chat more.
I remember decades ago seeing it come out and thinking we already have irc and email and chat. Why throw in "with xml" and think it's going to be better.
We need to move away from Hipchat at work and really wanted to use xmpp, but was super let down by the iOS clients, it can't be used in production.
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.
I hate it, I find the UI clunky and slow. Most annoying is having to fake an Edge user agent to get incoming calls to work (using Chrome on Ubuntu) but having to use the normal UA at other times as it breaks my messaging history otherwise
From what I see, XMPP is "message delivery" while matrix is " eventually consistent global db with pubsub semantics"
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.
WikiSuite is full on XMPP. This page explains why XMPP and Openfire, Converse and Pàdé and not all the other options: http://wikisuite.org/Why-Openfire
55 comments
[ 2.9 ms ] story [ 118 ms ] threadNot 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] !
[0] https://gultsch.de/
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
[2]: https://conversejs.org
[3]: https://movim.eu
[4]: https://salut-a-toi.org
Edit: Added conversejs
And thanks for the link to salut-a-toi, I hadn't heard of it.
- 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.
[0] https://developer.pidgin.im/ticket/6940
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.
[0]: https://xmpp.org/extensions/xep-0363.html
[1]: https://compliance.conversations.im/
I haven't received any complaints yet, and I've been hosting the XMPP server which most of us use (since about 2014).
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.
As I said in another thread, glad to see the community is still active.
[0]: https://en.wikipedia.org/wiki/Matrix_(protocol)
dat protocol
telehash v3
zot6
DNS over HTTPS?
I am mostly on the admin/user side of things.
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:
https://news.ycombinator.com/item?id=8783794
There are still lots of fun challenges in many clients and servers if that is what you're looking for.
https://xmpp.org/newsletter.html
My contact form: https://opkode.com/contact.html
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 have many, many fond memories of hanging out on the old IRCs with the Jabber crew. 20 years! Geeze.
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. :)
http://telehash.org
https://www.infoq.com/presentations/A-P2P-Digital-Self-with-...
https://www.youtube.com/watch?v=uslYWTOtGpw
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.