Signal-android: Send button should stick to last method (Signal, insecure SMS) on a per-user basis

Created on 1 Jan 2015  Â·  37Comments  Â·  Source: signalapp/Signal-Android

What it says on the tin; taken from discussion at the bottom of #845. As @samlanning mentioned and other users indicated, the send method must currently be selected with every message with a chat partner. "Stickiness" would be helpful, as long as the Send button reflected it visually (including for color-impaired users).

Implementing this would also be a workaround to #845 itself.

feature ux

Most helpful comment

This is a huge issue for me because several of my friends stopped using Signal, and I didn't find out they haven't been getting my messages for months.

All 37 comments

Right now it's only sticky while the conversation is open in order to make sure users aren't accidentally sending unsecured messages with a user can have secure conversations. We'd need to think of a good way to allow longer-term "stickiness" without users losing awareness of the fact that the conversation _could_ be secure.

Hangouts-esque style with the little caret to indicate more options may be appropriate. It would require a re-think of icons on left / right etc... I've been intending on actually implementing exactly this for the last few weeks, but free time has been scarce with all Christmas related activities...

What about a configuration option in the settings with choices such as the following?

  • Not sticky at all (default)
  • Sticky per conversation
  • Sticky per addressee
  • Sticky globally

@colans The answer is never more options.

@colans, I actually came across the guidelines for contributing last night and tried to craft this feature respect with having no more options in mind. :) (I agree with the sentiment and was taught more than once by people I respect that "every checkbox is a failure." Yeah obviously that's flexible.)

@mcginty I was apparently mistaken in believing that it "un-stuck" between each message based on the recent comments in #845. Somebody was complaining about inconvenience when texting a lot.

@gordon-morehouse the inconvinience will still occur if the activity is closed often (i.e. switching between apps / closing TextSecure)

I like the hangout style, its really intuitive...

This is a huge issue for me because several of my friends stopped using Signal, and I didn't find out they haven't been getting my messages for months.

Yeah, should be set as urgent. Saving state shouldn't be so hard, we are already saving color per contact. Also like mentioned before, my friends stopped using it because of this and also lack of some sort notification that message wasn't delivered.

I didn't find out they haven't been getting my messages for months.

​

lack of some sort notification that message wasn't delivered.

The second checkmark is an indicator that tells if the message has been delivered to the recipient or not: http://support.whispersystems.org/hc/en-us/articles/212535538

Well I know that much, maybe other don't. Still main issue with lack memory about last message type is present.

I had some thoughts about this feature:

We don't want Signal users to send insecure messages when there are secure messages available. But in some cases they may have reasons to use those insecure messages for short times. And we want to prevent that they forget switching back to the secure messages. I figured out two solutions for this problem. In both cases the user chooses the insecure transport option via the current UI and this decision is stored in RecipientPreferenceDatabase.

  1. The insecure state is saved as an integer (0 or 1) e.g. INSECURE_TRANSPORT. Then we have a reminder e.g. UseSecureMessagesReminder that pops up in the conversation after 2, 10 and 50 sent messages (examplary values). It could also pop up after certain times and not message count. By clicking on this reminder the transport will switch back to secure messages. But the reminder can be dismissed, too.
  2. The insecure state is saved as an integer in INSECURE_TRANSPORT_UNTIL. Therefore after tapping "Insecure SMS" a dialog is shown. This would show options analogue to the mute dialog. There are options shown like "for 1 hour", "for 12 hours", for "1 day", ... One could also consider setting a number of messages, but I think time is better (e.g. "for next 2 messages").

As far as I can see we cannot prevent updating the database version in DatabaseFactory.java introducing a new column for this feature. I only wanted to share my thoughts and do not intend to work on this (yet).

Was just referred over from #4932 (one day I will learn how to search better) and I agree with option number 1 @FeuRenard. After the 50th sent message would the app continue warning the user every 50 messages or would it just "give up?" I am thinking of us poor folks who have contacts that have uninstalled Signal and do not intend to reinstall it.

After some time of thinking about it, I would prefer the time based solution. In #1026 it was said:

Supposedly GCM will eventually tell the server he's uninstalled (...)

That means after some time inactive Signal users (uninstalled) will be deleted from the server and no longer be falsely marked as Signal users. I don't know how long this time is. But this time should be the maximum settable time with option number 2.

Furthermore when the transport changes back to secure, we should inform the user, maybe with a toast.

Was wondering if there has been any progress on this? I am one of those people who kept sending Signal messages to people who had uninstalled Signal, and never went back to check the 'check marks", thus thought my messages were going through. Would love to see the stickiness of insecure/secure transport type applied to the app. Thanks

Hi,
I would also be glad to have this stickiness by contact.
I like Signal for it cares about privacy, and it is a good thing, but I really think anyone could choose to send insecure SMS for any reason, and Signal should not try to force users to go back to "what is best for them".
Thanks a lot if this feature could be implemented. In any case, thanks for Signal, it is a great app.
F.

This needs to be fixed. The very common scenario faced as an a user, signal is my default text app. I have evangelized to several iphone friends to install signal for whatever reason signal notifications are not enabled on their iPhone. My choices are to remember to switch to insecure before EVERY send, or feel like an idiot requesting that they turn on signal notifications or uninstall and deregister the app I just asked them to install. This is terrible and until fixed I will never ask anyone to install signal again. Please do this soon.

Same here, I stopped recommending signal for this very reason, less technically skilled users will get lost there...

@jebljunk I've been seeing intermittent issues with iPhone users either not getting notifications or not getting messages delivered until they check the app, wake their phone, etc. They have been going on a long time but they are very hard to pin down. I know this doesn't address your concern here, but it might be worth a check with your iPhone-using contacts to see if the app is performing as it should.

This bug, along with the fact that users who don't have data plans are not able to receive secure texts, are huge user adoption showstoppers. Until this gets addressed my only option for messaging these people is to stop using your app, which I don't want to do. Please, fix this, it's a ux nightmare.

Please, fix this, it's a ux nightmare.

@jdpye i appreciate that you're frustrated, but hyperbole isn't a great way to gain sympathy.

@jgravois I would say silent failure to deliver messages and no way in-app to remedy the situation described in this ticket qualifies perfectly well. Agree to disagree.

FWIW, secure SMS was removed a couple years ago and is very unlikely to come back.

Not sure that's what's being asked for here. A way to set a conversation to use either SMS or secure chat in a sticky way, would be helpful in avoiding ongoing failures like attempting to securely send messages to someone who's stopped using a secure messaging app. A user might still send a message or two into the ether, but at least there'd be a remedy once these cases were discovered.

Users who've uninstalled can un-register their number as well. I won't comment further so as not to crowd the ticket, but it works around that particular issue: https://signal.org/signal/unregister/

Requiring a user to self-report their abandonment of secure messaging to a website when they currently don't report such to their circle of acquaintances... doesn't solve this issue in a real-world way. The proposed solution above would go much further for the users who message a shifting combination of Signal and cleartext-only people. Which... is all of us.

I am facing the same problem and it prevents me from using Signal as my main SMS app. Some contacts do have signal installed but do not always have data connectivity. They disable it to save data or battery. The fact that signal always reverts to secure messages is a nightmare because I often send messages thinking I am sending an SMS while Signal is trying to send a secure message. This results in my contacts never receiving a reply or me waiting for a response I will never get. With two messages minutes apart Signal can try to change from SMS to secured message... I really wish Signal would remember the last medium I used for a specific contact.

I understand that you want to avoid people sending unsecured messages while they think it is secure. But this is a really annoying behaviour. I would much rater have a popup once in a while remembering me that I am sending unsecured messages than silently switching to secure messages.

This is in my opinion a blockersevere UX issue since I communicate regularly with several people no longer using Signal and it's a horrible user experience having to always change to unsecure SMS and I often forget. Please consider prioritizing this issue higher

@nsrosenqvist i'd like to see this improvement land too, but the issue is by definition not a _blocker_.

as described above, you already have the option of helping your contacts unregister their numbers.

https://signal.org/signal/unregister/

@jgravois you're right, wrong wording. Though it's a pretty bad UX issue.

Requiring a user to self-report their abandonment is not realistic. If I'm done with an app for any reason there is no way i will take another 5 minuets out of my day to "uninstall" an app because the last thing i want to do after work and making dinner and changing the baby and cleaning up and and and and.. is find the time of day to deal with poor UX.

I love signal which is why i have not uninstalled it yet. But seeing a lack of support to such a critical UX issue is making me rethink it.. Please fix this issue

Same situation as @azerupi : Some of my peers go to locations without (good) internet connectivity for some time. They send me SMS from there, I answer from within Signal and only hours later realise that I sent a Signal Message instead of the SMS I intended to. If sending an SMS would be sticky, I would only need to think about my peers internet situation once every few weeks when they move, which would be a huge improvement.

@moxie0 I 100% agree that limiting of options is always the goal, however, the entire my friend stopped using signal and now it's a huge PITA to message them problem is serious.
Anecdotally, I was at a meetup and ended up discussing this very issue with complete strangers. To me, this validates it as a prevalent problem.
I have resorted to using any other messaging app that the peer uses, just to sidestep the entire problem.
Please give the entire problem attention soon. This ranks right up there with my friend only uses iMessage. It causes so much friction.

I hate to pile on with a me too, but since I think this deserves very high priority I will share that this is a major issue preventing me from using Signal as my main messaging app, AND that most signal users I've talked to also share this as an issue. I'm actually curious how this doesn't come up for every user -- at some point someone you communicate with uninstalls Signal, you continue to send them messages not noticing the very small UI indication that it didn't go through (which looks similar to the UI indication that an SMS message DID go through, btw). I wish I knew Android and could help fix!

Another user here being confused why this isn't a thing yet... Multiple family members don't even remember using Signal years ago and don't want to uninstall themselves as they fear it is a hack/scam/something else they don't understand... Please don't be like Apple and think in place of your customers :/

GitHub Issue Cleanup:
See #7598 for more information.

This feature request is being discussed and tracked here.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

notthematrix picture notthematrix  Â·  3Comments

wesinator picture wesinator  Â·  3Comments

FeuRenard picture FeuRenard  Â·  3Comments

hiredgunhouse picture hiredgunhouse  Â·  3Comments

derWalter picture derWalter  Â·  3Comments