How the iPhone mail app decides when to show you new mail

Here’s a question.

You’re in the iPhone mail app, and you’re looking at your inbox, when a new email arrives. What happens?

Let’s have a look at the inbox. I’m at the top of the list, and the out-of-view emails are shown in faded grey.

Email inbox

If an email arrives now, it pops into the top, and pushes all the other emails down.

New email arrives, old emails move down

Yay, new email!

So far, so obvious.

Next question: what if you have scrolled down the list a little bit, so you’re not at the top of your inbox? What happens when you get a new email now?

Here is your view before you get the email — you have scrolled down to email 4:

User has scrolled down to email 4

In this case, when you get a new email, you are auto-scrolled to the top of the list, where the new email is sitting there waiting for you:

New email arrives, user is returned to top

So the behaviour is:

  1. if you’re at the top of the list, the new email pushes down the existing emails and you stay at the top.
  2. if you have scrolled down the list a bit, you are returned to the top of the list to see the new mail.

This makes sense until you think about what happens if you have a lot of emails in your inbox. Imagine you have scrolled down a long way to find a certain email, and then, at that moment, a new email arrives.

Being pulled to the top of the list would be annoying in this case. You’d be proudly presented with an email almost-certainly-not-relevant to your reason for being buried halfway down your inbox. You’d have no accurate way of quickly returning to where in the inbox you were, and, over time, you would probably adopt an unconscious worry that this could happen without warning while you were looking for something in your inbox. A worry that you would be pulled to the top of the list because someone, somewhere decided to send you an email. Come on, Apple. Sort it out.

Luckily, they have sorted it out. Good news!

Here’s what happens. If you’ve only scrolled down a little bit and you happen to get a new email, you’ll be returned to the top (which is no big deal, because you knew you were only a little bit below the top, so it’s easy to get back to where you were), but if you are deeper in your inbox, getting a new email does nothing. Have a look.

Here’s the view before the email arrives — we’ve scrolled down further this time, to email 6:

User has scrolled down to email 6

If an email arrives now, nothing happens:

New email arrives, but user not returned to top

You’re not returned to the top. You get the alert sound and all the other indicators that a new email has arrived, but you stay where you are in the list. Someone has realised, maybe during testing, that it is annoying to be yanked to the top of the list when you’re a long way down, but it is less annoying when you’re near the top.

The magic distance is three messages.

No-scroll distance: three emails deep or more

That is, if you are less than three messages down into your inbox, you’ll be returned to the top when you get a new email. Any more than this and you’ll stay where you are. Send yourself an email and try it.

This is serious attention to detail. It’s not something people will show off to each other on the bus, or something that you can put on an advert or trumpet on a feature list. It just makes the app a bit quieter and a bit more well behaved. The addition of this extra detail has made the app less visible than if the detail wasn’t there. Lovely.