Update: The Search For A Desktop XMPP Client 2020-03-29
Part of the reason this is a problem for me is because I want to turn my desktop off at night but I also want my XMPP client (and a few other applications) to remain connected and to continue accumulating text to display. My solution has been to keep a second [hopefully low-power] device running these applications all the time and just connect to that device via some remote access protocol when I have my desktop turned on. In the past that has been XP. I have tried Linux, but frankly the DE world in Linux is a fucking mess. So somewhat recently I started running a Windows 7 machine as my low-power box with 24/7 apps. This of course made it easy to simply run the most recent version of Gajim (which as far as I can tell is 1.1.3 right now) and which does not have the silent disconnection problem.
While some folks in this situation might just say "Well, problem solved" I personally wish I didn't have to run a Microsoft made operating system. Unfortunately, limitations of Linux desktop environments mean Linux is out. Additionally, the shitty policies of Apple make it unusable too. Finally, there are other operating systems in this world (perhaps a BSD, Haiku, or TempleOS) but they simply won't fit the bill either. Sadly, I think that garbage application development is what is keeping me on a Microsoft based OS... and that sucks. :-(
The Search For A Desktop XMPP Client 2020-02-11
XMPP is a communications protocol that I would like to use for chatting with friends (also known as instant messaging) and for participating in chat rooms (also known as Multi User Chats or MUCs). It makes sense to me that any such communications should be encrypted by default because there is simply no need for clear text communications anymore. When it comes to encryption there are three fairly common types in use. OTR (also known as Off-The-Record), OMEMO "Multi-End Message and Object Encryption", and PGP (also known as Pretty Good Privacy). Unfortunately PGP kind of requires people to manage their encryption keys, which they are simply not willing to do because they are lazy candy asses. Also unfortunately, OTR has some limitations when trying to use multiple clients (a phone and a desktop for example). This [for me] makes OMEMO the most attractive option for encryption, which as mentioned already... should be a default. Don't get me wrong, I WISH people would use PGP and manage their keys, I just don't think it is going to happen.
A while back, someone suggested to me that I try PSI+ as my XMPP client of choice. It runs on XP (yes, you heard me) and it has OMEMO support by just enabling the plugin in the included plugin manager. I have actually been using it for a while and been reasonably happy with it. Except for two things. One is that it constantly barfs up these error messages in MUC rooms:
[20:09:18] *** xxxxxxxx has been removed from the room due to technical problem
[20:10:08] *** xxxxxx has been removed from the room due to technical problem
[20:11:40] *** xxxx has been removed from the room due to technical problem
[20:13:24] *** xxx has been removed from the room due to technical problem
[20:13:45] *** xxxxxxxx has been removed from the room due to technical problem
[20:13:48] *** xxxxxx has been removed from the room due to technical problem
[20:14:21] *** xxxxx has been removed from the room due to technical problem
[20:17:31] *** xxxxx has been removed from the room due to technical problem
[20:17:41] *** xxxxxxxxxxxxx has been removed from the room due to technical problem
[20:18:45] *** xxxxxxxxx has been removed from the room due to technical problem
[20:23:56] *** xxxx has been removed from the room due to technical problem
[20:29:14] *** xxx has been removed from the room due to technical problem
[20:30:50] *** xxxx has been removed from the room due to technical problem
[20:30:55] *** xxxx has been removed from the room due to technical problem
[20:39:57] *** xxxxx has been removed from the room due to technical problem
[20:44:51] *** xxxxx has been removed from the room due to technical problem
For the most part I have been doing my best to ignore the messages, but it is a pain in the ass to scroll back through them all in the morning when I wake up, and it contributes to the second problem I have with PSI+... 100MB+ memory use. I mean, it's not like the application needs to store a whole lot of non-text data right? Anyways, recently I got irritated enough to start looking for an alternative. I started with the list at omemo.top and looked for XP or Linux applications that support OMEMO. Turns out, the list really isn't that long.
Application | Notes |
---|---|
UWPX (https://uwpx.org/) | Windows 10 only |
Salut-A-Toi (https://salut-a-toi.org/) | supposed to work on windows but has no windows installer |
sat-xmpp-wix (desktop interface) exists in jessie repos but not later | |
not interested in cli interface | |
alternative installs include flatpack or shitty dependencies to compile | |
Profanity (http://profanity.im/) | cli only |
PSI (http://psi-im.org/) | Win7 required |
Dino (https://github.com/dino/dino) | just plain sucks |
Miranda-NG (v) | Windows only, plugin setup for OpenSSL on XP is a mess |
Gajim (https://gajim.org/) | xp not supported (vista minimum) |
seems to work on linux... feck am I going back to wine? |
So [I think] the only one there that needs additional explanation is Dino. The first problem I had with it is that it has essentially zero options. There is almost nothing about it you can customize at all. If you know someone is running Dino, it looks exactly like what every other Dino user sees, and behaves exactly the same as every other Dino user's client. No way to customize notifications, or sounds, or status, or anything. Which brings me to my second beef with it, Dino provides no status at all. This screenshot shows what Dino looks like (and I mean exactly what it looks like for all Dino users):
See that list on the left side? In other chat clients that is a list of your coolguy buddies. In Dino it is a list of current conversations. In other chat clients that list shows who is available or sleeping or disconnected, or whatever. The term used to describe this is "presence"... it is actually one of the P's in XMPP ferchissake. The idea is that each user can provide a quick description of their current status so other users (their buddies) can know to what degree they are "paying attention". This is a feature that has been a core part of instant messaging dating back to the 90's. I don't care how much millennials think XMPP is the new SMTP, this is unacceptable.
So after all this, I may just dump my stupid XP box and try running all my decent applications under Wine on a Linux box. I wish people cared about application quality. :-(