this post was submitted on 07 Oct 2025
13 points (100.0% liked)

XMPP

507 readers
1 users here now

XMPP (aka Jabber) is the community-owned standard for real-time federated messaging.

For a quick start click here

JoinJabber.org support chat

JoinJabber.org admin support chat

XMPP.net Provider List

Also see JoinJabber.org FAQ

founded 2 years ago
MODERATORS
 

Hey all I'm working on writing an XMPP client and just doing some casual research. What would you say makes a client better than others? Cross platform? Native/web client?

I'm trying to decide if I focus on just a desktop client - which would reduce the scope, but it might be better to focus on a something more web based (I.e electron)

top 12 comments
sorted by: hot top controversial new old
[–] Tuuktuuk@piefed.europe.pub 1 points 2 days ago (1 children)

You probably have already seen this post, but as it's not mentioned under this post nor have you commented under that other post, I'll link it here: https://slrpnk.net/post/26927946

In other words:
There is an actual need for an app that:

  • uses XMPP
  • does group calls
  • allows grouping different chatrooms together akin to Discord's "servers" and Matrix's "spaces".
  • is compatible with pre-existing XMPP clients.

There's a mention of something called "XOWS" under that post, but also that it doesn't have most of the features required and is apparently just a program that looks good and does barely anything.

And of course, the four demands above are a huge task to implement in one client. But, apparently nobody has tried yet. Once you get the basics of that program up and running, you can give it its own little nook in Codeberg and get other people to join help you in the development. It would definitely be useful if you could take on the task!

(What language are you planning to use, BTW? :) )

[–] Matty_r@programming.dev 2 points 2 days ago

Its going to take me 12-18 months to work on it. I've taken a break from development at the moment but will be picking it up again in a couple weeks. I will absolutely be making it open source for sure.

The XMPP specification is massive, and its been taking a long time to decipher it and also trawling through debug logs to compare implementations.

Thanks for the info, I'll look at how I might add that stuff. Its super early in the development so I'll keep that stuff front of mind.

I'm writing it in Rust.

[–] lemonuri@infosec.pub 2 points 3 months ago (1 children)

If you were to make videocalls with more than two users possible, your client would be the first.

[–] nicocool84@sh.itjust.works 1 points 3 months ago

Movim, dino and libervia support group videocalls already.

[–] menel@snikket.de 2 points 3 months ago

@Matty_r@programming.dev

What makes an XMPP client better than others?

For me that's stability and features, secondary to the technical background. So electron based or based on the snikket-sdk / borogove or something totally native.. Idk.
Some people are missing a desktop client for Windows that can do Calls. I would think something bloated like electron based that can do that is preferable to nothing (or to the abandoned dino fork).

So go for whatever makes you feels good.

[–] Marzanna@scribe.disroot.org 1 points 3 months ago (1 children)

Convenience. And supporting modern standards (XEPs). It includes support for E2EE (OMEMO), history fetching and search, image and links preview. And stickers :)

[–] Matty_r@programming.dev 1 points 3 months ago (1 children)

History fetching would require support from the server side I assume? I've never used stickers myself before, is that a common feature request?

[–] Marzanna@scribe.disroot.org 1 points 3 months ago (1 children)

Yes, particularly https://xmpp.org/extensions/xep-0313.html

Movim has stickers, but I don't know any other clients with stickers.

[–] Chewie@slrpnk.net 1 points 2 months ago

monocles will use stickers, and even (kinda) can import signal ones - I imported the mastodon ones recently, and they worked. Not tried any others.

[–] Chewie@slrpnk.net 1 points 2 months ago

Stability, good user interface. While I am technical and enjoy playing with bleeding edge stuff, it is a struggle to get "normies" to join yet another chat system if they aren't as easy to use or reliable as signal/whatsapp. audio/video calls are also critical for most people I expect, if you want people to use it as a proper alternative.

My other half and I use monocles (used conversations originally, but had some slight annoyances). Both have a very nice interface, and are usually reliable. Now and again one of us doesn't receive the others' message, and I have no idea why, and it is it difficult to diagnose.

I only recently got my XMPP server to work through NAT properly for A/V calls, which took me ages to sort out, and the errors in the monocles interface were not helpful in diagnosing the problem.

Sometimes (rarely) monocles doesn't reconnect properly and one of us doesn't realise for a while, and then we get a flurry of messages once we reconnect. An easy way of telling when it's not connected would be good - the little icon monocles has isn't that obvious (esp now that android only allows white notification icons, which is really lame). Other chat systems seem to be more reliable in this regard.

I'm not sure if any of this helps, but best wishes with your project!

[–] laxryn@slrpnk.net 0 points 3 months ago (1 children)

I would suggest trying to contribute to

https://borogove.dev/

[–] Matty_r@programming.dev 1 points 3 months ago

Understandable. Though I'm less interested in learning another code base and wish to start from scratch to learn the protocol and the programming language.