top | item 22185693

Dino: An open-source application for XMPP messaging

270 points| larma | 6 years ago |dino.im | reply

151 comments

order
[+] mekster|6 years ago|reply
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

[+] otabdeveloper4|6 years ago|reply
> - WYSIWYG formatting instead of automatically parsing symbols into bold texts etc

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
> 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.

[+] ajconway|6 years ago|reply
Matrix seems to be the future now.

The present is, however, Slack.

[+] Andrew_nenakhov|6 years ago|reply
(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.

[+] kitd|6 years ago|reply
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

[1] - https://delta.chat/en/

[+] rglullis|6 years ago|reply
Check Matrix/Synapse (server) and Riot (client)
[+] fiatjaf|6 years ago|reply
You basically listed all features ever invented. There's not a single "hosted" chat app that has all the features you want.
[+] daryltucker|6 years ago|reply
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.

[+] rakoo|6 years ago|reply
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.

[+] asnyder|6 years ago|reply
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?

What advantages does this have over Pidgin?

[+] larma|6 years ago|reply
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).

[+] markandrewj|6 years ago|reply
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.
[+] ppjet6|6 years ago|reply
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 :)
[+] xorcist|6 years ago|reply
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).

[+] drewcoo|6 years ago|reply
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.

[+] frenchyatwork|6 years ago|reply
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.

[+] als0|6 years ago|reply
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.
[+] BlueTemplar|6 years ago|reply
Last time I checked, Pidgin couldn't do cross *nix/Windows videoconferencing. So I picked Jitsi instead.
[+] Leace|6 years ago|reply
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.

One question though: is Windows version planned?

[+] travbrack|6 years ago|reply
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.
[+] sequoia|6 years ago|reply
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?

[+] boudin|6 years ago|reply
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.
[+] vertex-four|6 years ago|reply
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.
[+] nightbrawler|6 years ago|reply
Used to communicate with a bunch of friends via AIM, then Google Talk (XMPP), then Yahoo IM... we gave up after the last one shutdown.

What's the goto XMPP service these days?

[+] theamk|6 years ago|reply
Does this support offline messages and a history shared between devices? Lack of these features in XMPP was why my company moved to slack.
[+] dependenttypes|6 years ago|reply
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).
[+] paulryanrogers|6 years ago|reply
No mention of Psi? It was the most feature-rich XMPP client I had used. Though the UI felt quirky and less polished than Pidgin.
[+] rodolphoarruda|6 years ago|reply
What is "JID" and how can I get one?
[+] kseistrup|6 years ago|reply
“JID” is short for “Jabber ID” (jabber being the original name for the protocol), and is for XMPP what an email address is for SMTP.

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
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?
[+] upofadown|6 years ago|reply
Enable the "http_upload" module if you have not yet done so.
[+] seba_dos1|6 years ago|reply
I'm using it with self-hosted ejabberd and have no issues. It just works.
[+] jandrese|6 years ago|reply
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.

[+] paule89|6 years ago|reply
Glad they do it right from the beginning. "Encryption, encryption, encryption Insert Balmer developer meme here"

My question is what does matrix do better than xmpp. What does xmpp do better than matrix?

[+] SamWhited|6 years ago|reply
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).
[+] exabrial|6 years ago|reply
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.
[+] Zash|6 years ago|reply
Congratulations on the long-awaited first release!
[+] flatiron|6 years ago|reply
Does it do OTR?
[+] larma|6 years ago|reply
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.
[+] craftyguy|6 years ago|reply
The article says it supports OMEMO which, IMHO, is superior to OTR in many ways.
[+] komcinity|6 years ago|reply
Are mobile version in the pipeline?
[+] larma|6 years ago|reply
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.
[+] Andrew_nenakhov|6 years ago|reply
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.