Three years ago I started my foray into Android development. I had followed and played with Android off and on for a while before that, but that is when I started my first app that would eventually get published. I’ve learned lot’s over the last three years. Below are some of the lessons I wish I knew when I had started.
1) Iteration -
You will never get it right the first time. There are so many factors to a really good app:
- Is it a good idea, will it resonate with people?
- Will it work on the huge variety of Android devices?
- Will it be found by potential customers that are looking for it?
- Will you make money off of it?
- Will your users take the time to rate it, write about it, and talk about it?
The fact of the matter is, if you are a single-person operation you can’t answer all those questions before you launch. Worse yet, you’ll probably spend a lot of time thinking and stressing about them. But, after you launch, answering those questions becomes a lot easier. Users will quickly let you know which devices are broken. You will also find out if it is well downloaded, enjoyed and rated.
The fear is that you’ll lose that first bump, that your app will be marred by bad reviews and never dig itself out of the hole it first started in. But it turns out that those first days, weeks, even months aren’t really that important. Your app’s growth will be slow and steady, and you’ll have plenty of time to fix those issues. Even if your app is downloaded lots, it will tend to maintain that velocity and you’ll have plenty of time to overcome bad reviews and issues.
But only if you iterate. If you let it sit, it will never get better.
2) Go small -
Everyone says go big or go home. This couldn’t be further from the truth as a single app developer. The best apps are developed by large teams that contain artists, businessmen, designers, developers, and a whole lot of money. You can not compete, no matter how hard to try. But the app marketplace is full of customers, and that gives you an advantage that most domains don’t enjoy. To date there are over a billion Android activations, so even if your app will only be found by 1 in a million, you are still looking at one thousand downloads. And trust me, you can do much better than that.
The goal is to find a niche market, and build a super simple app. Don’t add any extra features. Don’t try to compete with the big kids. Just keep it simple, well designed, and with a single purpose in mind. You save time, but get to test the waters a little before investing a lot. And if you plan to iterate it is easy to add more later, assuming it is well accepted. Your customers know better what they want than you do, and when you give it to them they’ll be super pleased to have their voice heard.
3) Confide in experts -
No matter how good you are at one thing you are terrible at many others. When I first started I assumed I could do it all myself. I’m a great developer, I’ll let that part shine through, but I can also handle the art, music, and business side of things myself. It turns out, I’m really bad at art. I mean, my art may be passable in some circles, but the moment you see an experts art nothing else compares.
Don’t get me wrong, to some degree you’ll end up wearing all of the hats. If you are a single-person operation with no money you don’t have any other choices. But the moment you can defer your expertise to others. And the moment you have money iterate with it. Go find artists to redesign your apps, marketers to improve your listings, and even other developers to alleviate some of the workload.
Find what you are expert in, and focus on that piece.
4) Throw it away -
Sometimes you will believe you have a great idea. You will put time, effort, and hours into it. And one day you’ll wake up and realize that it doesn’t jive. Perhaps it isn’t a good idea after all. Perhaps it is too much effort, or puts you in league with the big kids. Perhaps the people you confided in didn’t follow through, or were as expert as you hoped. Just throw it away.
It will be hard to do. Because you’ll have invested so much time and effort into it that you will feel obligated to follow through. But it turns out that the cost is much higher than the reward in those cases. Familiarize yourself with the sunk costs principle, and try to recognize when your costs won’t be rewarded after all.
But the good news is, if you are planning to iterate, throwing away isn’t terrible. You can throw away a piece and iterate over it again. You can throw away an idea, and start a new one. Throwing it away shouldn’t be looked at as a terrible idea, but rather a price you paid to improve the quality of your idea or app. You paid it because you didn’t know the answer, but now that you do you can create a better version.
All in all I believe this experience has been overwhelmingly positive. But I think if I would have known those four points from the beginning I would have stressed less and enjoyed more.
5) Be Patient
Of course you want your app to be successful. And it will hurt when you only see a small number of download a day. But those small numbers add up and will compound with time.
When I first release Palette Painter it was only getting 1 or 2 downloads a day. That grew quite a bit as I iterated over and over. But it capped out at about 300 downloads a day, a small number compared to many other apps, even many of my other apps. Yet those 300 a day have slowly added up, and Palette Painter now has a grant total of 49,000 fairly active users. While still small compared to my other apps it isn’t a tiny number. And due to the nature of the app people spend more time in that app, and the revenue is just as high as my other more successful ones.
I almost gave up after Palette Painter. But I now believe it is probably my most successful app so far.