This isn't a problem I'm solving, it's more of a theoretical UX question.

Twice this week, I've checked my email on iOS and accidentally deleted important conversations (which I've had to hunt for and un-delete). The flow is like this:

  1. I tap the Email icon
  2. I see marketing emails that can be immediately deleted
  3. I start swiping left on them
  4. Meanwhile, iOS is downloading my newest messages, and...
  5. Oops, I swiped left on them before even knowing what they are

What's annoying about this is that I check my email in an aggregated view (best feature of iOS, in my opinion) and if I need to retrieve an archived email, I have to go through each Archive/Trash can to hunt for it.

If this was your problem to solve at Apple, how might you solve it?

3 Answers 3


I think there's already a solution for this: undo shaking your phone

enter image description here

Source: https://www.macworld.com/article/228952/how-to-undelete-and-re-delete-mail-in-ios.html

  • 1
    That works, and might be what the developers are depending on. Thanks.
    – Izquierdo
    May 27, 2021 at 18:56

Apple already has a solution for this problem in the Messages app.

When viewing the list of conversations, a leftward-swipe on one reveals the delete action (among others) which requires a press to actually delete the conversation.

enter image description here

I assume emails don't follow this pattern because the extra interaction takes time and deleting an email is much more likely to be a bulk action than deleting a conversation in Messages. Additionally, there is no way to recover a deleted conversation (iCloud and the like excepted...) where emails can be recovered from the archive/trash folders inside the email client.

Personally, I don't understand why applications don't wait for a period of user inactivity to present new, fetched data. In my mind, it's similar to the problem of lazy-loading images/ads on a website where the user's reading is interrupted while the page re-flows.

If you do want to display new items as they are loaded, the pattern of allowing actions on multiple selections might be the way to go. The user either enables the selection mode and starts checking emails to delete or the act of swiping on an email adds it to the selection. Once the user is satisfied, a single press is used to delete all selected emails. This way even if new emails are loaded while the user is making the selection, they can be immediately deselected instead of requiring the user to navigate to find and un-delete them.

  • The timing aspect is interesting... SMS seems more "instantaneous" and we don't expect to wait several seconds for texts to load, nor to have several load at once like email does. Agree with the idea of waiting several seconds.
    – Izquierdo
    May 27, 2021 at 18:58


This is one of the 8 golden rules of UI , and falls into Rule 6, although it also has touch points iwth Rules 5 and 7

5 Offer simple error handling. As much as possible, design the system so the user cannot make a serious error. If an error is made, the system should be able to detect the error and offer simple, comprehensible mechanisms for handling the error.

6 Permit easy reversal of actions. This feature relieves anxiety, since the user knows that errors can be undone; it thus encourages exploration of unfamiliar options. The units of reversibility may be a single action, a data entry, or a complete group of actions.

7 Support internal locus of control. Experienced operators strongly desire the sense that they are in charge of the system and that the system responds to their actions. Design the system to make users the initiators of actions rather than the responders.

So a simple Undo button (with multiple Undo actions ) is the easiest, simplest, and least intrusive option.

If you want something more complex, this is how I would do it:

  • Track user interaction (deletion) and don't allow the system to interrupt that interaction with new items. In other words: If the system detects that you are deleting messages, then any incoming message in the last 30 seconds or so should neither be displayed nor available for deletion


  • Interrupt the user flow: If the user is interacting with the system and attempts to delete a message that is newer than 30 seconds, display a warning or dialog that alerts the user to this

3 Offer informative feedback. For every operator action, there should be some system feedback. For frequent and minor actions, the response can be modest, while for infrequent and major actions, the response should be more substantial.

4 Design dialog to yield closure. Sequences of actions should be organized into groups with a beginning, middle, and end. The informative feedback at the completion of a group of actions gives the operators the satisfaction of accomplishment, a sense of relief, the signal to drop contingency plans and options from their minds, and an indication that the way is clear to prepare for the next group of actions.


  • create a virtual folder with recently deleted messages for the last 24 hours

Then again, as I said before, I would just use Undo (and maybe combine it with the first alternative approach "under the hood"). But of course, it's just my subjective view, guess Apple engineers ran a lot of usability tests and have their reasons to do what they do

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.