A month ago (Jan 2018) I released my newest android app, Remindee. In that short period of time it grew from 0 to 15k active users in a month and even got featured on the Next Web, Android Police amongst others. Like previous occasions where I’ve released an app that does reasonably well fairly quickly, I get emails or DM’s asking how I managed to get so many downloads, “where should I advertise”, “who should I pay” etc.. (For those wondering no, I didn’t spend a penny.)
Personally speaking I don’t think paying for installs is worth anything other than big download numbers, if that’s what your after then go for it but for me active users is what counts. I would seriously consider paying for Facebook ads if I knew what I was doing, but I don’t — so let’s not waste time there. Simply put, for me, it comes down to this — it’s all ratings game.
In my experience, once your average rating dips below 3.5 stars the likelyhood of getting new users, written about, organic searches etc is pretty low. No one wants to try or write about an app that they believe everyone else thinks is “trash” & if you’re showing up as a search result alongside other simliar 4+ star apps, which would you install? Therefore you want to do everything you can to minimize bad ratings & maximize good ratings. It’s a lot easier for the cream to rise to the top when it isn’t being weighed down by 1* review’s.
So I figured I’d write out a few of the things I’ve found most valuable to do this over the course of my app development career, here goes..
Build something you would want to use
There seems to be a lot of content online around the notion of building an app based on what’s already popular, viewing the top app charts across categories, looking for gaps in the market etc.. All solid advice I’m sure, if your goal is primarily to make money. From my experience though all of the apps I’ve ever released that have done well, have been built firstly because I wanted to use them, & then released secondly because I thought they might be useful to others. It’s a lot easier to know where to take your app when it’s something you actually use over second guessing what your target audience might want.
Get testers as early as you can
When you first release your app there’s inevitiably going to be issues you didn’t see coming — bugs, UX decisions that confuse the user, UI elements they don’t understand how to interact with, you name it.. The sooner you can get people using the app the sooner you can fix those issues before your user numbers start to go up & your rating starts to go down because those issues weren’t resolved early on. Early adopters are much more forgiving of works in progress than regular users. Also if the app is something you would want to use, you most likely know where you can find potential testers whether that’s via your social media, forums, comment sections of websites you frequent etc..
Make everything obvious AF
Just because you know how your app works doesn’t mean your user does. Just because you know that your app doesn’t do x, y or z because it’s not technically possible doesn’t mean your user does. Just because apps like yours are always running in the background but it’s only since Android Oreo that this information is displayed to the user doesn’t mean your user does (why Android why?!!). Make everything as obvious as you can. Use on-boarding screens, introduction pages, tutorials, popups when certain actions are made or settings are set. While you may think this is ruining the UX or users will be annoyed you’re treating them like idiots, what I’ve found is things like this are either useful to some users, or completely ignored by others. Either way, it definitely reduces your negative ratings when users understand how to use your app vs not.
Have a beta channel
Back in the day, I built & released a new version of my app ReadItToMewithout testing the prod build. Of course Proguard had shit the bed & in a couple of hours my rating charts looked like an inverted hockey stick. Lesson learnt. Nowadays the Play Store gives you the option to create a beta channel — use it. It’ll help you find obscure bugs, UX issues, migration crashes etc very easily — plus it’s a good tool to get early feedback so that by the time you roll out the next release to your users they’ll either love it or be indifferent too it, but at least you won’t start racking up 1* reviews because “it doesn’t work”.
Ask for reviews/ratings
Did I mention, ratings are king? Once you have a crap average rating it’s mighty hard to claw it back, and as mentioned earlier it’s hard to get users to try your app if they can see the majority of people who use it thought it was crap. Except maybe the majority didn’t think it was crap, maybe the majority love it. They just didn’t review or rate it. Ask them.
Be strategic, don’t spam users with popups asking for a review, ask them after they’ve spent x amount of hours using the app or taken a specific action a certain number of times. Make sure you give them the option to never be asked again & personally I’m a big fan of having an initial question “Do you like this app” to which a “Yes” response takes them to the “Leave a review/rating” popup, while a “No” response takes them to a “would you like to tell us why you don’t like the app” feedback screen. For me this has drastically changed both the amount of negative ratings I’ve gotten as well as the amount of feedback I’ve gotten from people who didn’t like the app, telling me how I can improve it for them.
Make it easy for people to feedback
All of my apps have multiple obvious buttons in them to contact me via email with feedback. “Ask for help”, “Contact Us”, “Request a feature” etc.. People want to tell you what they want or what’s not working for them, if you give them no option to do so directly they’ll put it in a 1* review — however if you give them the option they might just take it & you might just make a fan out of them eventually.
Reply to all your emails
Most users don’t expect a reply from you. You’re not a person. You’re not someone sitting in a coffee shop, on their laptop, headphones on, slamming their fist on the table wondering why gradle took 5 mins of “building” before crashing saying it’s out of memory. You have an app, on the Play Store, & they just read about it on the Next Web — you’re not a person, you’re a corporation. Until you personally reply to them. Aside from the obvious (dealing with feature requests, helping them work through issues etc), the amount of replies I get back from people pleasantly surprised I’d responded to their email saying they’ve never had a response from a developer before is amazing. Oh, and it gives you another opportunity to (respectfully) ask for a rating.
Listen to your customer
Now that you’ve given your users all these avenues to feedback to you — listen to them. You don’t have to take on every feature request but if you’re getting frequent requests to add a feature that’s within your power to do so — do it. Worst case no one cares, best case they write a raving review which equals a better rating which equals the likelyhood of more installs.
There’s no wrong way to use the app
I really didn’t want to add a button to create a reminder to Remindee. That was going to be it’s unique feature, you create reminders from the Android share menu & if you’re trying to create reminders inside the app you’re using it wrong. Except if you come to the conclusion your users are using it wrong you’re probably not listening to them. I could’ve been stubborn, replied to every email for this feature with “that’s not how its supposed to work” (it’s really not) but they want to use it how they want to use it & if you can’t accommodate them, they won’t use it. Now the app has 4 different ways to create a reminder manually aka more 5* ratings.
Trial paid features
People don’t want to pay for something when they don’t know exactly what they’re getting (is it worth it), and the Play Store refund policy is not super clear to users (or developers for that matter). So rather then forcing them to pay for something and then requiring them to refund it if they don’t like it, give them a trial. Make it clear it’s a trial, how long it lasts & exactly what they’re getting for it. When it’s expired let them know it’s expired & ask if they want to pay. It’s that simple. If they don’t they won’t, if they do they will but either way they know what they’re getting & it removes one more reason to leave a bad review because it’s “not worth the money”.
The likelihood of a tech journalist organically discovering your app when it’s initially released is pretty slim so once you’re happy with your initial release, you feel it’s bug free & your initial set of early adopter users are happy with it — start telling the people you want to write about it that it exists. Email them, DM them, tweet them — whatever you feel is the best medium for that person, get in touch. I personally prefer email, not spammy, just “Hey, this is my new app, it does x, y & z and you can find it here if you want to check it out”. I’ll be honest, probably 1 in 15 of these emails translates to feature BUT that one feature is then picked up by others which creates a nice cascade effect in spreading the word.
And that’s it — all the nuggets of wisdom I could think to muster based on my own experiences being an indie dev on the Play Store. If you find it useful or have any questions drop me a comment, and if you have any other tips, tricks or insights that keep your apps climbing the ratings I’d love to hear them!