Apps are the gold rush of the 21st century. Build the next Tinder or Snapchat, and you can become an overnight millionaire – or so pop culture would have you believe.
In actuality though, the process of becoming an app developer isn’t as straightforward as just sticking your creation on the Google Play store and waiting for the money to roll in. If you want to start developing Android apps, here’s our guide to doing it right.
Step one: nail down your idea
Before you write one line of code, you should make sure that you have a cohesive and well thought-out plan for your app.
The Google Play store is filled with identikit apps that perform the same basic task with slight variations in visual design, and you need to ensure that yours stands out from the crowd.
Think about what you want to do with your app: what problem are you trying to solve? What experience are you trying to offer? What can people get from your app that they can’t get anywhere else?
Step two: plan your UX
A large part of the planning stage for any app will involve thinking about your app’s user experience (or UX) – the way your app works, and how people navigate through it.
“Consumers of all sorts are becoming more and more fickle when it comes to the UX of the app,” says Rob Lauer, senior manager of developer relations at Progress, a global application development firm. “This is why I always say the first step starts with consulting with a dedicated UX designer to map out the path of the customer, nail down how you want the app to be used, and identify any problem areas before you start coding.”
Step three: create a prototype
Once you know what you want your app to do, the next stage is to create a prototype to demonstrate it in action. “This could be a simple paper prototype outlining your ideas,” explains Gumtree’s Android app team lead, Claudia Hosu, “or a digital one with a mock-up of your proposed app.”
Feedback is important at the prototyping stage; putting your prototypes in front of some of your prospective users will allow you to fine-tune your design. You’ll be more likely to identify any mistakes, and you can also gauge their response to certain features which may need to be tweaked or removed.
Step four: assemble your tools
In order to start developing, you’ll need to download Android Studio, Google’s software package for Android Devs. Available as a free cross-platform download, Android Studio includes code editor, debugger, build automation and performance testing tools.
It’s also handy to have an Android phone around to test your code on. Although you can use a virtualised device, it’s more useful if you can see it running on an actual handset. In fact, Hosu recommends having two distinctly different devices, so devs can test how well their code works with different screen sizes, hardware and OS versions.
Step five: learn Java
Once you’re ready to actually build your app, you’ll need to be familiar with Java, which is the official programming language for Android. If you’ve already got experience with other languages, there are tools you can use to repurpose other forms of code to work with Android, but Java is the language that Google recommends.
“Java has the benefit of being around forever, static-typed, object-oriented, and is relatively easy to learn for modern developers,” Lauer says. “Since Java has a lengthy history, it’s very easy to find code samples online and assistance with solving problems via free online services like Stack Overflow.”
There’s also tons of resources for new devs online, such as the excellent Codecademy, which offers free online courses in numerous different programming languages – including Java. It even lets you undertake practical projects, like building games and creating websites.
Step six: start building
If you’re a first-time developer, building your first app may seem like a daunting task – but thankfully Google has a raft of documentation, guides and tutorials to help novice developers through the process.
Step-by-step guides take you through everything from basic functions, all the way to incorporating animated graphics, calling APIs and building cloud-connected applications.
“In terms of the actual ‘code to write’, I’m not sure what to say,” Lauer says. “’Write good code’ is obvious, but individual styles dictate the actual code being written. I can say that there is a vast ecosystem of extensions you can add to an Android app. One of the more popular hubs of Android “plugins” is android-arsenal.com, which provides countless opportunity to extend and expand your native Android app.”
Step seven: release and testing
Releasing your finished app into the wild is actually fairly easy. Deploying an app to the public via the Google Play store is a straightforward process, and it also includes built-in monetisation tools. However, that’s not the end of the story – you need to make sure that you continue to test and refine your app.
Feedback from the first set up users that download your app from the Google Play store is going to be critical in working out how your app is performing, and how well users are responding to it.
“This testing process is essential,” says Dan Drummond, Android consultant at mobile app development firm Apadmi. “Bugs and errors in apps are a sure-fire way to ensure that the app is deleted and replaced with something else that does work as the user is expecting. Our own research found that 61% of people would stop using an app if it was slow and unresponsive, and 26% would think less of a company if the app was poorly designed.”
Step eight: start again
Assuming your app isn’t just a one-off, this marks the point at which you should be starting the development cycle all over again. Whether you’re building an entirely new app or merely adding new features to your original one, you should take the user feedback and insights you’ve gathered over the course of building, testing and releasing the previous version and use it to inform the design of the next iteration.
This cyclical approach to development ensures that you’re always learning from your previous mistakes, as well as keeping on top of your user’s expectations.
This article originally appeared at itpro.co.uk