codema.in
Tue 1 Oct 2024 1:30PM

Instant messaging apps / protocols

PP Pirate Praveen Public Seen by 25

I think we will need to work in parallel to get good experience for Signal, Matrix and XMPP. Picking one protocol / app won't be ideal. So people who prefer each app / protocol can get missing features implemented for their favorite protocol / app.

PP

Pirate Praveen Thu 3 Oct 2024 10:23AM

@Badri Sunderarajan the problem with libpurple is, its current version is not getting the attention it needs and we don't know how long it will take for the next version to be released. So I don't think it is a good idea to pick libpurple right now. Dino is very actively maintained and works well right now (except for some missing features).

BS

Badri Sunderarajan Thu 3 Oct 2024 10:58AM

@Pirate Praveen there is also the option, as you suggested, of switching to libdino for XMPP support in Chatty. (In that case too it makes sense to contribute to Dino. But with a focus on making libdino more stable so it can be used in other apps)

PP

Pirate Praveen Thu 3 Oct 2024 11:09AM

@Badri Sunderarajan but new chatty xmpp maintainer did not choose that option and seem to be continuing with libpurple.

BS

Badri Sunderarajan Thu 3 Oct 2024 11:13AM

@Pirate Praveen ohh, I missed that part. Let's see how that progresses then 🤞🏼

PP

Poll Created Thu 3 Oct 2024 10:47AM

Pick one XMPP app to support Closed Thu 10 Oct 2024 11:00AM

Outcome
by Pirate Praveen Sat 12 Oct 2024 8:47PM

Dino seems to be the favorite for 64% of people who participated (11 people voted, ie 33% of the current group strength).

What is this poll about?

We need to pick one XMPP app to support.

Why is this important?

Then we can try and implement missing features.

What are you asking people to do?

Choose between Dino and Chatty.

Choose the option(s) you favor.

Results

Results Option % of points Voters
Dino 63.6% 7 BS A G B S PP RD
Chatty 36.4% 4 G J RB H
Undecided 0% 22 JV B D F CV TS F M DH T PA JS BL D T K M JH A RL

11 of 33 people have participated (33%)

PP

Pirate Praveen Thu 3 Oct 2024 10:47AM

Dino

Dino works well on mobile with omemo support and it is actively maintained.

BS

Badri Sunderarajan Thu 3 Oct 2024 10:47AM

Dino

I'd like to see better XMPP support in Chatty, but Dino is already in a usable state. It just needs a few glitches fixed to make it work perfectly in Phosh (mainly UI and touch related tweaks, from my experience) and perhaps a few general XMPP related bugfixes. So it makes sense to focus on Dino for now.

Later, it would be nice to focus on making libdino usable as a backend for other projects too (eg. Chatty, some Qt app; basically it'll help to have a mature XMPP backend available for use)

H

hello_fellow_humans Thu 3 Oct 2024 10:47AM

Chatty

Chatty is a great sms/mms app that i use every day so I personally love having all my messaging take place in a single app. This greatly improves the user experience and decreases clutter.

S

Silmathoron Thu 3 Oct 2024 10:47AM

Dino

closest to provide full support

B

Blort Thu 3 Oct 2024 10:47AM

Dino

Wish Snikket was also on this list.

PP

Pirate Praveen Wed 9 Oct 2024 3:01PM

@Blort Snikket is currently available only of Android and iOS I guess. In both cases, they are modified versions of existing apps. Snikket android is built from Conversations and Snikket iOS is built from Siskin IM. So if we want Snikket on gnu/linux mobile, we have to start from Dino or Chatty anyway.

RB

Richard Booth Thu 3 Oct 2024 10:47AM

Chatty

Built in with phosh

G

Guido Thu 3 Oct 2024 10:47AM

Chatty

Chatty needs lots of work in the XMPP domain but it would be very nice to have XMPP, SMS and Matrix in the same app.

S

Silmathoron Thu 3 Oct 2024 8:18PM

Given the state of Dino, I'm no sure dedicated support from this "initiative" is necessary. People who use it and like it but would want additional features can invest time and/or money into it but there's no bootstrapping to do. Same is true for Matrix given the state of Fractal, as far as I'm concerned.
For Signal, however, there is currently no good solution, but people may object to dedicating money to a centralized service.

PP

Pirate Praveen Thu 3 Oct 2024 8:49PM

@Silmathoron for dino, lack of moderation support and group members privilege changes, makes the experience not something I want to recommend someone. For fractal, missing voice calls could be a deal breaker for many. I adjust with dino, but I think these two features are essential. For now I have to use an android phone for these two cases. I personally don't use Signal, but supporting it will expand the number of people happily using mobile gnu/linux (waydroid might be making this already possible). Even right now I'm finding it hard to invite people to a group since most recent messages are obscene and I haven't gotten a chance to clean it with an android app yet (this happen very often). So many xmpp only groups chose to turn on moderated state, but we can't do that if we are bridging it to matrix.

PP

Pirate Praveen Sun 6 Oct 2024 8:19PM

Fractal flatpak often crashes during startup. So we have to start it multiple times to actually use it. Once it is started, it works well.

PP

Pirate Praveen Sun 13 Oct 2024 1:18PM

So far the two major missing features that force me to go an android xmpp client (Monocles Chat) are,

  1. When spam/obscene/abusive messages are posted in public groups, I can't moderate or even delete those even if it was moderator by another admin using another client. This really makes you helpless and irritated.

  2. If I need to give owner/admin access to another person in a group, I need to go to monocles chat

Do you see any such crucial missing features? Make a separate list of nice to have features too.

Nice to have:

  1. Easy to jump to a chat - instead of current + button a search button and search in the chat titles instead of content by default. Search button inside a chat could search in contents by default.

  2. Even in the current + button at top left and then choosing a contact, the new chat is added at the bottom of the chat list instead of at the top.

BS

Badri Sunderarajan Mon 14 Oct 2024 8:32AM

(Mildly) crucial missing features from Dino:

  1. Some way in the UI to access pending groupchat/contact invitations. Maybe as a small banner on top of the contact list? Currently, the only way to accept an invitation is through the notification bubble, so if I miss the notification or accidentally dismiss it there's no way to get there again. I sometimes go to Monocles chat just to accept groupchat invitations.

  2. Progress bar (or at least a spinner) for uploading files. Especially for the larger ones. Suppose I want to send a caption only after an image/video has been sent, my workaround is to open a different client to confirm when the file appears there. I think nowadays there is also a check mark to indicate successful upload (yet to verify this) but otherwise there's no way from the UI to make out whether a file is still uploading or already uploaded and delivered.

Nice to have:

  1. Ability to "cancel sending" for a message that has not been sent yet (eg. if the client is offline, or in a queue of pending messages). Sometimes I type out a message and then realise the client is offline, meaning the message may be out of context when sent or already answered and there is no need to send it. Another case is when facing encryption issues, in which case long-time "pending" messages are better aborted. I don't think any XMPP-specific code is required here because it's just a matter of deleting the unsent message from the local database. I'm not sure if there are any consequences for OMEMO (e.g. having to re-encrypt other pending messages so the keys are in sequence?) but I suspect not. (This "cancel send" option would be disabled for messages that have already been delivered to the server; it is different from XEP-0424 Message Retraction.)

Not really new features but more like bugs (lower priority but also easier to fix?):

  1. Immediately enter a new chat (or existing but reopened chat), instead of staying on the conversation list screen (related to @Pirate Praveen's second nice-to-have). Currently, in portrait mode, opening a new chat adds it to the (bottom of) the chat list but doesn't enter that screen. So I have to switch to landscape mode to type the first message. The keyboard opens up, so I suspect this is a UI issue where I am taken to the chat but it is not visible. In fact, I have even typed out the first message, so maybe typing it out without seeing it, then pressing Enter is a workaround.

  2. Dino window doesn't open up when tapping a notification. Currently I have to manually open the Dino window. I think the window itself navigates to the place related to the notification, but it doesn't display by itself. I normally run Dino in daemon mode (`dino --gapplication-service`) so it might be related to that.

  3. Emoji picker closes immediately when keyboard grabs focus (race condition?). This happens at random times. Basically, when I tap the in-built emoji picker to insert an emoji or send a reaction, the emoji picker popup appears. Because of that the text field loses focus and the keyboard disappears. But then the emoji picker search bar comes into focus, which causes the keyboard to appear again and grab focus. The emoji picker then closes due to losing focus. If I'm lucky and there is a slight delay in the emoji picker showing up and the keyboard shows/hides at the correct moment, I end up with the desired situation where the keyboard is open but the emoji picker + search bar is in focus.

I haven't checked to see if any of these are in the issue tracker already. I'll check later and edit to link back, if appropriate.

PP

Pirate Praveen Mon 14 Oct 2024 3:08PM

One more crucial missing feature of Dino, creating new groups should be easier. Currently you should know muc domain of your server and join a non existing group to create it, then adjust group settings manually for private group.