Wednesday, March 26, 2008

Find Your Way in WA with Google Maps

I hail from the small-town city that is Perth in Western Australia. If you were feeling generous you could say that Perth does not have a reputation as a fast moving, innovative city ready to embrace change. So it's great to see the local government embracing the future, the locals will now be able to schedule trips on the on-time, on-budget Mandurah rail link using Google Transit!


View Larger Map


It's actually really neat and I congratulate Transperth for being the first Australian transit authority to get involved with Google Transit. Nice one!

In related news, you can now add new places to Google Maps for any physical location in Australia (or New Zealand or the US). So if there's a local landmark, or a new business that doesn't appear on a Google map search you can go ahead and add it yourself.



Nice touch, and a good way to ensure visitors can always find a bus to catch to get home from a day's site seeing.

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.