We live in exciting times for mobile app development! There are so many good smart phones out there now, so many mobile OS platforms to choose from. It’s hard enough to decide which phone to buy much less which phone to make Apps for! Most everybody knows about iPhone Apps, in fact, I suspect that many don’t realize that there are other types of Apps out there. My goal in this article is to educate you about your options as a mobile App developer and help you decide which one(s) to build your new App on.
First of all, lets talk about some basic terminology. The two terms you need to know here are “OS” and “platform” — two terms which basically describe the same choice. OS stands for Operating System and it is the platform that runs everything on a computer or smart phone. Most of you are already familiar with the desktop OS‘s like Windows 7 or Mac OS or even Linux. An OS forms a platform for your App to operate in. The OS is sort of like a house, it provides basic services like water, electricity, air conditioning, etc. In other words, it forms an environment which allows you to function. You could live on a patch of dirt but it would take a lot more effort on your part. Your home provides a platform for your lifestyle.
Similarly, the OS provides basic services which allow your App to do things like put images on the screen, make sounds come out of your iPhone, connect to the internet, and so on.
Currently there are a wealth of different platforms for you to choose from when you go out to buy yourself a smart phone. Apple basically invented the concept of the App and the App Store where you can purchase inexpensive Apps, download them to your phone and do cool stuff with them. The term App is shorthand for Software Application, quite simply an App is a simple program which does something of interest on your mobile phone.
The pre-eminent platform for a few years now has been the iPhone by Apple. They now call their OS the iOS which runs on all of their iDevices: the iPod Touch, the iPhone and the iPad. Anybody who wants to make an App had best plan on making their App work on iOS because that has been the most popular and successful App platform for a few years now.
The problem with the iOS platform is also its strength, it only runs on three devices. What if you want a bigger screen, or a smaller one? What if you want a really fancy camera on your smart phone?
Along comes Google with Android. Android is another platform which is basically Linux adapted to the mobile phone. Google has taken charge of the Android environment and is having remarkable success. In fact, Android is now selling more free apps than the Apple App Store is. Android is definitely on the rise as you can see from the graph below. It works on a bevy of different phones from different providers. Android sales are now higher than Apple iPhone sales. Most analysts agree that it is only a matter of time until Android dominates the cell phone market.
It is rapidly becoming apparent that anybody who is serious about making Apps must seriously consider the added expense of creating Android versions of their Apps.
But that’s not all! There are a host of other smart phones out there. Microsoft announced the release of their WP7 (Windows Phone 7) OS in late 2010 to many positive reviews. They have recently purchased Skype in order to gain some market share.
BlackBerry dominated the smart phone market for many years and continues to have a substantial share of the market. Unfortunately, they seem to be losing ground to iPhones and Androids.
Palm developed their WebOS and got rave reviews from the critics. They were recently purchased by Hewlett-Packard so they may yet develop momentum in the market place.
As I said in the beginning of this article, we live in exciting times for App development. Few can afford the costs of developing their App for all of the platforms out there. Frankly, there isn’t really much point in developing apps for WP7, BlackBerry, or Palm because they have such a small share of the App market. My recommendation: make your App for iOS first and then build an Android version (if time and budget allow).