If you’re someone who wants to become an Android app developer, and certainly if you already are one, you’ll have noticed that there are thousands of apps on the Google Play store. Some are flooded with reviews and have been downloaded thousands of times, others never receive any attention, and have few or no downloads.
In this article, I’ll be covering some of my experiences as an Android developer—I have been programming for a number of years now. I started by learning three programming languages; C, C++, and Java. I then went on to do web development, before advancing to Android development.
The first applications I built were very basic and mainly for fun. A few years ago, I participated in a RHOK (Random Hacks Of Kindness) event and in a team of five we developed the award winning Buddy App. I also developed another app at around the same time, Sema, that would listen to Kiswahili phrases and translate them.
Hopefully, you can learn from my experiences. Let’s get started!
First, Understand the Development Guidelines
Google is the company behind the Android operating system and they have a full set of standards with which you must comply if you want to release Android apps on the Play store.
My first apps were messy. Sometimes I would install them and their icons would appear on top of other icons, or cluttered somewhere by themselves, all because I didn’t follow the user interface navigation guidelines.
These guidelines make it possible for users to quickly understand how your application works, make applications consistent with one another, and will ensure users are more likely to reuse your app. So apply them.
Understand Your Users’ Needs
Often developers sit in front of a screen, develop, and deploy apps that meet their limited needs. However the most successful apps are built with the user in mind.
In our Buddy app, our users were Android phone owners who often had more than one device. Managing their contacts was an issue, especially when they wanted to transfer contacts, or access their phone remotely. Our aim was to meet their needs.
Once the app is up and running, collect and address any issues raised. If users feel you are handling their issues well, they’ll keep using your app.
Often, developers have strong coding skills, but publish poorly designed interfaces. Remember, the user isn’t interested in the lines of code you have written, they experience the front-end. If you’re not a good interface designer, then collaborate with someone who is. If you can’t find anyone to team up with, learn the fundamentals of design and download some free UI kits.
Use Android, and Stay Up to Date
It is strange to think it, but many Android developers aren’t Android users. Android apps are frequently simply ported from iOS apps, and so don’t take advantage of Android’s enhanced abilities.
By immersing yourself in Android you’ll experience more than just listening to your app users. Participate in Android communities to connect with like-minded people. Forums like those on Google+ have been my learning ground. Many of them are vibrant, and inspirational.
As you know, Android is a Google product. Occasionally Google likes to release updates for its operating system. For example with the release of Android 7.0 Nougat, it is now possible to develop apps that can multi-task.
Multi-tasking allows apps to split the device screen and run multiple applications simultaneously. It’s tremendously helpful, and was announced first at a Google event. By keeping up with these events you’ll discover new techniques that will improve your apps. My favorite is Google I/O, which is a conference I have never missed. It helps me keep my apps updates, and be among the first to implement new standards.
Always Develop for Multiple Devices
My first Android device had a 3″ screen, and the apps I developed looked great…until I tried them on a larger screen; then they looked awful.
Android gives users the freedom of choice to run on a variety of devices, with countless different viewport sizes. As a developer you need to ensure that your application is well designed on as many devices as possible—if not all of them,.
However, it is impossible to physically test on every device running Android, and even the wealthiest development companies can only maintain a limited device library. To overcome this I use density-independent pixels in my layouts.
Ensure your application is fast on every device. I will absolutely discard any app that performs slowly, and I am not alone. I also avoid any app that will cost me on space, so make sure you optimize your app. You can enhance the speed of your app by refraining from from using unnecessary objects and variables; the more objects you use the more hiccups occur during garbage collection, which slows the experience even on powerful devices.
Test Your App. Then Test it Again. And Again.
As a professional developer you would never dream of releasing an app without testing it, but it is tempting to skip steps.
My friends wanted to see the Sema app on their phones shortly after I had presented it to the group. The app had been running smoothly on my Android simulator, but I hadn’t yet installed it on a real device. When I let me friends install it, the app failed to launch on some devices. There was a bug! Having experienced that embarrassment myself I cannot emphasize enough how important it is to thoroughly test your applications.
Having written the code you’ll already know how it works, so you know what to expect. So I always recommend getting users with a variety of experience levels to test your app, they will find issues that you didn’t expect. Get some other developers to test your app’s performance.