I've just posted a reply to a
question on
ecademy Mobile Applications Club, and decided to repeat it here.
The question was more or less: "what does it take to implement an Instant Messaging client with Presence on a mobile phone?".
So here it goes:
So how could the phone improve and take on some of the characteristics of an IM program? I'd *really* like a Skype client on my phone, not for VoIP but for text and for the contacts list. This feels do-able to me mainly because the bandwidth requirements are pretty low. But of course it would cannibalise the *huge* business cash cow of SMS.
The idea is great, and the question might actually be music to operator's ears as it shows the value of enriched messaging.
What you are describing, is a PEP - Presence Enabled Phonebook integrated with Instant Messaging. Instant Messaging, Presence, and any number of combinations will be there in the nearest future as soon as Mobie Operators accept IMS and come up with IMS-enabled services, and mobile phone manufacturers will incorporate IMS platforms in their devices.
Meanwhile, there's a number of proprietary mobile messaging clients out there (e.g.
Agile Mobile messenger), which will probably, to certain extent, fit the bill (not on feature phones though).
There are several obstacles in implementing mobile instant messaging.
Unless you want limited P2P application to talk with your buddies, and you know what phones they are using, the client has to be either J2ME application or Symbian application (do not forget the flavors), or both. Also the client could be browser based, but it would be awkward and will have higher overhead unless you do it using ajax, which only is available for Opera 8.6, which only is available to Symbian and Windows Mobile based devices.
Then, depending on the device, the client might not be able to run in the background, which limits usability.
The major attraction of sms is that as soon as the phone is up and running - you can have messages being pushed to you. If you build your own client - it has to be started manually and, depending on the device, might not be able to run in the background.
In any case, a client has to be optimized to major mobile phone platforms you will be using it on.
Ok, now to presence. Presence has to be a server-enabled solution to aggregate user profile and presence information. It can't be pure p2p unless some of the nodes (clients) act as intermediate nodes to broadcast this information to their local swarm (similar to p2p systems), but that will put additional resource (and traffic) burden on the client.
Presence puts also additional traffic overhead as the client has to publish its status to server during startup or status change, and then it would be getting notifications about the state (change) of buddies in the phonebook.
Then, you will have overhead on actual messaging traffic since it has to use some protocol and mostly those protocols were designed for internet without keeping in mind optimisations suitable for mobile side.
Still, it's pretty doable, though not very easy. If the messaging traffic with all overhead per message (how many characters?) is cheaper than cost per sms (15 cents outgoing, free incoming for local traffic in Canada) - then it will make sense. The only problem, like I said, would be how to keep a client running (to get notifications) and if not - then how to get message notifications.
One of the solutions would be for an application system (server) to send a wap push to the phone, but wap push is essentially just another sms (and it will cost to the system to send it).
Open source protocol for messaging (and to my understanding - de facto standard for internet systems) is
XMPP.
As it is xml-based, there will be quite an overhead on the traffic.
It's funny: just looked up an example
XMPP dialogue. To send a 37 character message (including subject), will require to have an approximately 736 characters (linefeeds are counted).
Well, actually it's not bad at all! I figure I'm paying 5 cents per kilobyte - so this traffic will cost me 3.6 cents, which beats the ... out of 15c per sms.
Technorati Tags:
Mobile,
Instant Messaging,
IMS,
SMS,
XMPPpowered by performancing firefox