Developing Phone Apps

Developing apps for smartphones is one of the most exciting opportunities to emerge since the development of the Internet itself. The barrier for entry is small and anyone, including you, can develop an application and launch it on the various App markets and be successful.

The market-share controlled by each of the major operating systems. As you can see from the pie charts below, Android controls a larger market share, but what is not obvious is that this market share is split across multiple app stores and hardware manufacturers. iPhone, while harder to develop for, is a more focused market.

What type of app?

There are really two approaches you can take to developing a smartphone app. The website approach and the App store approach.

The first is to develop a website that is designed for a smartphone’s web browser. We will not spend any effort on this approach since it sidesteps the primary benefit of targeting the smartphone platform which is revenue from the app stores.

The second approach is our preferred approach and that is to develop an App for a smartphone platform and launch it in the App store.

Which platform?

Where there are a number of potential smartphone operating sytems, there are two platforms we’ll consider for the sake of this article; the iPhone (iOS operating system), and Android. The total revenue for each platform is shown in the following chart by the analytics company App Annie.

Both platforms are worth considering and ideally, you would launch apps for both at the same time. However, this is not always ideal when you are getting started so on the assumption that you will pick one rather than both, lets compare the two platforms so we can make an informed decision on which one to start with. Review the following table.

Apple iOS Google Android
Cost to Develop $99 $25
Development Platform Mac Only Windows or Mac
Language Objective-C Java
Development Environment Xcode Eclipse
App Submission Approval Apple Reviews and Approves all Submissions No Approval Required
App Developer Console Apple iOS Developer Console Android Developer Console

Regardless of whether you develop the app yourself or outsource it, you need to be able to test your app and you will want to control the submission process. So it should be obvious that you will want a Mac and an iPhone if you want to develop an iPhone app. For Android, while you could have a Mac or a Windows machine, you will still want at least one Android phone and having multiple phones would be a good idea.

Out-sourced?

You don’t have to develop the app yourself. Believe it or not, outsourcing is something you can do with very little risk provided you know what you are doing. If you use an outsourcing site like Elance.com or vWorker.com you describe your project, put it up for bid, accept the bid that meets your needs and then post the project funds into escrow. Once the developer has delivered, you review the work, sign off on the results and they get paid out of escrow. If they do not deliver to your specifications, they don’t get paid.

The real issue then is how clearly you describe your project and this is where it gets interesting. The more specific you are, generally, the better your delivered results. There is some art to specifying your app design to the degree of detail you should have but it will be worth your time and will save you pain in the development process.

This doesn’t mean you won’t have frustration, but if you put the effort into it, you won’t lose money, just time.

Self-developed?

If you are a programmer, or if you would like to learn to program, then it might be worth your time to develop your initial apps yourself. First, it’s a very rewarding process and will expose you to the features and capabilities of the respective smartphones at a level you wouldn’t get otherwise. Second, while it will become cost-effective to have someone else develop your apps even if you are a programmer, knowing how to do it yourself will give you insight into the process that can only help.

Moving Forward

Regardless of whether you develop your first App yourself or out-source it, don’t wait. Define your initial app as a test to minimize your risk. Create a simple set of features, and make it easy to develop. Launch it in the app store and use it to gain experience. Then attempt more ambitious apps.