When you send a message using the Messages app, iOS seems to magically figure out that the recipient is on iOS 5 and automatically switches over to iMessage (blue messages instead of green SMSs).
Does anybody know (or fancy a guess at) how iOS 5’s iMessage knows the recipient is an iOS 5 device? I’m stumped.
(I asked this question on Twitter a few months ago and wanted an easier way to refer to the answer!)
Best Answer
To expand on alexmuller's answer it uses the Device ID to determine if another device is running iOS 5. This is done during registration, or when iMessage is configured under phone settings. Effectively the Device ID and Apple ID's/Mobile numbers are stored on the Apple Servers.
It checks the Apple servers to determine if a number or email address is registered as an Apple ID and using iOS 5. It will then send the message via the Apple Servers first. It also uses text fallback, so if the other user is not using an iOS device, or iMessage is unavailable or down, or your data connection is down, it will send the message as a text. Text fallback can however be disabled. This does not affect normal texting.
On the phone itself iMessages are identified via a blue background, and can show Delivered/Read for each message. SMS to the same person is still shown in a green background.
It also uses the Device ID to determine which device to reply to. I have my email address and phone number configured on my iPhone and on my iPad only my email address.
In Example
It's intelligent enough to know where the message came from and where to reply to.