It's sad that we don't have a very good self hosted chat solution.
Last time I checked around, XMPP didn't have a client that I could recommend to business clients that looked easy/simple to use, has no gotchas and looks native.
Currently I use Mattermost, which does basic things fine and things are stable but the formatting is just getting in the way making texts unnecessary big and bold when people never intend to (there is a per user setting to disable formatting but I can't tell everyone to turn it off), and reply and quoting interface is just wrong and I never use it, so most of the other people use another vendor service which is easy and does things in a saner way.
And video/voice is apparently not in their integrated goal and is thrown to some external paid service, so pretty much only simple text and file uploads.
I'm not looking for anything too special in my opinion but I find it there's no self hosted solution that has,
- Simple interface so I don't have to lecture people 10 minutes on how to use it.
- WYSIWYG formatting instead of automatically parsing symbols into bold texts etc
- File uploads
- Decent reply/quote feature
- Multiple people voice call
- Optionally multiple people video calls
- Native clients for desktop and clients and web Interface
> WYSIWYG formatting instead of automatically parsing symbols into bold texts etc
Assuming you know the minimum features non-technical users want/need in such a tool is going to exclude a lot of options that might otherwise be viable.
WYSIWYG is probably the canonical example of this: non-technical users DON'T need WYSIWYG.
Slack has been the (non-self-hosted) solution du jour for what you describe. My company use Slack and we have thousands of non-technical staff on it: complaints were rife when they recently introduced WYSIWYG and we continue to get requests for help in disabling it.
For the future, I think Riot is your best bet. Matrix may suffer the same fate of XMPP, but if it escapes that fate, it'll be because of Riot.
It doesn't tick all your boxes yet, but RiotX is a hopeful project in terms of native, and the integrations it supports make a lot of features easy to add in some usable capacity.
(self-promoting here) We're building Xabber in exactly this direction. Currently, of your list wee lack multiple people voice/video calls, and also a native client for desktop.
Web version is rather mature already, with android / iOS clients coming to shape fast and will soon be released. We'll likely make an Electron-based desktop version, though of course it far from ideal
However, doing all this great stuff we had to replace many common XMPP extensions, like multi-user chat, which is utter garbage. The replacement works like ... well, Telegram groups, has nice fallback capabilities to legacy clients and is generally very well working.
Someone recently pointed me at DeltaChat [1]. 'Chat' over SMTP/IMAP. Apart from voice/video, it ticks all of the above (plus other features such as threading and e2e security), with the fallback of being able to use a regular email client in an emergency
Dino is slim and has some decent features, but Gajim is the client you want to be using today. Gajim has (although mostly broken) Voice and Video support as well as (working) plugin support and various plugins that you may expect.
Dino really fell short for me in my needs for XMPP client, though I'm happy to see federated systems and their clients being promoted.
Specifically Dino has issues with OMEMO support with Conversations, while Gajim does not see these issues. This means I can use Gajim on my computer and Conversations on my phone without issues.
While I've been a believer of XMPP and still believes it has a place, I have to admit that it doesn't have the appeal it once has. Now the IM protocol du jour is Matrix, which might or might not know the same fate; who knows. And another one might come later, and there are already others today that exist and are widely used.
I think it's high time we had a concerted effort to have one great UI (probably per platform), and allow all protocol enthusiasts implement the specifics of their own choosing. It's fair to say that at this point the requirements for a "modern" UI are known, and while not all protocols may be up to the task, a very high percentage can be implemented in the most famous ones.
Looks like a nice project, but why wouldn't one use http://pidgin.im, which also supports XMPP and as far as I know is pretty solid, works well, and is also cross-platform?
Last time I checked, Pidgin lacked proper support for multi device by not supporting Message Carbons (XEP-0280, required to receive messages on multiple devices when both are online at the same time) and Message Archive Management (XEP-0313, required to catch up with messages received while only another device was online).
There is probably also other examples of XMPP features that Pidgin does not and likely will never support, due to its nature of being multi-protocol (basically limiting features to the smallest common feature set).
If you are interested in Pidgin, the lead developer has a Twitch stream (rw_grim). He is always open to ideas, and onboarding new contributors. There is a new version of Pidgin being written that significantly improves the user, and developer, experience. If you check out the stream, you could get some swag too (I have some Pidgin stickers). That said, I am also interested in Dino, and supporting other projects. It's unfortunate that chat has become more proprietary, instead of more open.
As I understand it, Pidgin's XMPP feature hasn't been maintained for some time now. It doesn't do many core features well or at all. If you like it and it suits you, great :)
Pidgin can be very hit-and-miss with which parts of the protocol it implements. It is also a multi protocol client so a lot of the functionality is presented in a protocol agnostic way, which may not be what you're looking for if you're using it for XMPP alone.
For a desktop XMPP client, check out Gajim. It's stable and implements all that a user would expect (server side history, omemo).
I had the same question. This seemed to be their answer:
> A number of clients already exist for the XMPP protocol, however Dino sets a different focus. Existing clients target tech-savvy power users. The XMPP ecosystem lacks a client that is enjoyable to use while providing the features people expect from a modern chat application.
I'm not super familiar with the details, but I think Pidgin has little/no support for encryption (OMEMO & OpenPGP). This probably has support for other XMPP features that Pidgin doesn't as well.
What I don't know is how this is different than gajim.
The enormous selection of Pidgin plugins (e.g. Discord, Office365, IRC, etc) also makes it really hard for me to give it up for a prettier program like Dino. I hope Dino supports at least OTR encryption.
I'm using Dino daily and it works well and looks modern. It still has minor issues here and there but it's finally a desktop client I can recommend to my non-technical friends.
Glad there's a modern alternative to big tech's walled chat gardens. It's tragic that this protocol has so much potential but the "last mile" of getting it out to users has prevented success since FB and Google ditched it.
Is this a client or is Dino also running a chat server/issuing accounts etc? I used to use pidgin/adium/finch back when google & facebook supported XMPP, but I'm not sure what I'd do with a client now.
Crucially: If I have Dino, can I chat with any of my friends? Or do I need to persuade them to install Dino & create an account somewhere first?
Dino is a xmpp client, so no server. You have to create an account on a xmpp server to use it, which you can do on a public server or you can install your own server otherwise.
Your friends needs a xmpp account somewhere (not required to be on the same domain) and can use any xmpp client to chat with you.
There’s a good many public XMPP servers, or you could run one for yourself and your friends (I recommend Prosody, it works pretty much out of the box for that use case). If they have any XMPP client on any server, you can talk to them.
I tried Dino for a bit but returned to gajim straight away. Apparently Dino auto-accepts all omemo keys by default and while there is a way to globally disable it all of your current contacts will keep it on by default and I really did not feel like going through every single contact that I have and disabling it (as well as the keys that it accepted in the way).
Slightly off topic but I've never had success with self hosted prosody and the "conversations" app being able to share photos/memes as one would in WhatsApp or telegram. This is the one thing keeping me from being able to sell my non-tech friends on it, has anyone had any luck in this regard?
Does this finally get away from the problem that XMPP had in the old days, where the usage model was tightly bound to the domain model, so each domain would have one and only one XMPP server (plus possibly a fallback) and if you aren't the domain administrator then you can pound sand?
It was pretty much impossible to run your own server for fun unless you registered a domain or two because of the serious business logic baked into the design of the protocol.
Ages ago when I was working on a replacement for IRC for an organization that needed to decentralize its servers because they had a lot of users spread across the world behind iffy internet uplinks but all on the same domain this was a huge headache. The old IRC system worked really well for them, but some of the higher ups were upset because it wasn't "enterprise quality" and thus shouldn't be on their network.
Matrix works well as a big distributed graph protocol, not so much for chat. XMPP works well for chat or anything where you need efficient near-realtime streams (eg. stock trading and tickers sometimes use XMPP, some accessibility caption systems, etc.). Also XMPP is better standardized (by virtue of having a long-term non-profit standards body, Matrix is sort of trying to do that, but also trying to figure out how to monetize it which is never a good recipe for long term success when your spec becomes part of your product).
Man, I need an XMPP client that does what slack does: group chats with the chat topics organized on the left side along with message history and status notifications.
No. OTR was not considered due to its lack of multi device support. OTRv4 now supports multi device, so it could be an additional option once it becomes standardized for XMPP. We are also monitoring development around MLS.
We are aiming for support for the Librem 5 and other smartphones that use a more GNU/Linux-ish environment. For Android there is conversations.im with a similar feature set.
Congrats on release, but the title is incorrect, word 'decentralized' should be removed.
XMPP, like email, is not a 'decentralized' protocol, but a federated one. If you and your chat partners use the same server, it would be as centralized as WhatsApp or Signal.
[+] [-] mekster|6 years ago|reply
Last time I checked around, XMPP didn't have a client that I could recommend to business clients that looked easy/simple to use, has no gotchas and looks native.
Currently I use Mattermost, which does basic things fine and things are stable but the formatting is just getting in the way making texts unnecessary big and bold when people never intend to (there is a per user setting to disable formatting but I can't tell everyone to turn it off), and reply and quoting interface is just wrong and I never use it, so most of the other people use another vendor service which is easy and does things in a saner way.
And video/voice is apparently not in their integrated goal and is thrown to some external paid service, so pretty much only simple text and file uploads.
I'm not looking for anything too special in my opinion but I find it there's no self hosted solution that has,
- Simple interface so I don't have to lecture people 10 minutes on how to use it.
- WYSIWYG formatting instead of automatically parsing symbols into bold texts etc
- File uploads
- Decent reply/quote feature
- Multiple people voice call
- Optionally multiple people video calls
- Native clients for desktop and clients and web Interface
[+] [-] otabdeveloper4|6 years ago|reply
WhatsApp is the most popular chat app among non-technical users in the world, and it explicitly uses symbols instead of WYSIWIG for formatting.
I'm pretty sure you're making up these requirements without actually researching your target audience.
[+] [-] lucideer|6 years ago|reply
Assuming you know the minimum features non-technical users want/need in such a tool is going to exclude a lot of options that might otherwise be viable.
WYSIWYG is probably the canonical example of this: non-technical users DON'T need WYSIWYG.
Slack has been the (non-self-hosted) solution du jour for what you describe. My company use Slack and we have thousands of non-technical staff on it: complaints were rife when they recently introduced WYSIWYG and we continue to get requests for help in disabling it.
For the future, I think Riot is your best bet. Matrix may suffer the same fate of XMPP, but if it escapes that fate, it'll be because of Riot.
It doesn't tick all your boxes yet, but RiotX is a hopeful project in terms of native, and the integrations it supports make a lot of features easy to add in some usable capacity.
[+] [-] ajconway|6 years ago|reply
The present is, however, Slack.
[+] [-] Andrew_nenakhov|6 years ago|reply
Web version is rather mature already, with android / iOS clients coming to shape fast and will soon be released. We'll likely make an Electron-based desktop version, though of course it far from ideal
However, doing all this great stuff we had to replace many common XMPP extensions, like multi-user chat, which is utter garbage. The replacement works like ... well, Telegram groups, has nice fallback capabilities to legacy clients and is generally very well working.
[+] [-] kitd|6 years ago|reply
[1] - https://delta.chat/en/
[+] [-] rglullis|6 years ago|reply
[+] [-] edhelas|6 years ago|reply
[+] [-] fiatjaf|6 years ago|reply
[+] [-] daryltucker|6 years ago|reply
Dino really fell short for me in my needs for XMPP client, though I'm happy to see federated systems and their clients being promoted.
Specifically Dino has issues with OMEMO support with Conversations, while Gajim does not see these issues. This means I can use Gajim on my computer and Conversations on my phone without issues.
[+] [-] rakoo|6 years ago|reply
I think it's high time we had a concerted effort to have one great UI (probably per platform), and allow all protocol enthusiasts implement the specifics of their own choosing. It's fair to say that at this point the requirements for a "modern" UI are known, and while not all protocols may be up to the task, a very high percentage can be implemented in the most famous ones.
[+] [-] asnyder|6 years ago|reply
What advantages does this have over Pidgin?
[+] [-] larma|6 years ago|reply
There is probably also other examples of XMPP features that Pidgin does not and likely will never support, due to its nature of being multi-protocol (basically limiting features to the smallest common feature set).
[+] [-] markandrewj|6 years ago|reply
[+] [-] ppjet6|6 years ago|reply
[+] [-] xorcist|6 years ago|reply
For a desktop XMPP client, check out Gajim. It's stable and implements all that a user would expect (server side history, omemo).
[+] [-] drewcoo|6 years ago|reply
> A number of clients already exist for the XMPP protocol, however Dino sets a different focus. Existing clients target tech-savvy power users. The XMPP ecosystem lacks a client that is enjoyable to use while providing the features people expect from a modern chat application.
[+] [-] craftyguy|6 years ago|reply
0. https://developer.pidgin.im/ticket/16801
[+] [-] frenchyatwork|6 years ago|reply
What I don't know is how this is different than gajim.
[+] [-] als0|6 years ago|reply
[+] [-] BlueTemplar|6 years ago|reply
[+] [-] Leace|6 years ago|reply
One question though: is Windows version planned?
[+] [-] travbrack|6 years ago|reply
[+] [-] sequoia|6 years ago|reply
Crucially: If I have Dino, can I chat with any of my friends? Or do I need to persuade them to install Dino & create an account somewhere first?
[+] [-] boudin|6 years ago|reply
[+] [-] vertex-four|6 years ago|reply
[+] [-] nightbrawler|6 years ago|reply
What's the goto XMPP service these days?
[+] [-] ppjet6|6 years ago|reply
EDIT: I might have misunderstood "service" thinking you wanted to self-host.
[+] [-] upofadown|6 years ago|reply
* https://list.jabber.at/
[+] [-] Boulth|6 years ago|reply
[+] [-] theamk|6 years ago|reply
[+] [-] dependenttypes|6 years ago|reply
[+] [-] paulryanrogers|6 years ago|reply
[+] [-] rodolphoarruda|6 years ago|reply
[+] [-] kseistrup|6 years ago|reply
JIDs look like email addresses.
Unless you want to run your own XMPP server, you can register a JID at one of the public XMPP servers: https://list.jabber.at/
[+] [-] drcross|6 years ago|reply
[+] [-] upofadown|6 years ago|reply
[+] [-] seba_dos1|6 years ago|reply
[+] [-] jandrese|6 years ago|reply
It was pretty much impossible to run your own server for fun unless you registered a domain or two because of the serious business logic baked into the design of the protocol.
Ages ago when I was working on a replacement for IRC for an organization that needed to decentralize its servers because they had a lot of users spread across the world behind iffy internet uplinks but all on the same domain this was a huge headache. The old IRC system worked really well for them, but some of the higher ups were upset because it wasn't "enterprise quality" and thus shouldn't be on their network.
[+] [-] paule89|6 years ago|reply
My question is what does matrix do better than xmpp. What does xmpp do better than matrix?
[+] [-] SamWhited|6 years ago|reply
[+] [-] exabrial|6 years ago|reply
[+] [-] Zash|6 years ago|reply
[+] [-] flatiron|6 years ago|reply
[+] [-] larma|6 years ago|reply
[+] [-] craftyguy|6 years ago|reply
[+] [-] komcinity|6 years ago|reply
[+] [-] rahimnathwani|6 years ago|reply
[+] [-] larma|6 years ago|reply
[+] [-] Andrew_nenakhov|6 years ago|reply
XMPP, like email, is not a 'decentralized' protocol, but a federated one. If you and your chat partners use the same server, it would be as centralized as WhatsApp or Signal.