App development is difficult. Successful app launching is nearly impossible, especially given the millions of apps competing for your users’ attention.
I don’t claim to be an expert on the topic of launching apps. But I’m glad for the opportunity to share a few of the tips and tricks I learned while launching my first few applications for iOS and OS X.
The app I’m going to be referencing is my latest project, GA.TODAY — a simple Google Analytics widget.
I decided to build GA.TODAY after becoming frustrated with the lack of existing tools when it came to tracking multiple Google Analytics profiles. Which brings me to my first point…
Your First App Should Be Something You Care About
I’m going to be brutally honest: The possibility that your first app is a wild success is almost nonexistent.
It’s not that your first app is a bad idea, or that you’re an incompetent designer or developer. It’s just that your first attempt at anything you do will typically have less-than-spectacular results. Launching a complex piece of software onto an over-saturated market is no exception.
Because of these odds, I believe it’s especially important that your first app is something you’re personally motivated to build. Something that solves a problem you have. You have to own it and deeply care about it.
If you aren’t personally excited and interested in what you’re building, then every tiny little speed bump will kill your motivation to finish.
Take, for example, early bugs found by Beta testers (I’ll talk more about getting Beta testers later).
When someone reports a bug, you can react one of two ways.
The first way to react is you take the bug report personally. You realize that somebody spent their time using your product. A product you’re passionately building and personally invested in. The beta tester encountered a completely unacceptable user experience and your immediate reaction to the situation is it must be fixed ASAP because you care a lot about the quality of your work.
The second way to react is that you ignore the issue. You pass it off as something "only this one guy ran into" and put the bug report on a long list of things you probably won’t get around to. This is what can happen if you’re building something you aren’t personally invested in. For your first app, where bugs and minor UX issues are common, this attitude becomes a serious problem.
Working on something you care deeply about is a big advantage.
Once you’ve done it a few times and can avoid the many minor issues you encounter when launching an app, then building something for somebody else or building something to maximize profit becomes much easier to do.
But for your first app, think about something you’re truly passionate about.
Get Beta Users You Don’t Know
Getting your friends to test and use your first app isn’t a good idea. They’re not likely to say something negative because they don’t want to discourage you from what you’re doing. So all you’ll get is positive praise, which can be devastating because it might not be representative of reality.
On the other hand, getting the angry hordes of Reddit to test your app is a whole other world of pain. But the level of refinement anonymous critical Beta testers will offer your app is incredibly valuable.
How do you get pre-release/Beta users? It’s surprisingly easy:
Build a Landing Page for your App. Now.
If you don’t have one yet, building a landing page for your app should be a top priority. It’s gotten so incredibly easy these days to build one that there are quite literally no excuses for not having a landing page for your app.
I personally used Ghost. I use MailChimp to capture and manage email signups. I would also suggest looking into Launchrock and Unbounce.
Your basic goal for your app’s landing page is to pitch the non-existent product, and to ask users to give you their email address to get access to pre-release versions of your app.
A benefit of getting a landing page up early is it will really help your long-term SEO. If you want to have any kind of success in the long run, you need to start this stuff early.
Get the Word Out
Getting the word out is especially hard for your first app.
If you’re like me, you probably won’t have any followers on Twitter and you have few — if any — connections to bloggers or well-known people.
It’s hard to promote your first app. But it’s not impossible.
Social News Sites
I found Reddit, Hacker News and Lobste.rs to be great communities to bootstrap your Beta testers list.
You have to be really careful that you aren’t spamming these communities (which is a great way to completely sabotage your app) but if you do things right you can usually get a good group of early adopters that are technical, critical and engaged.
No matter where you’re posting, make sure you’re as engaged and helpful as you can be. Check for and respond to any and all comments or replies you get. Take feedback to heart and view comments as honest and relevant opinions, even if it means a lot of extra work on your side.
It’s also very important that you measure conversion rates (percentage of signups) from each "campaign" or referral source. This will help you determine the groups of people who find your app useful, which in turn helps you fine-tune your marketing strategy once your app is actually live and ready for the world.
I’d recommend you shoot for a 5-10% average signup rate. If it’s much lower, try tuning your landing page. Make sure your landing page clearly states the value proposition of the app and how the app solves a problem.
If you have sources that are giving you higher-conversion rates (15-20%), try to figure out why and then focus on finding more user sources like that.
Launching on Reddit
For Reddit, start by looking for a subreddit (category) that is relevant to your product. For me, this was r/analytics, r/productivity and r/technology.
I just posted simple links to my landing page with descriptions like "Looking for Beta users for my Google Analytics widget for iOS" and "Free Google Analytics widget for iOS (Beta)".
Launching on Hacker News
The standard for posting your own work on Hacker News is to do it rarely.
Also, it’s good etiquette to make it clear that you’re posting your own work by prefixing your post with "Show HN: ". Read the Show HN Guidelines to make sure you’re following Hacker News’s community rules.
This informs Hacker News readers that you are posting something you made. It also hints that you’re looking for feedback.
Like Reddit, I just posted links to my signup with a short description like "Quick access to Google Analytics via an iOS widget".
Blogs and Review Sites
Another way to get Beta users is to start submitting your app to review sites and relevant blogs. This not only gets you critical Beta users, but could help you get some traffic and visibility once you launch to the public.
This method requires more legwork on your side, but tends to pay off in the long-run.
Start by Googling for relevant blogs (for me, "Google Analytics tools") and contacting the writers directly via email if you can. Offer them a free version of your app in return for feedback and — if they are open to it — a review or post on their site. Even one or two of these will have a major impact on your visibility and your long-term SEO, which is incredibly valuable.
How Many is Enough?
I would say to try to get a list of 100 pre-release users. You definitely want more than 10, but getting more than 100 people to give you — an unknown, random internet person — their email address based solely on the promise of an unfinished app is really hard to do.
If you get thousands, you’re definitely onto something massive. Lucky you!
If you get hundreds, you’re still onto something, but probably something average. It’s probably not the next Instagram or Snapchat or whatever. But that’s okay. Maybe the second app will be.
Iterate. Wait. Iterate. Wait. Repeat.
For me, this is by far the most painful and difficult part of the process. I’m always desperate to launch an app and begin rolling in the dough as my brand new app launches to the top of every country’s app chart.
Don’t fall to the temptation.
A refined, bug-free version 1.0 is your best option. Despite the strong desire to launch, spending the time to ensure that you’ve squished all the major bugs and solved all the UX problems raised by your pre-release users is absolutely worth it.
Launching a buggy first version is a great way to get negative reviews right out of the gate, which can absolutely crush your app’s chances of success, no matter how great the idea is.
You’re unlikely to get a flood of reviews, so you want every single one to be a positive 5-star review, especially early on.
tl;dr: Wait to launch until you can’t wait any longer. Then wait just a bit more.
Measure Everything. Just Like Everyone Says To.
Here are some things you need to measure, especially during your beta, but also after you release:
- User signups
- Usage of critical features
- User retention
- App crashes (with enough information to make fixing things possible)
It doesn’t matter how you monitor these, but you need to monitor them. I highly recommend a properly configured Google Analytics to track new user signups, user retention and conversions. I use Fabric.io to track the number of times the app crashes.
Make sure that whatever analytics tool you’re using is correctly configured, so you know what your users are doing and how often they are performing critical actions in your app.
Not tracking these four critical app metrics properly is like trying to shoot a three-pointer without looking: It’s possible you’ll make the basket, but statistically less likely than with your eyes open. You need to know if your marketing campaign is successful or if that bug you thought you fixed is really fixed.
Email Your Users
One last thing I’d add is to seek permission to email your users when they sign up. Being able to email your users is a very powerful advantage.
Not everyone will opt in to your emails — and those that do will be very wary of anything that looks like spam. But a good email strategy is a great avenue for soliciting feedback and notifying your users of changes to your app.
I did this with GA.TODAY by integrating MailChimp’s basic list API and it really helped me get very specific and relevant feedback from my users.