Wednesday, March 19, 2008
Iphone vs. Android
Today at AJAXWorld 2008 in New York, Andrea Gazzaniga (our own Software Developer Manager at Funambol) delivered a very interesting talk about "developing Open Source Mobile Messaging and Sync Apps for iPhone vs. Android".The topic is quite hot. Apple just released the iPhone SDK and Android has been around for enough time for developers to figure it out. Not completely (for both), but enough to have a few ideas. And to get pissed at some choices, in particular on the Apple side ;-)
The Funambol community built on both platforms, so Gazza is one of the few on the planet that can talk about both with competence. I have my opinions, that might differ from his ;-)
Let me start with Android: it is OPEN. I like it. I feel Google is trying to re-design a developer paradigm, which is a big risk. If they succeed (it depends on devices being sold, not developers...) then they might have a lock in the operating system of the next 20 years. Yep, Android spans from mobile phones to many other devices. In my view, it might go back to sub-notebooks, which are the desktop of the future (and near present). That is, everything that is not a server. Not a small piece of the market.
The iPhone SDK is a real disappointment. Sometimes, I feel we should have kept the world split between those that get it (and have a jailbroken phone) and those that don't (and are happy with a browser). The SDK - as it is today - is an half-assed effort (pardon my French). It is just too limited, too full of traps, to be really useful. And gives the false idea of an open platform.
Take our push email and PIM sync client. Apple announced ActiveSync support. Nice, that means an integration from Exchange to the native email, calendar and contacts (I assume). So you would think you can do the same with the SDK.
Wrong.
First, there is no calendar API. What? Nope, no calendar API. No way to interact with calendar. But they do it with ActiveSync. It is a private API. Not an open API...
Second, there is no email API. OK, I was expecting this, but it still bothers me. Same as above.
Third, there is no way to do push, since the application die when they are closed (e.g. when your phone rings). You cannot fire an application in the background... You cannot notify the phone where there is a new email. Very useful.
Fourth, you cannot talk about the SDK. You must sign an NDA to download the SDK. What?? An open SDK I cannot talk about? What is in the word open that Apple does not get?
Fifth, there are "rules" that Apple will enforce. One is that you cannot run an application that is capable of executing code, which is not Objective-C. That means, no Java Virtual Machine (despite Sun saying they wanted to do it... ooops, bad marketing attempt) and no Flash (although Adobe just said the same).
Sixth (but there is more), no developer - that I know - has been accepted in the program to "sign" applications for inclusion in the Apple Store. Everyone was rejected. How are people going to spend time to develop apps that might never get into the Apple Store, since the developer does not have the ability to sign them??
Bottom line: Android is good and open. The iPhone SDK is crap and closed. We'll build on both for now, but Apple needs to get a grip on openness or we will all move to Android. You do not screw up with developers too much. They are easy to get upset and do not like to be pushed around. Apple be warned.
Posted by Fabrizio at 20:45

3 Comments:
Dan Morrill said...
Hi, Fabrizio! Thanks for the very kind words about Android. It's great when developers are enthusiastic about what we're trying to achieve!
I actually wanted to introduce myself at OSiM last week but unfortunately you were just getting ready to speak when I had to leave to make a meeting.
Perhaps we'll bump into each other again soon.
Comment Posted at 21:31
Jason Pollock said...
Personally, when I look at a development platform, I look for a C compiler. Then I can bring across the languages I want to use, instead of having to use the ones that the vendor provides.
Android? No C compiler. Java only.
Comment Posted at 21:18
davide_tarasconi said...
Being an Apple user people always take for granted that sooner or later I will buy an iPhone.
Wrong.
I'm waiting for Android-based devices, Apple really can't -and to some extents I believe they really DON'T want- to understand the open paradigm, which is crucial for any kind of future handheld devices.
(anyway we always forget that mr. Jobs' goal was to sell just about 10/12 millions iPhone, not to rule the mobile market...)




