Best Practices for App Development
In 7 years developing iOS, Android, and web apps, we have learned a lot about what works well and what doesn’t work at all . Our clients span a diverse group, including major sports organizations, musicians, a movie studio, digital marketing agencies, government organizations, startups, and nonprofits. We love this diversity – different organizations take vastly different approaches to how they develop apps. We are happy to be flexible enough to meet our clients’ disparate needs while maintaining the highest possible quality of software.
Today we’d like to share some of the lessons we’ve learned building working with our clients. And while every app we’ve built is unique (something we love), the following guidelines apply to all of them.
1. Start small (and stay focused)
Decide on a single, primary focus for your app, and get it in front of users as soon as possible. You should be able to explain the app’s value in one sentence (or less!).
Examples of successful singularly-focused apps include:
- Instagram (share photos with friends)
- Uber (get a car right now)
- Dropbox (my files everywhere)
Ideating an app or website is a very creative process – and creating things is fun. Sometimes it’s so much fun that it’s easy to get carried away and add features and functionality (and flair) that you may love, but the users may not care about. This is when it’s important to stay focused on the primary value proposition your app offers to users. Be an editor – cut out everything that doesn’t add immediate value.
2. Test With Users Before you Publish
The sooner users can get their hands on your app – even a preliminary version – the sooner you’ll get feedback – positive or negative. You can even test your product with users before it’s actually built. One famous example of this is the famous Dropbox MVP video. Dropbox explained what they wanted to do and asked users to sign up if they were interested – tens of thousands of signups later, they built a product they knew customers already wanted.
Ask yourself questions: Do the users behave as you thought they would? Do they see the value you think you are providing? Are they doing unexpected things? Will they recommend your solution to their friends and colleagues? Honest answers are key.
Once you’re confident you’re building the right product, then you can lock in the design, build it, test it, and publish it.
Publishing your app isn’t the end of the road; it’s much closer to the beginning. Now that your audience can access your solution, it’s time to start asking questions about that audience:
- How many people have installed your app (or visited your website)?
- How many open it every day? once a week? Less?
- Which features are popular? Which are gathering dust?
- How much time do users stay in your app (or on your website)?
- Do people advocate for your app? Do they share it with their friends?
- If possible, offer multiple implementations of a feature and see which perform better. This is referred to as A/B testing.
Let the data do the talking. With proper metrics in place, you’ll be able to see the effects of changes you make in subsequent iterations.
3. Iterate, Iterate, … Iterate!
Version 1.0 is a major milestone, but you’re not done yet. Smart developers are constantly updating their apps in response to metrics and user feedback.
You can update your software dramatically after it has been released. Users like to see issues resolved. Bugs should be fixed ASAP. Underperforming features can be cut or modified. New features can always be added in an update.
One great side effect of keeping your app up-to-date in the app stores is that you keep it fresh in the minds of your users. Each app update is a chance for you to promote your app and gain new users. Write a blog post with each update to help drive awareness and remind people why they downloaded it in the first place. Your goal is for your app to be available at all times for your users – and that can’t happen if they delete it. So write about your apps and explain what the new features do, or what bugs were fixed. Your users will thank you.
4. Keep it Simple!
Mobile devices live in our pockets, and we use them for a couple minutes here and there. If it takes users too long to find what they’re looking for in your app, they’ll stop using it. If they stop using it, they’ll eventually delete it.
It’s also important to see your app through your users’ eyes. You may be an expert in your particular field, but a lay audience may perform differently than you expect. Make it easy for them, and measure what they do.
5. Content-Based Apps: Be Sticky
Content-Based apps rely on information – like a News Journal or a Social Media site. If this content doesn’t change, or changes too slowly, users may stop coming back. The more frequently you can update your content, the more time users will spend in your app. Who wants to open an app with news articles, only to see stale information that is no longer relevant? Nobody. So keep your content fresh.
6. Be Social
Social networks make it easier than ever for people to share with one another. With close to 3 million apps on the App Store and Google Play combined, personal recommendations are more important than ever. Make it easy for users to share content from your app with one another through these ubiquitous networks. Consider incentivizing them with points or other benefits from sharing.
Also note – ease of sharing makes for ease of complaining! Monitor your users and respond to their complaints. Social media is a great way for you to measure how users are engaging with your software. Listen for problems and respond to them, both in social media and with prompt app updates.
7. Be Open
Warnings go a long way. If you’re going to track users’ actions in your app, the first thing you should do is let them know, and request their approval. Give them access to the records you keep. Enable them to export or delete their information on their terms. You don’t want to be seen as a sketchy developer who is profiting off of private user information without their permission. Violating a user’s trust is a great way to get your app deleted.
On a more technical note, mobile apps often require system-level permissions in order to perform common tasks – like view your contacts, listen to your phone’s microphone, access your physical location, and more. Many apps nowadays will “pre-warn” users that they are about to use specific features, often providing an explanation as to why. If the user consents, the user will typically be presented with an OS-level popup asking for official permission. Studies* show that users are more likely to allow apps access to secure features when they have been pre-warned with a brief but clear explanation.
8. Be Secure
Security is a major issue for all software-based solutions. Make sure you’re doing everything you can to keep your data and – most importantly – your users’ data SAFE. This means taking advantage of secure protocols whenever you can. For example, use SSL/HTTPS for network/hosted web services. Require two-factor authentication to cut down account hacking. Err on the side of caution at all times – it will save you in the long run.
That’s our list. What would you add? What techniques do you use to keep your apps fresh and keep your users engaged? How do you get the word out? Respond in the comments with your thoughts.