AIM Push Notification and Multiple Sessions, Who Wins?

A question was recently posed by a friend. He noticed that as long as his AIM client was signed in on the iPhone, actively or just for Push Notification, that messages would no longer be sent to his desktop client anymore. This sort of behavior could render the “always signed in” Push Notification useless if the desktop client can no longer receive messages while the iPhone application is considered to be signed in.

It turns out that AOL uses a precedence order in deciding which client should get the message, or in some cases both. Here is the precedence order:

Available (1)
Away (0)
Idle (-1)
Invisible (*)

AIM clients with the same precedence “score,” the number in parenthesis, will get the same message. If one client has a higher score, no other clients will get the message. Idle time will subtract one from the score. Available + Idle is the same thing as Away + Active.

For example if both clients are Available and not Idle, both will get the message. If one is Available and the other Away, the Available client will only get the message. Here is where things get interesting, if a client is Available and Idle, and the other is Away but Active both get the message.

The most effective way to use both the iPhone AIM client and a desktop client like Adium, iChat, or AIM, you need to have the desktop client set to Available and the iPhone client set to Away. The desktop client shouldn’t be set to artificially Idle, or both will get the message.

This is a little annoying because I tend to set Adium to Away all the time. Going forward to utilize AIM for the iPhone I’ll have to keep available and not idle, otherwise messages are going to start appearing on my phone. I guess this promotes some additional honesty about my actual status.

I hope this solves the mystery for someone. I couldn’t find anything too definitive elsewhere on the web.

*Note: Setting Invisible in one client changes your status in all logged in clients. It’s not possible to be Away in one, and invisible in another. I was hoping I could leverage this somehow by setting the iPhone to invisible so that it would only get messages if the desktop client went offline.

4 Responses to “AIM Push Notification and Multiple Sessions, Who Wins?”

  1. Simon says:

    I wish it would work like you write. Unfortunately, If I set my iPhone to "away" and iChat to Available, both will still get the messages which is absolutely annoying.

  2. Scott says:

    I'll try to see if iChat is behaving differently then Adium, but all of this should be happening server side. One important thing is to make sure the iPhone is still set to away after you make the change elsewhere. Invisible has the tendency to change that status everywhere. iChat may also be forcing status changes, so making the change last in iPhone AIM may yield the most consistent results.

    I've been using the available & active status on my desktop with my iPhone set to away since writing the initial entry and it seems to hold true.

  3. Simon says:

    OK, I tried today and noticed a certain lag in which the server still seems to deliver messages (up to 30 seconds), even if iChat is logged out.

    But when waiting a short time, it works exactly as you wrote above, even with iChat!

    This is the most valuable hint I came across this year, as it at last renders AIM Push useful

    Thanks a lot!

  4. Rebecca says:

    I wish I had that issue, I’m on AIM with my iPod Touch and notifications worked totally fine then all of a sudden I stopped recieving them. So once I open the app again, I am left with a mass of IM’s that occured 3 hours ago or so. My wifi connection is always great because I get notifications from other Apps..I’m hoping its just a bug…:| and Apple gets on it..