When iMessage was announced, I immediately thought it was brilliant. Not only for getting away from the ancient SMS protocol, but as a method of delivery of messages across multiple devices. Now that plenty of people had both an iPhone and an iPad, how great would it be if I could message friends, and receive messages on all of my devices? The intention of the feature was to be very fluid, and it does perform nicely whenever a message is sent from a phone to phone through phone numbers and gracefully degrades to SMS when no data is available.
Now that iMessage is finally in the wild and thanks to iOS 5 upgrades, available to most everyone with an iPhone I was able to test its functionality.
Man, was I disappointed in the user experience nightmare that followed.
Sending and Receiving using iPhone
First off, let’s cover how iMessages are sent and received. On the iPhone, you have the option of using your phone number (of course), but also the Apple ID (or iCloud ID) to which your device is registered. We’ll call that an iMessage address for simplicity’s sake. This allows iMessages to be received at either the phone number or iMessage address. When you send a message however, one of those two has to be the sender. This is known simply as the “Caller ID”.
The gist is that if I send a message from my phone (using my number as caller ID) to another iMessage device using a phone number as the recipient it starts to send as an iMessage over data. This is represented by the “send” button being blue, and the subsequent message background as blue too. However, if for some reason the message can’t be sent via data, a phone number-to-phone number message will fall back on SMS.
However, if I set my “caller ID” to my iMessage address and send a message to another phone number things start to get hairy. Let’s say I send a message as I just described - iMessage addy to phone number. The recipient now wants to send a reply to that message - it will be replying to the iMessage address, not the phone number. Now, in the event that my phone drops out of data coverage (which can be quite often while traveling), I won’t receive that message. Nor will it fall back on SMS.
iMessage on iPad
The promise of iMessage - receiving messages across devices - doesn’t quite work as smoothly as one might think.
In the event that someone sends me an iMessage to my iPhone’s phone number it will not show up on my iPad. Furthermore, if I’m identifying my iPhone’s caller ID as my phone number, it will never get to my iPad. However, if I change that to the iMessage address, I can begin to receive messages across both devices. Though as I described above, if I use an iMessage address as my caller ID, in the event that data is not available, it won’t fall back to SMS.
I’ve made a chart to help explain this insanity:
iMessage in Practice
Some might think these are edge cases to which I would answer “absolutely not”. Sending messages to phone numbers is what people are used to. Changing that behavior will probably prove quite difficult. Knowing that a message won’t arrive to me if I’m not on data and using my iMessage address as Caller ID disturbs me a bit.
I recently sent some iMessages back and forth with a friend of mine who was traveling. He happened to be on a plane with WiFi and was sending messages with his iPad. Robert was excited that he was able to send these messages but I was getting confused when my messages to him weren’t arriving. Later when I looked back, I realized I had four separate message groups from him: an iMessage address, second iMessage address, Google Voice SMS and iMessage (but sent from a phone number Caller ID).
To illustrate the confusion when he wasn’t receiving certain messages here’s our correspondence:
Clearly this makes for some incredibly confusing and disjointed conversations - not to mention the potential of not seeing messages at all.
Apple could have easily avoided these problems with a few very simple processes:
When authenticating an iMessage address (or multiple), the phone number from one (or more) iPhones get added into that account. This way, regardless of what device someone is using one could receive a message to a phone number via an iPad since it’s working through the iMessage protocol first, then SMS.
Allow me to send messages from the iPad using the Caller ID of my iPhone. This way, whenever someone receives the message, even from my iPad, it identifies as my phone number, not an iMessage address.
Fall back to SMS any time a message is not confirmed as received including when a message is sent to an iMessage address. Considering my first point, when confirming iMessage addresses and phone numbers together, this shouldn’t be hard.
Apple has a really interesting product with iMessage. The problems described above make for a very poor user experience currently, but the solutions are primarily technical and definitely not insurmountable.
There has been some rumor that Apple will begin to include iMessage in iChat or another messaging app on Mac OS X. It’s imperative that they clear up some of these issues before that happens or there will be a lot of confusion around where messages are delivered and why they’re not received when data’s not available.
I can only hope that Apple has already figured this much out and is working on a solution. But until that solution is shown, I’ll continue to be harping on why iMessage has such an incredibly poor user experience. Come on, Apple. You’re better than this!