crossposted from here: https://lemmy.eus/post/10482
I believe that XMPP is one of the best protocols for chat communications there is, and I stand up for it. However, the clients that there are, are not comfortable for most people out there used to apps like Telegram, Whatsapp or whatever.
One can defend current XMPP clients saying that quoting with "> " is the traditional way, or that swiping to quote a message is not worth developing; I have plenty more examples like this.
Well, if you think so, OK, use those clients for yourself, but become aware that many people won’t use XMPP for just this reason.
After saying all this, I want to tell that I am willing to develop a new, modern looking and comfortable client for XMPP. I think of a client for Android in first instance, but I would have no problem on going further.
However, I don’t know programming, so I’m searching programmers who would like to get involved in this.
Although I’m not programmer, I have experience developing software projects, from internationalization to documentation, including ideas about features, testing and all other work there can be.
Will you help me spreading the word? :)
Obligatory XKCD comic strip https://xkcd.com/927/
hahah, that’s good! Still, I’m not proposing a new protocol, just another way that will fit someones’ needs to use the same protocols, while others will keep using the same clients as now.
Incredibly relevant lol
Without programming skills that will be difficult… and I think contributing to existing projects is probably more worthwhile than starting yet another client.
At least for the desktop PC the new UI for Gajim will be really nice and should arrive sometimes soon.
As for Android, I don’t see much wrong with Conversations / Blabber.im.
I think some of the features people are asking for are a bit beyond mere client implementation and rather need an agreement on how to implement that first. For example message reactions and stickers exists in Movim, but no other modern client implements these, so they tend to be invisible to a large part of the users of a channel.
Yeah, I first (months ago) tried to contribute to some such projects as Blabber, but they didn’t go into implementing my proposal, whether because they didn’t want to focus their project in that way, whether because it was actually difficult implementing my proposals due to the current code-structure their projects have
I didn’t know about the new UI for Gajim, and I really like it, thanks for telling about it!
Conversations and all its forks are good in fact, but they lack a modern/comfortable user interface and functionalities:
- how to quote messages
- jumping to quoted messages when taping the quotes
- treating quotes as unmodifiable elements (currently user can change the quote’s content)
- render/format the quote while writing message (instead of showing "> ")
- emoji access
- unique emoji pack, not system’s
- when searching for messages, showing the results in chat-context
- let adding more accounts (only for Blabber.im)
- the way multiple accounts are managed (currently all chats from different accounts are put together)
- an introductory explanation about what is XMPP, comparing it to email
- giving as secondary option creating an account on their project server and as first using any instance (currently the order is inverse)
- playing audio recordings having the device stuck to the ear (currently this is not possible)
- having message option pop-up dialogs on short tap, instead of long press
- navigating into chat multimedia jumping from archive to archive, without needing to go back and forward
- ability to select and copy text, not whole message, from a message
- some internationalization problems
- …
I believe that some clients have implemented them, and I don’t know them. I didn’t use Movim until now because it doesn’t work to me well (I can’t still add a node of my choice).
The reason I thought about creating a client from scratch is to avoid problems that appear when you use another’s base: they limit what can you do.
I agree with that. The diversity of projects and clients is good, but if people are “afraid” of and don’t come to use open-source projects, it’s also because there are too many of them. Instead of creating something new to solve problems, it would be better to fix the existing ones. I’m thinking for example of a new UI for Conversations, which works very well, but is not aesthetically appealing.
Yeah, I thought that the people who renewed K9 Mail’s interface could make that too for Conversations, that would be great!
Im glad they are working on it. It looks great.
At least Conversations on android kinda looks like WA and its easy to use
As it stands, https://snikket.org could surely use your help!
Oh, do you think that they will listen to my proposals there? :)
We’ll listen to proposals, but can’t guarantee we’ll implement them. We try not to deviate from upstream projects more than we need to. The changes we do make we try to base on solid evidence (usability testing, for example) and whether they fit with our goals (personal messaging with open standards).
Apart from anything else, resources are limited. There is a huge long list of things I’d like to see implemented in Snikket before we consider things like having a “unique emoji pack” for example.
Whatever you do, I strongly suggest you do try to work with existing projects whenever possible (I gather you did already reach out to some). The reason I say this is that starting from scratch is not easy. Even if you build on an existing codebase there is a lot of infrastructure work and community building and such that you’ll also need to tackle. It can take years of effort to establish and grow a new project to something resembling your ambitious vision.
Whatever you do, good luck :)
Anyway, I see that it only can be used for their servers, and not a self one.
You can self host a snikket server.
not a self one
Actually Snikket is fully open-source and self-hostable, you can see the setup instructions in this guide.
The reason we don’t generally recommend using the Snikket apps with arbitrary XMPP servers, because part of the point of the project is making XMPP more consistent and predictable for users - i.e. you should be able to be certain that once you are set up with Snikket, all the modern features people expect will be available and work reliably.
If you use a random public server, chances are it may not support calls, or it may not support stuff required for iOS push notifications, etc. If you self-host, you need to spend time perfecting your server’s configuration, setting up the easy on-boarding flow, setting up a TURN server for calls, and so on. The Snikket server package is simply a standard XMPP server preconfigured with all these things tested and working out of the box, and a couple of other components, that’s all.
Because it’s just XMPP, you can of course use the Snikket apps with non-Snikket servers, or connect to Snikket servers with non-Snikket clients, only your mileage may vary. Since we can’t test every server and every client, but we want people to experience the very best of XMPP, we just don’t advocate this for most people.
It can, but requires a Prosody XMPP server setup quite similar to Snikket (which is Prosody internally).
But their forks of Conversations and Siskin are only minor changes sticking otherwise to upstream, so I highly doubt they with change much based on suggestions by users.
i would say most compelete clients are gajim and conversations
Most complete yes, but not very BigTech-like looking. I have nothing against them, in fact I do use them, but for many other people they don’t fit.
Yes it’s because they do not have good people for UX or UI only. You can donate to them and tell them to hire some UX devs, like what people did with godot game engine
Just out of curiosity, since Telegram’s client is open source, couldn’t someone in theory fork it and then modify it so that it’s actually using XMPP but with a practically identical UI? I understand the changes would not be trivial, as you’d probably have to replace/rewrite a ton of code, but maybe there’s something in there worth using?
Aside from this, you have a few projects already to look at. Android has Conversations, which is so good that Android doesn’t actually need another client. If something truly bugs you about Conversations you can fork it, as many have done, or maybe a change you propose could be accepted upstream.
On the PC there is Dino, which so far is my favorite. It is still missing features and needs improvement, but what they’ve done so far is very good. You might want to contribute to that first before writing your own client. It would be best if Dino were ported to other OS’s, but somebody somewhere is working on that I think.
I also noticed a brand new project called Kaidan which might be the sort of thing you’re after, but it’s in such early stages that it’s not really usable.
Out of all platforms, it seems Windows users are hurt the most badly by really only having Gajim available. Gajim is usable and has many features, but in my opinion it’s just not good enough.
You could also check out Movim and see if that works for you. It’s probably the best web interface you can get for XMPP.
There is also UWXP for Windows10/11. Looks pretty nice and lots of development recently.
Is it working? I recommended a Windows friend of mine to check it out, but he said he couldn’t get it to work
Hmm, I have heared so and recently I recommended it to a person online and the response was positive (as in they installed it and it worked apparently).
I don’t use Windows myself so no idea…
It’s generally bad form to say you want a product to exist, but just need people to build it for you. However, this sounds like an awesome project to kickstart your software engineering journey! It’s fun to learn when you have a goal in mind. Jump in and start building.
I know, but what can I do if I have needs and ideas as user, but cannot currently develop them? Maybe after some time learning (I have not much time for that) I could, but it’s always good asking for help!
For me, another problem with the XMPP protocol is the lack of modern chat functions such as editing sent messages, but modern features would probably not be able bring back users.
In a perfect world, facebook and google etc would never have moved away from XMPP to try and poach users with their home baked protocols. Unfortunately, I don’t see how XMPP can return when people simply choose to lose half their friendlist rather than change to an XMPP client when these giants isolated their users. I mean, even in the case of a superior client (heck, facebook messenger is still one of the most used chats and it’s also one of the least feature-rich and plenty-a-buggy electron that seems to insist freezing/not displaying messages).
Many XMPP clients do support editing send messages, but I agree, simply adding some more convenience features will not bring back users to XMPP.
Many XMPP clients do support editing send messages
Oh! Which ones?
All the ones I use personally support this: Conversations, Dino, and profanity. I’d be surprised if Gajim didn’t, too.
The caveat seems to be that you can only edit the last message you sent.
In Gajim you need to press ctrl+up to edit the last message.
Its true that the XEP says only the last message, but ConverseJS for example also allows older messages to be edited.
deleted by creator
There is, at least for Linux, the Dino client. It’s not that bad, but personally I’m in love with the classic design Gajim provides.
There’s also Kaidan, which is really cute, and omemo is on its way. Though apparently only modern versions of omemo will be able to talk to to it. This is the desktop app I’ll use, once omemo lands on it, :)
For now they seem to stick to their idea to not support MUC group chats and only the MIX standard. I hope they will drop that misguided idea soon, but if not it isn’t really usable for anything other than 1:1 chats.
stick to their idea to not support MUC group chats
Yeah, that’s stupid if you ask me. MUC should have been the first thing they implemented, because for almost everyone it’s the main thing that they use XMPP for. I can give up OMEMO and a lot of other things if only MUC works, since that is more vital. As long as Kaidan doesn’t support group chats, I will never use Kaidan.
The thing is though, if they can really get MIX working and off the ground, I will respect that and I’ll even use it, but getting everyone to switch over to MIX seems like an impossible task. Good luck getting all the servers and clients out there to support it. (Could take years, but it’s possible.)
Probably the best thing a client wishing to support MIX can do is to support both MIX and MUC. It probably would even help MIX to succeed more if people didn’t have to choose one or the other.
Is there an open issue around that?
Thanks, though it doesn’t seem a bad idea, to provide MIX, the thing is if other xmpp clients also support/adopt MIX, and also that it’s still experimental, and then migrating from MUC to MIX might be too much for some, but who knows… MIX seems still at very early stages, :( Hopefully someone offers to help Kaidan devs with MUC support. That particular dev indicating he would advocate for MIX, left the door open for someone else to work on MUC (it was just his preference to focus on MIX instead)… Kaidan really would have been my choice on the desktop, but now there are two major things to wait for, omemo support (ant to a level such that other clients support the same version), and MUC support, or MIX support combined with other clients also supporting MIX and contacts willing to move to new MIX groups.
Oh well, we’ll see. It still looks cute though…
This looks cute. Ill try it
Felt cute, might delete later
Delta chat took the Signal open source and hooked up the back end to SMTP. https://delta.chat/en/
What about taking the open source Telegram client and hooking up XMPP protocol to it.
Apparently the Telegram client’s code is a complete mess and no one has dared to touch it at that level other then the official developers. At least that is what I was told by people who looked into doing exactly what you suggested.
Was what Delta Chat used in the beginning for mobile platforms and they abandoned it because it was a mess IIRC.
Wait so Delta Chat’s Android app is a fork of Signal’s?
It is based on Signal Android client code for the interface only.
They often sync some tools as the picture editor, etc.
Hmm I guess that explains the app is so good, lol
Which email do you use with Delta Chat?
Send me a message to echedeylr[at]hispanilandia[dot]net
It’s actually been some time since I actively used it, but I like to follow its development. A lot of people don’t realize this, but it can be a convenient e-mail client too.