By Nicholas Wright, CEO at AppInstruct
How do you build a mobile app? This is the very question I myself had 13 months ago. I answered the question by hiring the relevant domain experts, and in the process created AppInstruct’s Online Course — designed to teach how to make an app to all of us who have an app idea.
This post begins a series here on the oDesk blog, where we’ll explore both the technology and business aspects of app making — either as a start-up, as a hobby to create additional income, or to promote an existing business.
The great thing about the oDesk platform is that it provides a remote network with all the design and programming expertise you need, allowing you to manage the process part time from home. This enables you to validate your idea, whilst remaining secure in your day job.
So where to start? Well, the first question you should ask yourself is:
Should I learn to code?
It is an often-overlooked fact that the programming languages used to build native Apple and Android apps — Objective-C and Java, respectively — are two of the hardest to learn.
This means that for anyone starting out without prior coding experience, the quickest route to market is going to be contracting out the programming. If you have no prior coding experience, you can expect it to take you more than six months of full-time study to become competent with Objective-C or Java. To develop real expertise, you can expect it to take 18 months.
For those with prior coding expertise in the popular web languages — such as PHP, Ruby or C# — learning Objective-C or Java would be easier, but there will still be three to six months of committed study before you become proficient enough to make reliable mobile apps.
It should also be remembered that programming requires a logical and mathematical mind; hackers become hackers because their innate abilities and interests predispose them to start coding at 13, much like elite athletes and novelists. It’s not for everyone.
But for those with the time, there are several good online resources that will help you learn to code. For absolute beginners, there’s Codecademy (which just released an on-the-go “Hour of Code” iPhone app). For the more advanced, Team Treehouse and Pluralsight are good options. If you want to learn the broader technical and business skills required, AppInstruct complements and provides an alternative to these app programing resources, with topics including user experience and user interface design, project and product management, and how to recruit and manage a development team.
It’s not just about the code
The small screens of mobile devices make user interface design more critical than on the web. Users’ fickle engagement make user experience design arguably the single most important factor in determining whether your idea will become a successful app. Indeed, it’s more significant than being able to program well, which is a given.
Along with the technical aspect, there’s also the business aspects associated with launching any new venture — be it a start-up or a side business — such as validating a customer need, drafting a business model that addresses monetization, and finding the legal and marketing skills required to protect and promote the intellectual property you create. Marketing the app is one of the most important aspects in any launch, given that both the App Store and Google Play each contain about one million apps.
While that sounds like a lot to compete against, it’s worth remembering that the market is increasingly global — meaning the potential customer base is counted in billions. As smartphones become more pervasive, penetrating developing economies such as China and India, the opportunities only continue to grow. Indeed, Gartner has forecast the value of the mobile economy as tripling over the next 3 years, to $74.5 billion.
So with a coding course taking many months and not all of us blessed with the mathematical and logic skills required of the best developers, in our next post we’ll explore how much it costs to hire a developer in our next post.
Editor's note: To read more from Nic Wright and learn more about mobile app development, check out these related blog posts.