Ask HN: What is good business advice for independent mobile app developers?

154 points by Nuance ↗ HN

77 comments

[ 2.5 ms ] story [ 111 ms ] thread
Apologies if this is a bit off cuff, but I'd start around reading some things from the release notes community: https://releasenotes.tv/

Also..."startups for the rest of us" (which isn't mobile focused, but arguably more focused on bootstrapping), amy hoy's 30x500, etc.

Contracting or making your own apps?
Always be looking for leads.
As in selling your own apps? Seriously my advice would be give it up. You can make a good living writing apps for other people but the app store is a very very unfriendly place for indie app developers. Your odds of making enough to keep food on the table are much better in other niches.
I completely agree with this. Selling your own app or trying to make living off ad revenue is almost impossible.
Yes, I also agree with this. App stores are not made for indie unless you "know someone"
What can you recommend for indie?
Make good VR games.
Everybody I know who bought any kind of VR system has it sitting somewhere only to be taken out if someone comes over who "hasn't done this already". Then they go back to playing regular video games.
Then make good games.
Just my opinion, but I don’t think VR - especially mobile VR - is mature enough yet to support “good games”.

Maybe in a couple of years it will be. If you believe that, then yeah, now is the time to be building your skills and user base. I don’t think you’re going to hit it big just yet though.

right, i meant "good regular games". imho VR may not catch up at all ever, or we may have retinal implants earlier than that.
The same as for indie rock bands: do it if you have the passion, but don’t expect it to be your day job.
(comment deleted)
I agree with this sentiment.

I think the only thing you can do is push very very hard into a new area like AR or VUI. Otherwise you just have to hope to get lucky and spam everything and everywhere to get users. You might also have a very small chance by focusing on whatever the new API is that the platform is adding for the newest release. The app stores want apps that demonstrate how awesome the new thing is and will often feature an app that does it well for free. However, you need to realize that you must do it very very well, not just a knock off app.

I worked for a company that developed mobile apps for big corporations.

There is a lot money as an indie studio there because although you compete with other Big corporarions like Accenture, KPMG, Cap Gemini, etc... It is easy to outbid them because their costs are at least 2X your costs. Even id you pay you developers generously, you hace little structure and can beat them both in price and speed.

Just to clarify, this is what the parent was talking about. Make apps for other people, marketing dept of SugarWater.Co needs a new flashy app? Make 100k off of it, but making your own apps and expecting to get paid if a losing game.
Sincerely, once you've landed enough bigCo flashy apps, and you've beign paid to promote them heavily, your chances to succeed in the app store are not zero anymore.

It will be though still, since building a brand, etc. needs a lot of time, effort, and money (last time I checked pay-per-install was about 2 Euros per app).

Look for what’s next in tech trends and focus there. Mobile apps were something special 5-6 years ago, now it’s just a commodity. You’ll do much better living closer to the edge than app dev unless you have something special to offer.
I'm curious what's new in tech trends and not oversaturated? Alexa, Google type voice apps, VR?
Mobile app with AR capability and/or AI capability.
I feel like AI just re-solves a lot of things that are already solved. In the tech bubble it sounds way better than to the actual consumer. If the consumer has a to-do list app he is happy with, how will you convince him/her that s/he needs AI in there?
I'd think that VR and AR have possibilities, they're interesting technologies that no one has really landed an amazing use case for. I like to think of it as "Technology innovations enable industry creation", so look for what the new technologies are, and what industries they might create or revolutionize. Sadly thats the hard part, and if i knew the answer i probably wouldn't share it.
I agree that mobile apps are old news now but most of the emerging hot areas (AI, AR etc) are tough areas for small teams to compete in.

The smartest thing to do IMO is acquire some domain expertise in a big but unglamorous business sector and look for pain points.

To me, the most promising currently are wearables and XR (VR, AR,...). Chatbots seem to be dying, and AI/deep learning are kind of hard for individuals to offer services for, or to make a product of.
An approach I did sometime back was to create a generic template kind of an app (in code not published) for B2B that had integrations with ERPs where the bones were finished but the UI was pretty bare so it could be customized for each client and be deployed as its own app each time. I had built up this toolkit overtime and it got more profitable and easy as I went. I could easily tailor it to clients so it was very branded and unique but yet the bugs and time to complete was very low in the finished product. I still get paid for this monthly even though I'm doing a startup and have moved on. It still pays the bills. Everyone's experience is different. I had an advantage of niche ERP integrations that pretty much no one else did and could sell it way lower than the competition. This is just a hindsight thing and people tend to fool themselves that their decisions were correct but in reality I got lucky in my approach and got lucky I had flow of people that gave me referrals. Find a pattern that works for you but gives you some clear advantage.
The best advice I've heard recently was said by a playwright. It was something to the effect of "People don't go to the theatre to see a movie"

Focus on the things that distinguish a mobile device from other platforms. The two things that immediately come to my mind are the camera and messaging. It does not surprise me that those types of apps dominate the charts.

Work towards making yourself into a ‘brand’. It can be giving talks, blog posts which focus on not just tech bits but a mix of tech and business. You should look credible just by looking at your LinkedIn and/or webpage. Having things like conf talks, a moderate traffic blog will give an edge over other similar devs with just a portfolio.

I’m not sure how far along you are in this so this advice may seem basic:

1. Factor in costs of your insurance, office space, tools, books, commute etc when working on your pricing model. You can plainly do x usd/hr and get the amount for 200 days and feel confident compared to a salary but there are more hidden costs when running a business and you may not have billable work for the full year.

2. When you underprice your offering to get customers, they undervalue your service. This is where things like blogs, talks, portfolio help in justifying your value.

I have an open source project which consists of back-end, web and mobile apps. I frequently get requests for customisation and branding for the apps. It's a good balance between having control of the core functionality in your own hands and making money by developing apps for someone else. It's also much easier to make adjustments to existing codebase than developing a completely new app from scratch.
That makes sense. I thought about doing something similar for a while, but I'm not sure about licensing. Which open source license did you choose for your base code and customizations?
This is probably not what you're looking for, because it's very specific practical advice, but it's particularly valuable all the same: check out SKStoreReviewController on iOS. We utilized it and our reviews grew from ~250 in the first ~5 months to over 27,000 two months later. Of course there has been growth with our app, as well, but the scale at which we saw reviews come in after implementing the UI was incredible: over 1k new reviews within hours.

I say all this because ratings have a huge impact on your app store listing position, and any small developer can benefit from such a boost immensely.

If you're building on Android too, this functionality unfortunately doesn't exist, however we have also seen a considerable boost in reviews after implementing our own UI which asks users to review (and allows them to press a button to go to the store.)

I didn't realise it makes such a difference. I'm going to implement it in our apps. Do you have any suggestions on when to show it? I would imagine it makes sense to show it only after some reasonable time. Let's say if user opened the app 5 times or something like that.
Some of the best practices regarding it that I've heard (and found to work very well in the projects I used them):

- You show the user a internal 5 star rating UI. If they rate anything below 5 you don't forward them to the App store for adding a review. Works well with 3 buttons: "Rate", "Late", "Don't show again"

- Best time to show it to the user for the first time is when they completed the first "major action" in the app. For e.g. a shopping app that would be completing their first order, or for Airbnb booking your first room

- After that you show it to the user every ~5th time they open the app until they rated it or click "Don't show again"

Good advice for Android. For iOS, Apple actually decides when to show the user the UI. That being said, you should probably only attempt to prompt when you believe the user has had a good experience.
Does anyone else consider this to be dishonest?

Sounds like Apple should take even more control.

> Sounds like Apple should take even more control.

How? In the end both Apple and Google still need to have some influx of rating to their App stores for them to function. Further reducing the ability for app creators to funnel reviewers to the App store would probably put them below that threshold.

The app store itself should prompt for the reviews, on a reasonable schedule after purchase/download.

Maybe 3 days after purchase for a thumbs-up, thumbs-down initial impression. Two weeks after purchase for an N/5 star review. Two months after purchase for a star rating update and descriptive text review for other potential customers. Six months after purchase, and yearly thereafter, for a star rating update and descriptive feedback aimed at the vendor, such as pain points and enhancement requests. Each time, allow the user to opt-out of review request nagging.

This would also allow a chart of user satisfaction over time, filtering reviews by length of ownership, and trends in user satisfaction, especially in response to version updates. I am far more likely to trust a reviewer that has gone from a three-star rating to a five-star rating, over four years of owning the app, and has reviewed other apps from different vendors, than someone who gives it five-stars after a week, has never reviewed anything else, and then vanishes forever.

One would think that the company that developed PageRank could do something similar for review rankings, to weed out review-bots, astroturfers, and straw-purchasers.

Extremely common pattern on Android, but it's so transparent in its dishonesty it really annoys me. But I guess it works for the masses anyway..
I agree. Learning about that basically made the ratings in the Play store worthless in my eyes, as it only represents how well you play the game. 1-4.0 stars means that you probably haven't added that feature to your app. The various degrees of 4.1-5.0 then only mean that you have optimized the process even more by better selecting for 5 star reviewers.
Agreed, when an app I don't love does this I now go out of my way to always click the "I love the app" button and then give a negative (honest) review.

OTOH if I developed an app I'd probably do the same thing :/

Yep, I absolutely can't stand this design pattern either, but I ended up using it as well. I would advise that the best way is to actually respect the 'never show again' button. One pop-up isn't too annoying, but if an app asks me after I tell it to f off, I'm damn well going straight to the store and leaving a 1 star. It does work, but make sure it's the least annoying it can be. E.G. in a shopping app, don't show the rating pop-up in the middle of checkout, wait for the user to finish their transaction.
In what way is this dishonest?

It's really just saying 'if you love this app, tell others - if you don't love it, tell us'. This is an honest request.

For me, this bit:

> If they rate anything below 5 you don't forward them to the App store for adding a review.

This method attempts to passively hide negative reviews from the public while actively prompting users to leave positive reviews.

Storefront ratings don't matter unless the user leaves the app and enters one via the official app store. Without forwarding the user, anyone with a negative review will have to specifically leave the app to leave the review. The dev will usher the positive reviewers forward to leave a public-facing review, while anything neutral or negative is sent to /dev/null or (hopefully in the least) used internally for improvements.

Dishonest may not be the correct term. Perhaps "slightly misleading" is a better way to put it.

If the app stores want honest reviews, they have to be the ones to request them, on a fixed schedule after someone downloads an app. Allowing the apps themselves to forward users to the app store review interface is an invitation to game the system in exactly the manner mentioned.

Whether grossly dishonest or slightly misleading, the mere fact that we can be arguing over how scummy the pattern may be is a symptom of the failure of the app stores to manage their own review systems. When one seller games the system to get more 5-star reviews, that's them being dishonest. When everyone has a 4.5-star rating on every product, that's the ratings system being lazy and useless. (Looking at you, in particular, Amazon.)

An honest internal review would publish the results on the developer's website, and leave all the app stores out of it, no matter what the user rating might be.

I'm not convinced that this is misleading.

There should be no expectation that you would ask people who dislike your app to leave a formal and business-damaging review. It's the job of the review system to invite those reviewers.

Qualifying which your users like you before kindly asking them to leave a good formal review on a respected system is a sensible practice. (you likely also want to disqualify people who love your app but have a wonky personal rating system)

I suspect that those apps which abuse this system still manage to have low review scores.

Because it acts as if there is no app store review possibility in case you wouldn't rate the app 5 stars.

Didn't know of the Apple "equivalent", but that seems so much better when it comes to giving users useful app store reviews. Of course all app developers would want their apps to have a 5 star average..

Enjoy that work around while you can. It won’t be long before Apple adds to the guidelines that the only way you can ask for a review is by using the official SKStoreReviewController.
I really hate that pattern. I give shit ratings to apps that do that. You won't be able to do that on iOS for much longer, if you still can at all right now. It's good move on Apple's part to get rid of this garbage.
I used “Happy Events” as trigger points to show these alerts. For example, in mobile games, we would show them after playing XX games or winning X times.

I never liked the concept of showing them on app launch because it’s so intrusive to the user flow.

Don't do it too often though - I hate thirsty apps begging for reviews.
I just say Yes, I will review and go to the play store and go right back. Do you know whether I left a review?
The API doesn't let you do it more than once.
Interesting. I know some Android apps do it multiple times.
There's no official API for Android, so you can request whenever you want. iOS added this functionality to limit review requests from apps.
The limit on iOS is 3 times per year.
Pre-sell your ideas. Otherwise it's a massive waste of time.
Before doing that you need to build the audience first otherwise you'll have a hard time marketing your idea.
What I found personally tricky is to advertise my professional hedge as a mobile dev. I have received lots of resume of freelancer to help me on projects, and it is always quite difficult to know how professional and experienced they really are. Any blog or contributions to open communities (stackoverflow, github etc.) are very useful.
> my professional hedge

Sorry, but what does this mean exactly?

I mean: what makes me a good mobile developer, or in other words, why is hiring me a good idea.
It´s not easy to distribute on the bigger App Stores but the biggest challenge would be to become known. You need to get covered in Magazines and blogs, reviews are also great and maybe, if you have enough money, you could pay to get featured on the main page of the app stores. You need good pitches and a lot of work to get in contact with authors.
Once you have a good app idea, flesh it out in at least 5 different implementations and send them all to the store. See which implementation takes off, and focus on that one and develop further. This is true both for games and utility apps. Use the A/B testing thinking and try several different "look and feels" for your app idea.
Is this advice tried-and-tested? Because it sounds a lot of work. I would suggest that putting all of your energy into 1 implementation (at first) would probably work better.
Parent is basically describing A/B testing, so seems solid enough. It does seem to presume a fairly simple functionality, though, it probably won't work well if each version takes you five months to build.
A/B testing should generally be done within an app, though. If your app already calls home to a server, you can collect usage stats and send feature flags for A/B testing. If it doesn't, you probably have to run your tests on in-person groups.

The parent here proposes releasing multiple versions of an app and seeing which ones get downloads, which seems much harder and riskier - you end up splitting downloads across multiple apps, and then have to deprecate or maintain the ones that don't work out well.

Realistically, I suspect multiple new apps are unlikely to get enough users for there to be value in A/B testing.
For games, I seriously doubt this advice. Getting to 'hot' or 'featured new' or whatever the category is named is a huge source of no-ad-spend success, and it depends on getting a lot of new downloads shortly after release. A/B test before you release, sure, but don't release multiple versions and split those key early downloads.

(Also, you're going to annoy all the users of any fork you deprecate, unless you maintain all 5 pages and move them to the same source. Also, will Apple even let you do this?)

This is an incredibly crummy thing to do when the app stores are already overflowing, no, spewing with garbage apps and even more garbage apps abandoned by devs.
1) Figure out how to reliably and predictably get people into your app. Know where to advertise, how much it costs and how to optimise your ads and storefront. Don’t have a “build it and they will come” attitude. Solving this problem at scale will be roughly half your total effort.

2) Once users get into your app, figure out how to keep them around. Identify how often you want users to use your app (once a day? Weekly? Etc) and design the entire app experience around promoting that form of behaviour.

3) Really understand what is unique about your app (compared to all others) and emphasise it. Ensure new users understand it and experience it. Most users drop out minutes after first launching your app.

I've recently listened to a podcast where the guy behind Drafts (Agile Tortoise) discussed how he's finally been able to make a viable income and work on it full time because he switched to a subscription model instead of a one-off purchase model.

Drafts has been out for several years and has been relatively successful and he's only now able to work on it full time.

Podcast in question: Do By Friday, Episode 79.

Create a brand for yourself and for your company - logo, website, portfolio, LinkedIn company page with logo, etc. That makes you appear legitimate to anyone who finds you.

I see too many freelancers or independent 'studios' not spending any time to create any kind of branding for their companies, and people assume that it's not a legitimate operation.

There is a fairly large difference psychologically between seeing a LinkedIn profile that says "Freelance iOS Developer, Self-employed" with no logo and someone who says "Principal, $COMPANY" with a shiny logo. First impressions matter.

I think it was an old BOFH story that said "when the model and the company have the same name, I know I"m in for a bad time". There's a lot to be said for having your app's developer be a business, rather than your name or worse, your app's name.

edit, found it: One of my personal warning signs on gear is when I get a brand name the same as the device – ie, with this UPS brand UPS from UPS Ltd, I'm fairly sure I'm in trouble

If you work with clients:

- Negotiate for a half upfront payment and start only when you have received it. It will help you avoid clients that don't have the necessary budget and will save you a lot of pain.

- Document decisions done over the phone or in f2f meetings (e.g. send an email saying something like. As we discussed, we decided to ...). It will help you with unforeseen change requests that the client sees within the scope of the work.

I use to make my own apps when it was profitable to do so. At any point, we had 50-100 apps across many categories, different companies.

We were making good revenue, it was still early in the mobile world. These days, it's not as profitable as it used to be outside of few VC funded categories which are heavily subsidized, good luck making a big profit there.

Most apps today are complementary to running at loss. So, need a SaaS app (with enough profit margin) before you make your mobile app.

Today, we develop apps for small businesses which is much easier and doesn't require any special skills. 80% apps are just CRUD apps. If we need something advance like machine learning etc..., we delegate it to Google and Amazon like API providers.

There are some of our competitors in app business who are hiring wizards yet not able to compete with this formula ^

Make desktop apps instead: 10-30x higher prices, lower reseller fees, B2B and professional customers, less OS fragmentation.