Friday, November 16

Building IM on mobile phones is tougher than it looks

The very friendly and open team at free multiple-IM-platform provider Meebo has been copping some flack from users this week for its decision to optimise Meebo for Apple's iPhone.

'Hey,' they're saying, 'What about all the gajillions of Meebo users out there who don't own an iPhone?' and they have a point, kinda. The iPhone isn't the most common handset on the planet...

...Yet. It is the fastest-selling handset in AT&T's stores and I'm fairly certain it will be the fastest selling handset in Europe and the US over the next 12 months when the numbers are in (w00t, bold prediction!)

Meebo more likely chose the iPhone first because it runs a relatively standard, relatively sophisticated browser; essentially most of the functional bits of Safari, based on the well-understood WebKit. As Paul from Meebo says on the blog, making Meebo work on an iPhone wasn't that hard because it wasn't too different to making Meebo work on Safari, and it did that already.

There would be two ways to get Meebo working on a broader range of mobile handsets: develop client software for each of them, or develop versions for common mobile browsers such as Opera.

Coding clients for other handsets is a humungous task. So humungous, nobody really attempts it any more. There are so many different flavours of even the most popular mobile OSes that Meebo would have to quadruple the size of its dev team for the next few years if that was the goal. There's 20+ popular J2ME implementations out there, multiple Symbian versions, Windows Mobile, Blackberry, Palm... Fugedaboutit.

Mobile startups with client software don't - can't - support such a range of variants. Most support only a couple of recent Symbian versions, and/or maybe Windows Mobile. Hardly any try to keep up with J2ME.

Developing support for popular mobile browsers is no mean feat either. Good browser support means developing an interface that scales well to a galaxy of different screen sizes, resolutions and numbers of colours. It means ensuring you deliver good usability while taking advantage of whatever additional goodness might be available on some browsers - DHTML, Javascript, Flash, etc.

Yet you've also got to degrade functionality gracefully too, so that the primary Meebo features also work on some of the more primitive mobile browsers out there.

End of the day, Meebo's not really in the mobile messaging game. We can't expect a tiny startup to make that big an investment in developing stuff that's not core to its business.
clipped from

We had a few bugs to fix before meebo was usable. First off, the iPhone doesn’t have an enter key so there was no way to send an IM message! I spent most of my weekend tweaking our code and learning the major differences between Safari on the iPhone and Safari on the desktop. We released a few placeholder tweaks but using meebo on an iPhone was still pretty fiddly. After using the iPhone and playing around with Safari, we found that the mobile version wasn’t very different to the desktop version and with a little work we could make a really great mobile interface for meebo. A couple of late nights later we were very proud to release the mobile version of meebo for the iPhone.

 blog it

Buy content through ScooptWords