Getting your first app published on the app store is a big accomplishment. However for most apps, it is just the beginning. Depending on the type of app and its complexity, you may need to continue supporting the app with further updates. In what situations should you be releasing updates?
- Bug fixes. Obviously if your app is crashing and not doing what it’s supposed to do, then it is in your interest to get it fixed as soon as possible, to avoid low ratings and negative reviews.
- Operating System Updates. Each year, Apple introduces operating system updates. Depending on the nature of your app, some of these updates could duplicate features already on your app, or add new features that your may be able to take advantage of. In some cases, system updates may result in your app not working the same way it did originally. So it’s in your interest to keep up to date with the latest system updates and make sure that your app works properly and takes advantage of all the features that the latest OS have.
- Competition. You should be constantly keeping an eye out on the competition to see what features their apps have, and which ones you can learn from. Perhaps they may introduce a popular feature that your app does not have. Or maybe a new app comes out that replicates your feature set for a much lower price. Either way, you need to be aware of what else is out there, so you can decide how or whether to react.
- 3rd Party Features. From time to time, 3rd party companies will come out with features that your app may benefit from, such as Facebook login support or a new ad network. If you see something compelling, you may decide to add support for it in your app.
- New Devices. Since the launch of the original iPhone, Apple has released several other iOS devices with different form factors and resolutions. It may be in your interest to target the latest iOS device features such as retina display, the iPad or the iPhone 5’s larger screen.
- New Features. If you created a lean version of your app to begin with, and are seeing success with your downloads, then you might decide to add additional features to your app, to keep it competitive (or charge more for it).
- In-app purchases. As updates are always offered for free, if you want to add new functionality to your app that you want to charge for, you can consider releasing it as an in-app purchase. This way you can keep the main price of your app low, while offering users additional functionality for an optional add-on price.
- Reinvesting in your App. Perhaps the first version of your app was done with a low budget to gauge interest. You could then reinvest sales from current downloads back into your app to improve it further. Perhaps you can now afford to hire a better designer.
Case Study – STL Contacts Manager
This app has been my most ambitious app project to date. The goal was to take the functionality of several apps and combine them into one. So instead of having separate apps to manage your contacts and events, a single app could combine the functionality into one. I started with just the contact manager functionality, then slowly added additional features to it, that I’ve been selling as optional add-ons.
Since the first version, I’ve had to release updates to support the retina display and more recently, Apple’s iPhone 5 screen. The app also interacts with Facebook and Twitter APIs to integrate that functionality into it.
There is a term in the industry called feature creep that you should watch out for. As users give you feedback on your app and suggest new features for you to add, make sure you keep in mind the original vision of your app, and don’t stray away from it. Otherwise, two issues may occur:
- Adding too many features may make your app harder to use, with too many options for your users to choose from.
- If your app tries to do too many things at once, it may affect your app’s branding. What is it that your app does and is known for?
If you find yourself straying too far away from your app’s original purpose, then you can consider spinning off a new app instead.