Signal-android: swipe to delete messages

Created on 6 Jun 2015  路  16Comments  路  Source: signalapp/Signal-Android

Need a feature to delete messages by swiping

feature

Most helpful comment

@NL66278 Go to the bottom of your conversation list and tap on archived conversations. Swipe again to un-archive.

In the future please post on the community forum or email [email protected].

All 16 comments

I like the way gmail is doing it, without asking for confirmation but offering a "undo" action instead:
undo

When you say "messages", do you mean "conversations"?
I would rather want the possibility to archive conversations by swiping them.

By message I mean the full thread/conversation with a particular contact. Yes, archiving is also an additional possibility. Swiping from left to right (mimicing a cross out a work when writing on a piece of paper) would delete and swiping from right to left would archive a conversation.

Swiping is a bit problematic because it makes it easier to delete conversations by accident than the current way of holding down the conversation then hitting the trash can icon.

At the very least, the user should always have to _actively confirm_ that yes they do want to delete the conversation after swiping鈥攏ot simply have an undo button that they might miss if they swiped by mistake when putting the phone into their pocket or something. The undo option in gmail and other email clients works fine only because there is a trash folder so the user can undelete a message if it was mistakenly deleted. With TextSecure there is no such thing.

I would like to give it a go.
I would propose to implement it like gmail: let the user choose if swiping does nothing, archive, or delete. I would add a "undo" option, instead of active confirmation, as it seems more natural (and it follows Material design guidelines).

Thank you for the suggestion; I looked at the library, but I preferred to code support directly inside ConversationList*, and do not take an external dependency. Also, it works nicely with touch, long press and scroll (not an easy combination!)
I have a feature branch here: https://github.com/ldematte/TextSecure/tree/swipe_to_delete

So far, it works, but I have some questions:

  • Archive, delete, or let the user choose? (Through preferences) (right now both swipe-to-left and swipe-to-right do a "delete")
  • Undo: right now it is just a delay for delete: an item is scheduled for delete in 5 seconds, if users press "Undo", deletion is cancelled. Alternative: alter conversation/thread tables to mark an item as deleted (like a "delete time"), periodically sweep tables.
  • Translations: there are a couple of strings ("Deleted", "Undo", ... more if we go for the full-fledged delete-or-archive with preferences way) that need translation. How does it usually work? Pull-request without translations, or should I find someone and include them in the pull request?

In general: should I create a pull request for the basic blocks (like, right now where it is working, but it is only for delete), or separate requests for each incremental feature?

Translations: there are a couple of strings ("Deleted", "Undo", ... more if we go for the full-fledged delete-or-archive with preferences way) that need translation. How does it usually work? Pull-request without translations, or should I find someone and include them in the pull request?

PR just with english strings. Translations are done via transifex.

In general: should I create a pull request for the basic blocks (like, right now where it is working, but it is only for delete), or separate requests for each incremental feature?

I would open it with the basic features first and ask the devs what they think about it

Thanks, I will

I am concerned about accidental deletes, too. A simple timeout seems unsufficient, since it is easy to not react in time if it comes at a surprise. Especially elder users (thinking of my dad) will have a very hard time. Therefore, I advocate strongly against a default delete gesture!

I like to think of it as moving paper (the conversation) around on a table. From the conversation list we swipe conversations away into the archive by swiping right. From the archive we can swipe left to unarchive and move the conversation back or we can swipe right to throw the conversation off the table (delete).

I dont think we should add swipe to delete to the conversation list view. If we do it should be swipe left to delete.

In my PR, I implemented the mechanics of swiping, plus a "delete" action which is really a very minor effort (just some lines) because there was no archive functionality at the moment, only an old PR (#1141); I'm also for archiving as a default, (in inbox) and let the user decide (left, right, delete, archive, nothing)...
It seems that my work was for nothing, though, as someone else implemented it in the meanwhile (#4698)?

I have some experience now of accidentally archiving conversations, just by an unfortunate screen touch. Can't find how to unarchive. What a horrible "feature"!

@NL66278 Go to the bottom of your conversation list and tap on archived conversations. Swipe again to un-archive.

In the future please post on the community forum or email [email protected].

IMO this is feature should be disabled by default. On many phones it's very easy to swipe by accident when you click on something (for example if you're holding your phone with one hand and thumbing it), and if you don't notice the message at the bottom it just looks like it was deleted. Even if you do notice the message, you have to have quick reflexes to undo, otherwise you have to go find it in the archive and unarchive it. The number of times this feature has annoyed the hell out of me is around 5;the first time I thought I'd completely lost important information (because I do other stuff while I'm using my phone, I didn't see the message). Above all, I don't even see an option to disable this "feature".

GitHub Issue Cleanup:
See #7598 for more information.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nxfifteen picture nxfifteen  路  3Comments

jult picture jult  路  3Comments

j3fffff picture j3fffff  路  3Comments

derWalter picture derWalter  路  3Comments

vvug picture vvug  路  3Comments