My current project includes a list of messages plus a message detail view.
Three modes of deletion are requested (no other actions, like "reply", are possible):
- Detail view: delete icon in the toolbar + confirmation dialog
- Long-pressing a list item switches to a multi-selection mode and shows a "delete selected" icon in the toolbar that allows deletion of several items after a confirmation dialog
- Swipe to delete
I'm not too happy with swipe to delete - I think it's a bad idea, especially in our case. The reason is that there is no two-level deletion. In most mail clients, deleting a message from the inbox moves it to the trash first where you can recover it (so it's actually archival, not deletion). In our app the server doesn't have a "deleted items" flag or category - once deleted, it's gone for good. This also works with unread messages.
We do plan to implement an "undo" button that vanishes after several seconds or when scrolling, but I'm not satisfied. It works well enough in the gmail app when I'm at home or in the office, but in noisier environments like the subway, on the bus or while walking it happened more than once that instead of scrolling up/down the gesture was interpreted as a left/right archival movement and then I even missed the undo button. Mostly no harm done thanks to them being moved to the deleted mails folder, but I hate it when I accidentally dismissed notifications (no undo) without even knowing what they said. For the record, I don't think I'm extraordinarily clumsy.
I brought this up with my superiors and they suggested displaying a confirmation dialog after swipe-to-delete which in my opinion defeats the purpose of the smooth UI action.
My own solution: store ids of swiped messages in a temporary list, display a secondary toolbar containing something like "X items ready to [delete] / [undo]" was dismissed because it's not standard behavior (and "too much work").
Now my options are:
- Stop putting so much thought in it, just do what i'm told and delete messages without having the user explicitly confirm it
- Implement the blocking dialog after every swipe-to-delete
- Try to convince them by bringing new facts (and solutions) to the table
Can anybody help me deal with this situation? Are there official recommendations for or against swipe-without-archival?
Note: We don't provide any hint there's "swipe do delete" in the list because it's standard functionality.