Very confused. Can someone give me a better explanation?
i'll try
first, a little bit of a background: every smartphone has an operation system (Symbian, iOS, etc.), and every smartphone operating system has versions (iOS 4.0, Android 2.2, etc.)
each operating system and their versions offer different service to 3rd party applications and this is where confusion comes from. let me try to get the most simple ones out of the way first:
- BlackBerry OS from our application's point of view offers pretty consistent experience no matter what version. On a BlackBerry OS our application always runs, but is not always connected. When it receives a push message, the application will wake up on it's own, without any user required interaction, process the message and trigger the double checkmark. unless the BlackBerry phone is not on the network, sending messages to the BlackBerry user should always generate double checkmark within a few seconds. OK, simple, right?
- iPhone OS is a bit different. First, there are two different OS versions: OS 3 version which didn't have multi-tasking and OS 4 version which does. In OS 3 the
only way application could generate double checkmark was if application was either just started by the user or if application was already running. Same goes for OS 4, but with a small twist: if our app was recently suspended and moved into background, it will keep connection open for a few minutes and it would also generate double checkmarks for the sender of the message.
in other words: you can send a message to the iPhone user, they can see the preview and read the message and hit cancel and you would still only see a single checkmarks. they would launch an application later manually (user interaction is required on the iPhone) and doing that would trigger the double checkmark.
hope this sheds some light on this for you and yes, we are aware that our single/double checkmarks are a bit of a mess now that we got multiple platforms doing different things. we do have plans to re-do them at a later time.