iPhone SDK vs. Android SDK | 1:0

A couple of months ago I joined the Google Android developer talk in Munich. At this time no device were available at all. (Sidenote: at this time Apple had not released it’s iPhone SDK). Now that the G1 from T-Mobile of America is available it’s time to think about supporting a new mobile platform.

So, we need to learn the SDKs to create amazing apps. But whenever I think about mobile development my experience in J2ME comes to my mind. Which means 10% idea, 30% development, 60% testing and debugging. Incredible buggy implementations of J2ME on different devices finally stopped me from developing further Java apps for mobiles.

After hearing from Android and the iPhone SDK I wanted to give mobile app development a new chance. The Android SDK is based on Eclipse which is fine. I already had some experience using this IDE. Furthermore Android is Java programming. So, many Java developers should be aware of this new platform.

To create iPhone Apps you have to use Xcode. Which was fine for me too because I did all my ActionScript 2.0 development on Xcode. If you don’t have any experience in Xcode it takes some time to get used to it (setting the Layout setting in Xcode preferences to “All in One” is definitely the best advice I can give for Xcode starters and Eclipse developers). Maybe the major difficulty is learning Objective-C. From what I can say. After a few days with lots of question marks flowing around your head you will see that it’s not that far from other objective programming languages you might already know. Just having the message syntax

[object methodWithParam:param];

instead of the well known dot syntax

object.method(param);

But well, you might want to chose one SDK for now. So maybe it’s not worth learning Objective-C. Looking at the features, Android might be better. It offers background processes and stuff like that.

Coming from a designers background I often create apps that don’t need to run in background. It’ll be more about apps that could turn into some advertising campaign or something. So there have to be a smart idea or even a funny game idea and the app development will start. That’s being said a lot of work will go into user interface and interaction design.

In J2ME almost everything was done via programming. Creating user interfaces for Android and iPhone is lot easier using an Editor in Eclipse (Android) or the Interface Builder (iPhone). Well, and that’s definitly the victory for Apple. The Android Editor does help a lot … in comparison to J2ME. But Interface Builder does a really great job. Sometimes I think it’s even easier to get something to work than using Flash.

So for now Apple has won this round. But as you may know. The first iPhone SDK Beta Release had almost no Interace Builder support. Google will hopefully strengthen the development on this part. For my perspective they have to.

First Android device will be announced next week

G1. That’s the name of the device that will be officially announced next week by T-Mobile USA … just to remind myself checkin the news on tuesday

Google Android in Munich

Two days ago I went pretty spontaneously to Munich. Google was presenting its new mobile platform “Android”. I had the hope to get an answer if this new platform finally makes the development of mobile applications easier without all the trouble knewn by J2ME.

First half of the session was kind of disappointing because the Google guys did show the same stuff I previously saw on Youtube and the Android documentation. It became more interesting in the afternoon.

First, they announced a new version of the SDK that will be out very soon. And this new version will have a lot of improvements (more consistent user interface, more APIs and bugfixes). Second, they came up with some interesting details which let me look forward to the first devices available in 2nd half this year. Another interesting aspect was the discussion with others who joined the Google session. Obviously I was not the only one who minimizes activity in J2ME because others went also into trouble distributing their apps to different devices. And starting C++ for developping apps for Windows Mobile or Symbian does not sound like an option.