How I developed my first Android app
One of the best features of the modern web is that everything is so easy to try. Want your own blog? You can have one in three clicks. Want to learn about advertising? You can buy Facebook ads in a matter of seconds. Want to understand the app economy? That’s pretty easy too.
I’ve been getting into barbecuing for two years or so and, finally, this spring I grew tired of carrying around a stack of paper directions with me. I turned my grill instructions into a text file for my phone’s notepad but soon started thinking that — since I was going to be on my phone anyway — they should be in an app. I had never made an app before, so it seemed like I had the makings of a fun project on my hands. And the end result ismy first Android app.
At the time I wrote this article I had two apps published: my original BBQ app and a screen-based flashlight app. They are still under development and more are on the way.
This is the story of my journey from app user to app developer. I learned a lot in the process of building my first app, and almost as much as I built more. Most of all I learned that building an app isn’t too difficult if you are patient and you keep your goals modest.
Your platform and tools
Once you’ve decided to build an app, you need to pick your platform. Android made sense for me because I wanted maximum flexibility and to remove as many obstacles as possible. This completely comes down to personal preference, but the barrier to entry is lower in Google’s Play Store than Apple’s, plus with Android you can circumvent official app store’s altogether. There are a few other minor details to consider, such as the tools you’ll want to to work with, how much you are willing to pay for a developer account ($25 to Google vs. $99 to Apple), and what devices you have available for testing.
Ultimately I went with Android because testing apps is easier, I could send around APKs to my friends, and I could use the tools I wanted to. Also, with Android I knew that I’d be able to own my app and my account, not get caught up paying a service in order to maintain my software.
Once you’ve chosen your platform, you need to pick your toolset. It was important for me that I would be the sole owner of my app and that no one would charge me each month for it. A lot of these app builders have huge advantages for would-be app developers — such as zero coding skills required and multi-platform support — but they come at a price. The tradeoffs vary, but many will leave you without the ability to monetize your app, with a monthly fee, without the source code, and with built-in ads (that aren’t yours). That’s not to say that services like appery.io ormobincube are bad, they just didn’t fit my needs.
Knowing that I did not want a monthly fee and that I wanted full ownership of my app, I was willing to accept that I would be restricted to one app store and that my result might not be as slick as it otherwise could be. The tool I went with was MIT’s App Inventor 2, the tool Google originally built in order to promote app development. I had meant to try it out at the time of its release and never got around to it. AI2 is easy to use, no real coding skills are required aside from a basic understanding of syntax, and you fully own the end product. The tradeoff is that App Inventor 2 is pretty limited — you can’t insert ads, it doesn’t have access to some basic hardware, and there are a lot of Android tasks that it can’t do. Regardless, I knew what I wanted to do and it was clear that App Inventor could do it, so I was set.
Once I got my head around what App Inventor could handle, the building process is quite simple. AI2 uses a drag-and-drop set of blocks that makes app creation quite simple. It takes some time to learn the blocks and how they interact with one another, but there is excellent community support and a near unlimited number of tutorials online.
The build process is going to vary based on the tool you use, but if you are not a developer I’d simply stress that you find something you are comfortable working with that has a sufficient level of support (community or otherwise). If the app is never going to make a dime, you probably don’t want to spend any money on it, but if you are building it for you business then that monthly fee means nothing if it the result is good enough.
Publishing an Android app
Once you have a working app, it’s time to get it on devices. App Inventor works in a tethered mode for testing, in the Android emulator, or as a APK file that it delivers to your smartphone via QR code. I did the majority of my testing with APKs as I wanted to test with the full app, not something interpreted through an emulator or another intermediary. Once I felt the app was done it was time for the Play Store, but I could have just as easily put my APK in a Dropbox folder or on a website and distributed that way, albeit in a more limited manner.
Putting your app on the Play Store and/or Amazon App Store is a simple process. You take some screenshots, fill in a few forms, hand over some information, and in a few hours your app is available. You’ll need to make some decisions about pricing and similar matters, but if you aren’t trying to make a living off of your app there isn’t much to worry about here.
One fact I had to learn the hard way was that you need to be very careful with security, even if this isn’t even remotely an issue for your application. In retrospect these look obvious, but they were easy to overlook at the time, so take notice.
First, permissions are a hassle. Both Summer of BBQand Red Telescope Flashlightare extremely basic apps that ask for almost no information or access. The app permissions ask for more than that though, and I’m not entirely sure how to fix them. From the best I can tell the extra permissions were added in when I was testing out features that didn’t make it into the final app, but when I killed the features the permissions persisted. This is something I’ll fix in the future.
Secondly, if you take a look at the URL from Summer of BBQ, you’ll see that it’s downright ugly: https://play.google.com/store/apps/details?id=appinventor.ai_salcangeloso.BBQ_10. How’d that happen? I used App Inventor to build the app, my publisher name is my name, and the internal name I used for the first published version was BBQ_10 (a computer-friendly version of BBQ 1.0). After publishing and realizing my mistake I assumed I would be able to change the app name in order to clean up the URL and to fix the name that appears below the icon on phones… but you can’t. The only way to fix this would be to delete the app and publish it again with my fixes.
There are tools that can make the changes I need but these generally change your keystore, which means the Play Store’s security won’t allow you to re-upload the app (a changed keystore sets off all sorts of red flags). So at this point I’m stuck with an app icon that says BBQ_10 below it, or I need to unpublish my app and start fresh.
It’s all about the marketing
Ask anyone who has run a site, written a book, or published an app and they’ll let you know a universal truth: aside from your wife and parents, no one will just find your article/book/app. The internet is too big and the environment is too competitive for people to simply stumble on your work. Even if you have a product that is search-friendly and free you’re out of luck because so do a thousand other developers. So if you don’t have a personal fan club of 10,000, your download number is going to be pretty uninspiring unless you do something about it.
Marketing is the most difficult and, for most people, the least rewarding part of the job, but the good news is that you don’t need to do it. If you are happy with simply having an app that people can download then there is nothing to worry about, but if you’d like to make a few bucks or inflate your internet ego by having a respectable number of installs, then you’ll need to figure something out.
So far I’ve limited my marketing to linking to the app on social networks and my success has been limited. To date I’ve pulled in 110 combined downloads and $0. I have some plans for increasing exposure to the apps and possibly generating some income but at this point I’d take downloads over money.
Development for dummies
At this point I’d hardly consider myself a developer, but I can say that I’ve learned a lot about app development and I’ve had more fun than I expected. I’ve been able to build apps to solve my own problems, and then released two of them to the public, because why not?
In the future I’d like to investigate the feasibility of app development as a source of income (read: beer money), using more advanced tools like Android Studio, and increasing my download numbers. The app development process has been filled with hurdles, but ultimately it’s been much more rewarding than I expected. I think a major part of this has been due to my choosing Android over iOS as the openness of the platform, the strong community support, and the ease of development have all made the process a much better experience than I would have otherwise expected.