Friday, March 14, 2008

Android v iPhone: SDK Showdown

Apple responded to Google’s Android SDK gauntlet in some style last week when they released details on the much anticipated iPhone SDK. Is it a legitimate challenger? Let’s take a look.

FeatureAndroidiPhone
SDK Cost$0$99 (to allow distribution)
Distribution Cost$030% of the list price
Distribution ChannelOpeniTunes exclusive
Mashable Maps?YesNo
Location Services?Per HardwareGPS Pending
Accelerometer?YesYes
Multitouch?NoYes
3D Graphics SupportYesAdvanced
Background ServicesYesNo
Application InteractionSupportedDisabled
Native P2P CommsGTalkNo
Actual Phones that Support the SDKQ4 20084 million and counting


Free versus Really Not Free

A 30% cut of the list price? Even my agent would blanch at demanding that sort of cut. The $100 fee is just baffling. Why charge? I’d love to have a play with the SDK but I’m not convinced it’s 10 books worth of entertaining. I’m not writing mobile apps for profit so where is the return on my investment? It’s a system designed to provide a smooth distribution channel for approved 3rd party providers but it’s going to discourage those who are simply ‘iPhone curious’.

Android’s approach charges nothing to experiment and there’s no distribution cost. If one of my experiments turns into something people will pay for I won’t have to hand back a third of the price to Mountain View or Cupertino.

Foreground versus Background

Techcruch pointed out this gem in the iPhone docs. Your iPhone applications can only run in the foreground. If you switch away for any reason it will close. In the process of creating examples for my book on Android development I found that background services are one of the most exciting features of Android, albeit not the flashiest, so it’s very disappointing to see this explicitly disallowed on the iPhone.

Foreground only apps are great if you’re writing games (clearly the big target for Apple) but 90% of the time my mobile lives on my desk or in my pocket until it rings, flashes, or vibrates.

Background services let you create applications that extend this event driven model. Maybe it’s an app that keeps track of the football and vibrates the phone when your team scores, or maybe it changes the LED color when your team's ahead or behind. Maybe you write a service that sends your location to your friends so they always know where you’re at. This is the sort of thing that’ll make my mobile more useful not just more entertaining.

Interprocess Communication

The iPhone explicitly disallows communication between processes, to the extent that each application and all its data are completely sandboxed. There’re a lot of good security reasons to do this but Android manages to handle it without the sky falling. Then again, if your application is only allowed to operate in the foreground there’s not much point trying to communicate between two apps.

Native Map Support

Since the iPhone release Google Maps has been its most popular application. In Android I can write on-phone mashups, on the iPhone I can’t.

Bottom Line?

The iPhone SDK is a way for game and mobile developers to write the same sorts of programs as they always have but on the shiniest new device on the block. That’s great if you want a 3D, accelerometer controlled version of breakout, or to play Spore on your mobile, but it doesn’t bring anything new to the party. Well, apart from an extortionate 30% licensing fee.

Three of the four iPhone apps demoed at the release were games. The iPhone looks like a great platform for mobile gaming. It’s about the size of a PSP or DS and the interface has some great possibilities. While it’s an excellent portable platform for running software the SDK restrictions make sure that no one is ever going to download an iPhone application that fundamentally changes the way they use their phone. An iPhone will always look, feel, and work the way Apple designed it.

Android lets you write applications that do more than just run on a portable device. It has the potential to create software that extends the functionality of the phone itself, to change how and why you use your mobile phone completely. More on that later.

6 comments:

  1. I didn't realize apple wouldn't let you create a map mashup. That's a one of the most interesting things about android.

    ReplyDelete
  2. Anonymous6:22 pm BST

    "While it’s an excellent portable platform for running software the SDK restrictions make sure that no one is ever going to download an iPhone application that fundamentally changes the way they use their phone. An iPhone will always look, feel, and work the way Apple designed it."

    Beautifully stated

    ReplyDelete
  3. Hi! Really interesting article. I'm going to read your article on programming for Android next. But I am curious if there has been any word of iPhone map mashups? Are they still not possible?

    ReplyDelete
  4. Anonymous11:57 pm GMT

    iPhone map mashups are still not possible using the iPhone SDK.

    That's why we created mapNinja: the iPhone map SDK.

    Using mapNinja, developers can add fully mashable, interactive maps to their native iPhone apps in 3 lines of code. Check out www.mapninja.com for more info.

    ReplyDelete
  5. iPhone application that fundamentally changes the way they use their phone. An iPhone will always look, feel, and work the way Apple designed it. Interworld Commnet provides iphone and mobile application development, web & intranet application development, seo and internet marketing.learn more visit @http://www.innovativepeople.com/iphone.html

    ReplyDelete
  6. Great article. I'll use it as reference at my course conclusion work at the university, ok?
    Than you!

    ReplyDelete