Elance Blog

Battle Royale: iPhone, Pre, Android, BlackBerry, And Windows Mobile

With Palm’s latest move into the mobile phone and application arena, the smartphone plot involving the big five thickens. Although each of these players have their respective Software Development Kits, there are clear pros and cons of each that can effect the application development process for you as both a skilled provider or enterprising employer.

If you’re sitting on a golden idea for a mobile application yet are completely clueless on all of your accessible choices, don’t just jump into fray without preparing yourself. This guide will provide you with a quick and dirty overview of each of the five main mobile platforms available for you develop on today.

Apple iPhone: Today, Apple has pretty much become synonymous with “mobile apps”. With the release of the Apple iPhone SDK in March 2008 combined with the iPhone’s unprecedented popularity, the tech giant has been riding a wave of success to the top of the mobile applications hill. The benefits to developing on the iPhone are obvious: There are literally millions upon millions of phones already out there in the wild, the developer community is already very strong (with over 50,000 applications already in existence with 1 billion apps served), the platform has matured and already proven itself, and with patented multitouch technology and a built in accelerometer, the iPhone impressive iPhone hardware can power very high quality games and applications.

However, there are some tradeoffs to developing for iPhone. First, although the Software Development Kit is free, in order to release applications, you must join the iPhone Developer Program, which costs $99-$299 a year. Additionally, there is only one possible way to release software, and that is through Apple’s iTunes distribution channel. Although solid, iTunes will only publish software that passes Apple’s somewhat-controversial approval process, and they’ll take a 30% commission fee on top of that as well. One other key consideration: Apple is still struggling to compete in the business-centric market, which is currently dominated by BlackBerry.

Palm Mojo Software Development Kit:
The excitement surrounding the Pre’s recent launch has both the hardware and software world buzzing, and with good reason. (Check out our recent blog post about Palm’s Pre-release.) In what looks to be a direct attempt to embrace the mobile application development world, Palm has specifically designed the Pre to be an extremely flexible platform with a quick learning curve by utilizing existing web technologies (HTML5, JavaScript, and CSS). Here’s what is important: The Linux-based, multitouch smartphone has a few aces up its sleeve when competing directly head-to-head with the Apple iPhone. It offers simultaneous running of multiple apps, access to calendar and contact information for third-party applications (which the iPhone does not), and the ability to install applications over the air through the app store or through a USB cable, sans controversial approval process (supposedly).

This all sounds great in theory, but remember to curb your excitement as the phone and platform is only days old – at this time, there are only rougly 100,000 phones in existence with a pretty much non-existent development community. However, with the Mojo Software Development Kit coming soon, it will be interesting to see how big the WebOS development community will get. Only time will tell.

Google Android: Google’s open-source entrance into the mobile phone market with the T-Mobile G1 was an interesting one. Introduced in October 2008, the G1, aka gPhone, was the first to take a fully open approach to mobile phone operating systems. Similarly to the Palm Pre, the Java-based smartphone allows for all applications, first or third party alike, to have equal access to the phone’s core devices – contacts, calendar, GPS, dialer, etc. Not sure what this means? Think about creating an application that can call your friends automatically when you reach a certain destination at a specific time to alert them that you have arrived. And with less than one year under its belt, the Android community has flourished with over 5,000 applications developed. Google has obviously paid very close attention to the wants and desires of the development community by providing free and robust tools for all users, and from the developer perspective, it has totally paid off.

Yet even with all of these positives going for the gPhone, Google’s mobile phone project has failed to do anything more than mark a ding in Apple’s market. The lackluster reviews for the phone’s initial hardware design along with its relatively small user base has prevented Android from reaching true superstardom. More Android-ready phones are expected to come soon, but the competition for market share will be stiffer than ever.

BlackBerry Java Development Environment: Not to sit idly by while the other players get in on the mobile applications pie, BlackBerry has recently launched the BlackBerry App World for use on its devices. The Java-based platform also offers free development tools and offers several installation methods (over the air downloads via the App World and installation via USB syncing), and judging by how many BlackBerrys I see in the office around here, I can safely say that it’s a pretty popular device. The BlackBerry is pretty much the ubiquitous smartphone for all business users, and if your application is going to be business-centric, it would probably be a no-brainer for you to consider developing for RIM.

Then there’s the developer side to the equation. BlackBerry is a little late to embrace the development community. Many of the development tools are known to be somewhat outdated, and the core phone functions available to developers are limited, especially when compared to the Pre and G1. The one glaring consideration that must be made: You can not and should not underestimate the raw strength of numbers, and in the business world, numbers mean everything.

Windows Mobile:
The Windows Mobile platform is an old yet respected player in the game. The population of users is huge — like 50 million devices sold huge (with the European market being a huge chunk) according to Information Week, and it’s hard to argue with numbers like that. With robust tools for debugging and development available, programming on the platform is relatively easy if you are familiar with other Microsoft platforms. The recently launched Windows Marketplace Mobile also provides an additional channel for developers to quickly and easily sell their applications, and Microsoft allows for a healthy amount of core phone functions to be accessed through available APIs.

Windows Mobile is a solid choice when analyzed, yet for the uninitiated developer, learning how to program and code on Microsoft’s mobile platform can be difficult and cumbersome, which is exactly why Palm is redefining their development approach with the Pre. Also, getting on Windows Marketplace Mobile isn’t free, as there are applicable subscription fees to join.

A lot of information to soak up here, but learning and observing each mobile platform for its strengths and weaknesses is a crucial step in releasing portable applications. So I pose this question to the expert providers of each respective platform: Why did you choose to focus and invest in your platform? Where do you see each platform in the near and far future? And what impact do you expect with Palm’s Mojo Software Development Kit? Leave me your expert analysis in the comments below.

iPhone Developers on Elance
Palm Pre Developers on Elance
Google Android Developers on Elance
BlackBerry Developers on Elance
Windows Mobile Developers on Elance