Hacker News new | past | comments | ask | show | jobs | submit login

XMPP. The entire chat landscape is a damn travesty right now. First Facebook disappeared behind it’s own walls, then google... I really miss the days where I could use one client to chat with all my contacts. I honestly think Im in contact with less people now because everyone dropped support for open protocols.



Xmpp is a disaster, I have otp enabled and all too often messages are delivered to the wrong machine, but encrypted with a different key, so it is pure garbage and lost forever.

That is on the off chance that the message is actually delivered.

Trying to get omemo up and running, but some clients (pidgin) have next to no support for it, while others only support it, and it seems it is only supported on ejabberd as of very recently, with documentation on how to enable it consisting of a comment line in a config file.

I am not inclined to positively review a chat protocol that frequently fails to deliver messages.


You mean OTR? 1. OTR is some old hack and not really usable 2. OTR has nothing to do with XMPP at all

OMEMO only really needs XEP-0163, the thing which also gives you avatars and such, supported nearly anywhere. There is some problem that you can't access the key of someone who did not add you yet to the contact list on older implementations [1] but that does not make it unusable.

> I am not inclined to positively review a chat protocol that frequently fails to deliver messages.

XMPP delivers, if you encrypt them with the wrong key it can do nothing about.

[1] https://gultsch.de/omemo_by_default.html


While I agree with your pain points, I would not say XMPP that the protocol isn't any good.

- Pidgin: Just take a look at their bug tracker. You will not have any problems finding tickets requesting essential features which are 6 years and older (e.g. Message Archive Management). So unless the Pidgin devs get some done I would not use their client (Gajim is a much better alternative, especially since the 1.0 release last year).

- ejabberd OMEMO: Actually, I don't know what the ejabberd devs were thinking when they changed their default config to disable OMEMO. They told something about having a hard time tracking down issues with OMEMO enabled. Well, kinda makes sense from a developers perspective, but given the fact that OMEMO is end-to-end encryption, I wonder what they were expecting. Nevertheless, disabling OMEMO by default on the server is just a stupid idea.

- message delivery: I had problems with that too, but ultimately it was just a problem with some ejabberd setting (I think it was mod_stream_mgmt: resend_on_timeout: if_offline) [1].

[1] https://docs.ejabberd.im/admin/configuration/#mod-stream-mgm...


From the user perspective, Pidgin is pretty much unmaintained at this point, so it's like complaining that old software isn't modern. Also, ejabberd doesn't disable OMEMO by default for quite a long time already.


And yet Pidgin is the go to client for people, especially on Windows.

When I got a MacOS machine up and running, I installed Adium (top result still if you go around looking for a MacOS XMPP client), also a dead project.

On Android, the top XMPP client does not support OMEMO and the new hotness XMPP client does not support OTP!

I have a legacy client on Android and Pidgin half hacked together with random plugins on my Windows boxes and I forget what in the world MacOS is running because I have it turned off half the time because the more clients I have connected the more problems I have and holy crap this is why Slack is a great product.

XMPP has had 20 years to solve these problems, and part of their problems of course is that the base protocol wasn't designed to solve these issues out of the box.

But, from the end user's perspective, Telegram, Signal, What's App, Slack, Discord, and Teams, all "just work"!


Actually, they still do (or do again?). Here comes the relevant part from their example config [1]:

    force_node_config:
      ## Change from "whitelist" to "open" to enable OMEMO support
      ## See https://github.com/processone/ejabberd/issues/2425
      "eu.siacs.conversations.axolotl.*":
        access_model: whitelist
[1] https://github.com/processone/ejabberd/blob/master/ejabberd....


Oh, my bad - it was the default config in Debian package that got changed. I assumed it originated from upstream, but I was wrong and it's actually patched by Debian maintainer:

http://deb.debian.org/debian/pool/main/e/ejabberd/ejabberd_1... (debian/patches/ejabberd.yml.example.diff)


A large part about why there is a low availability of XMPP clients and why clients like Pidgin don't implement features for years is because of how verbose and, as OP said, much of a disaster it is.


> Xmpp is a disaster, I have otp enabled and all too often messages are delivered to the wrong machine, but encrypted with a different key, so it is pure garbage and lost forever.

What part of XMPP is doing that? I think you're talking about a bug in an implementation of XMPP not the protocol itself. Its like saying you go to an address and get the wrong website. Hard to blame an issue like that on HTTP rather than a server or a client that implements it.


> What part of XMPP is doing that? I think you're talking about a bug in an implementation of XMPP not the protocol itself. Its like saying you go to an address and get the wrong website. Hard to blame an issue like that on HTTP rather than a server or a client that implements it.

XMPP relies on clients having the Carbon Copy plugin installed.

Some clients have it installed, some clients do not.

If I have 3 devices connected to XMPP, which one gets a message sent to me is rather hard to determine. Often times it is the one I have most recently sent a message from, but other times it is not, and I will not get messages delivered to any of my other devices until I physically go home and log out of my desktop.


> I think you're talking about a bug in an implementation of XMPP not the protocol itself.

Is a protocol worth anything without an implementation?

Is a protocol good even if it only has poor implementations?


I've got no such issues, so those questions seem rhetorical to me.


I have prosody running on my Debian stable server, conversations on mobile/android and gajim on PC (Debian stable). Omemo works perfectly, no missed messages, no encryption problems. It just works. Different story a few years ago. The XMPP ecosystem improved a lot.


I'm hoping Matrix (matrix.org) will have more success.


Try it with no login in the browser, and any platform really, signup on their complimentary server takes literally 3 seconds.


Yeah, I've seen folks blog about how it's unfair that AWS profits from open-source software... WhatsApp took XMPP and walked away with $19bn without it helping the XMPP/Jabber ecosystem at all.


Wouldn’t that qualify as more of a technology than a product?


A new player has entered the game! https://www.coi-dev.org/


I love XMPP. I self-host a prosody server for a group of gopher and public access Linux server users. It's a niche market!


> I honestly think Im in contact with less people now because everyone dropped support for open protocols.

Same.

Well, it's not the only reason I'm in contact with less people now, but it's a major component.


> First Facebook disappeared behind it’s own walls, then google...

Google stopped XMPP compatibility before FB messenger did. I believe the latter still had an interface to the XMPP world up until 2015.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: