I really wish there was a defined API for "messaging service backend" that iOS/Android understood. (XMPP? IRC?) iMessage can intelligently switch between Apple's own backend and SMS depending on data connection and presence information; why can't I tell it about a contact's Facebook profile, or Twitter username, or BBM address, or WhatsApp username, etc., and have it transport the messages over whichever one looks to be most recently active?