AOL has recently allowed multiple clients to be logged into AIM at the same time. Previously if you logged in from a new location the old login would be disconnected. As a wireless IM, user this change is generally welcomed: I previously maintained two separate accounts so that I could be constantly logged in from my cell phone, whilst still communicating using the rather faster keyboard when I was sitting in front of a computer.

Unfortunately, as the explanation of how the “routing behaves” makes clear, its a bit of a hack. If there’s support in the protocol… its sure not visible now. Instead, AOL plays games server side to try and guess where to route messages. If one client is marked AWAY, then messages get routed only to the other client. It appears that if both clients are present, both get the message. What happens if both clients are marked AWAY? need to experiment. Lilly has complained that her laptop was left logged in (I think while she went away on Thanksgiving break?), and people have been sending her messages for a while believing that she was ignoring them. Basically, the point is that instant messages are currently fairly transient… they might get to the receiver, they might not. You can’t rely on them.

Unfortunately its a lot worse than just being transient. If instant messages were reliably transient it would enable useful social behaviors. For example, if want to get in touch with somebody quickly (say I want to borrow their rootabega in a hurry) but I don’t want to be seen as desperate or harassing I can’t safely send them a message every hour to see if they’ve sat ata their computer. Physically “dropping by” allows for totally transient communication. If the person isn’t there, they never know about it (unless you want them to, in which case you leave a note, which is pretty useful: you can select whether the “communication” is transient pretty reliably). Phones used to be transient (if you didn’t connect, they never knew you called), though with caller ID and call logs that’s no longer quite true.

In a perfect world, I think AIM would be more like IMAP. Messages would be stored server side, so that you could get at any messages you wanted from any client. Of course, like IMAP, you’d want to make sure it was easy for clients to “cache” the history, so they’d only grab new messages (or handle pending deletions). Conversations would persist, so that when you close a window, when you open it up again the last conversation is still there (no matter what machine you had it on). If you needed to get rid of some particularly incriminating information from the “log”, you could just select it and DELETED (sorry, too much strongbad). IM would be dependable, and the quirky issues of handling multiple machines would be solved. So that handles the case of totally persistent messages.

Allowing for transient pings in the most ideal fashion requires client cooperation. I don’t know how many people really use non-AOL clients… if its small then you can pretend you have client cooperation (just like caller ID used to be rare and unexpected). Anyway, what you’d like to happen is to have a way to send a message so it pops up on the other person’s screen, stays there for 5 minutes or so, and then disappears with no trace or log entry. You could use this to send “Hey, you there?” type messages.

Another feature that could be nice for making IM appropriate for more serious transactions is a “federal express” feature where people have to “sign for” a particularly important message. This is the sort of thing I don’t imagine being used terribly often, but it does allow for certain sorts of more serious transactions (its basically a step up from persistence). When a “sign-for” message arrives, the recipient sees a dialogue that says “SoAndSo has sent you a message. Clicking Read Message will send an automatic confirmation of receipt to SoAndSo.”

A more agressive variation on this theme this allows the sender to include a short agreement that will be presented in the initial dialogue, with an “I Agree” button instead of “Read Message”; the basic idea being to allow short contracts prior to receipt of information. For example, “SoAndSo has sent you a message which requires a legal agreement. They stipulate: This message can not be shared with anyone, blah blah blah blah. If you agree to these terms, click I Agree to read the message (an automatic confirmation of agreement will be sent to SoAndSo). Otherwise click I Disagree.”