18 Mar
Posted by suresk as Technology, Software Development, Java, OS X, Mobile Development
2008 is shaping up to be a great year for mobile development. Google released its Android platform late last year, and Apple has released an early version of its SDK for the iPhone just a few days ago. I’m not a full-time mobile developer, so I figure I’ll eventually have to settle on one or the other to target for my hobby apps. I’ve tried to take a look at some of the advantages and disadvantages to each platform.
Development Platform
One unfortunate aspect of the iPhone SDK is that it is limited to computers running OS X - no development on Windows or Linux. This isn’t a problem for me personally - I do most of my development on a Mac anyway - but I don’t really like vendor lock-in like that. Indeed, this is one of the biggest reasons I have stayed away from Microsoft’s .NET platform. Also, the iPhone SDK uses Objective-C and Android uses Java - so if you have experience with either language, you’ll have a leg up on the corresponding platform.
Openness of platform
I have to admit, the iPhone SDK is nowhere near as locked down as I expected it to be. I was expecting it to be locked down roughly on par with how AT&T locks down JavaME development on their network, but was pleasantly surprised by how much you have access to. Still, it is hard to beat Android’s openness, and Android clearly wins in this category.
Market
This is one area where the iPhone clearly wins - there are already millions of them currently being used, whereas Android currently has 0 devices even available for purchase at this point. Apple’s distribution model for iPhone apps is very compelling as well - they handle sales, processing, and hosting and you get to keep 70% of the price. It remains to be seen what Google will do in these area, but if there is one thing Apple does really well, it is marketing. I was about ready to ignore development for the iPhone, but this single factor alone is making it worth a second look to me.
The real issue is going to be - who does Google team up with as a carrier, and how many phones are they able to sell? All the cool features in the world won’t mean much if you don’t have a very large market.
Cost
A lot has been said of the $99 cost to get into Apple’s iPhone developer program. It would be nice if this were free (like Android), but in reality, $99 isn’t too bad compared to the cost of getting certificates for JavaME apps. Plus, if you are selling apps, the $99 is a pretty cheap way to take advantage of Apple’s marketing and distribution services.
Investment in the Platform
It is clear that both platforms are being heavily invested in. Google is giving out $10 million in prizes, whereas Apple has partnered with VC firm Kleiner Perkins to offer $100 million in funding for iPhone apps.
Features
I would expect both platforms to be fairly similar here. Both platforms will support touch screens. Android apparently will support 3G out of the box, whereas the iPhone doesn’t currently. There is speculation that Apple will release a 3G enabled phone sometime this year, however.
Features are one area where Google’s platform can beat Apple’s - since there will likely be a wide variety of models available. Need more accurate location services? Get an Android-based phone with a built-in GPS.
The last issue is the ability of applications to run in the background. iPhone applications cannot do this, which rules out any sort of IM client, for example.
Cool Factor
Nobody does cool like Apple - the device itself is sleek and attractive. The visual effects are nicely done, and you can tell the level of attention paid to detail.
In conclusion, it is an exciting year for mobile development. Just last year, I was lamenting the state of mobile development due to carriers locking down access to useful APIs. It now appears that the platform is being freed to a great degree, and we now have two excellent platforms to choose from.
RSS feed for comments on this post · TrackBack URI
Leave a reply