For once, I'm not talking about my own lack of sleep. I'm talking about my iPhone...
I am in the process of writing a native jabber client for the iPhone. I use jabber for work, and it's about the only thing that keeps me from using the iPhone instead of my MacBook Pro for walkaround communications.
It turns out the the iPhone SDK is pretty darned good. It didn't take a great deal of effort to get it installed, provision my iPhone as a development device, and load working code onto my own phone. But there is a problem.
The SDK doesn't allow me to background tasks.
This means that I can only use my iPhone as a jabber client if I'm actively using the client software. If the phone goes to sleep, or I get an SMS message, or a phone call, the jabber client turns off.
I find this limitation annoying, and it's probably the reason no one else has developed a native IM client to date.