Apple has a problem with notifications.
So I have an iPhone and a Macbook, and like most people I keep the iPhone on me at almost all times. So whenever I'm using my Mac and receive a notification - I receive it twice. My iPhone is usually first to notify me with a buzz, then perhaps 30 seconds later, its slow brother Mac tells me the same thing. Often when I'm chatting with someone, the notifications become more sporadic, sometimes they appear on none of the devices, multiple times, or with big delays - it's not that uncommon for several week old notifications to flash through quickly on my Mac.
Obviously this isn't something that will make the world end, but it's still quite annoying. If I'm using my Mac, why should my iPhone buzz in vain? Here's how notifications should be delivered:
Devices will report "usage states" to Apples servers, the states would be:
- "In Use" The device is on and being actively used.
- "Sleeping/Off" The device is either sleeping (only applicable to Macs) or off.
- "Locked" Only applicable to iOS devices, the device is on but locked (screen is off).
- "Last Used" This state is assigned to device that most recently was used.
- "Most Accesible" The device that is most portable, and thus most likely to always be carried by the user gets assigned to this state. In most cases this will be the iPhone, or the iPad.
When an application wants to deliver a notification it checks with Apple's servers to see what device the notification should be delivered to.
Now imagine a user (let's call her Mary) with, an iPad, an iPhone and an iMac. Mary is sitting in the couch using her iPad and a friend sends her a message. Since the iPad is "In Use" it receives the message, no other device alerts her, however the message shows up in the Notification Center of all devices until it has been answered. Mary engages in a conversation with her friend and after a while she puts the iPad down to go and grab a snack from the kitchen. Meanwhile her friend responds to her, the message then gets delivered to the iPad which has the two states of "Locked" and "Last Used", but Mary isn't near the iPad to act on the notification, so what happens? By default notifications for messages are repeated once on iOS with one minute in between. So when one minute has passed the notification repeats on her iPad and also shows up on her iPhone which is her "Most Accessible" device. She responds using the iPhone which now gets assigned the "In Use" state. Mary then sits down at her iMac to do some work, the iMac gets assigned the "In Use" state and receives the messages from her friend. While she's working her daughter starts playing a game on the iPad. Both devices now report the state "In Use", so which one receives the notifications? Both do, and then the device which is used to respond to or act on the notification continues to receive subsequent notifications. After a while Mary goes to grab something more to eat (food is nice, huh?), a notification gets sent to her iMac, is not acted upon and after a minute gets repeated and sent to her iPhone, and she responds. Yay!
I think you get the idea, and I thiiink I covered all possible situations, let me know if I missed something and if you like the idea!