The Minimum Viable Product (MVP) concept, first introduced in The Lean Startup and very popular in entrepreneur and startup culture, can be very helpful in getting started with mobile application development, but you need to be aware of a few caveats. Your app may need to contain some very key features in order to be “viable” that may not be obvious to the absolute beginner. By all means, if you discover that your original grand vision needs to be focused into an app that performs a core function, then you should focus on performing that function well. Your idea was probably overly broad to begin with. However, this approach to developing an MVP is not carte blanche to leave out application fundamentals that the user is going to be expecting. In fact, this is probably the most critical rule to develop by:
Do not disappoint the user by leaving out simple capabilities that they have come to expect.
Case in point: The first version of my first application allowed the user to create workout routines, but it didn’t allow them to rename those same routines. Oops! As you can imagine this disappointed the users and led to bad reviews. This is the cardinal sin for every app developer. A disappointed, frustrated user is much more likely to leave you a bad review then someone who doesn’t quite agree with your choice of colors for the background or didn’t think that your icon really “popped.” The reviews that you want to receive from your customers are of the sort, “It would be great if you added feature X…” not, “It is terrible that I cannot Y…” Obviously, this is only partially in your control but not leaving out important features will go a long way here.
Far more important than looking snazzy (though this is important as well) is not deviating in a negative way from users’ expectations. In short, if users expect a feature to be there, it should be. The short list of requirements for the minimally viable app is as follows:
- The app does not crash – The very first thing a user expects from an app is that it does not crash. This is of course obvious but is far and away the most important feature of an app and the most difficult to attain, especially in Android with the litany of available devices and manufacturers.
- Created data can be updated and deleted – If the user can create it, they should be able to delete it as well. Likewise, they should be able to update it (rename it, change any of it’s important features etc.). This means all of your CRUD (create, read, update, delete) operations should be defined in your data scheme and should be available via the user interface as well.
- Data can be synced – If the user can save data that might be important to them, that data should be recoverable if they switch devices or if their device is lost or stolen. As a bonus, it would be nice if that data synced across their multiple devices.
- The app needs to have a unique icon – There is no way that I am aware of to get you app into a user’s hands without them first clicking on your icon. It needs to look like it took someone with some skill more than 5 minutes to create, it needs to not be too busy, and it needs to convey what your app does. People choose between high ranking apps based on their icons, and they would be silly not to.
- The app needs to look good – It is very tempting to put this first and spend alot of time or money up front creating a beautiful looking app, and if you are going up against true professionals with large budgets, you are going to need to do this at some point. But far more important than this is that the app not crash and not be missing obvious features. If you have the time and wherewithal to include an eye catching design in your application, this will certainly pay dividends in the success of your app. First and foremost it gives the appearance of a professionally developed application, but a nice facade on an app riddled with bugs will not get you very far. On the other hand, a solid application with the default themes and styling at least has a chance to gain an audience. At the very least, style your buttons and change the default colors of your themes.
With these minimum requirements, release your app and keep an eye on your ratings and reviews. Fix bugs and add features based on what your users are asking for. Re-release, rinse and repeat.