Saturday, August 15, 2015Whenever I download a new app one of the things I wonder about is how the developer decided that his app is ready to be released. How did he come to the conclusion that these features are good enough? anyone who has ever been involved in the development of any application would know that when an app idea pops up you never stop there, you simply keep thinking about what else you can add to the app. That moment I must tell you is one of the most exciting time. You believe it will work out and do your best. But It’s very hard to decide which all features should be in initial version and which all features you can save it for future versions. I’ve always thought about this, wanted to do an analysis and come to a conclusion but being a professional procrastinator I’ve never done it. Now the same problem came up at my work place, so this time I was extra motivated. This blog post is the result of that.Developing an app is a lengthy process and involves many decisions. One of the decision is, which of these two questions do you give priority to ? “Hey, isn’t the app live yet ?” Or “Dude, that is all it does?” Basically it is about “Features vs Launch date”.Should I simply launch the app that has just the very basic feature or add few more features that will make your app stand out amongst a pool of similar app. These days it is almost impossible to make an app that is completely based on a new idea, whatever app you decide to make there are already few apps like that. There are lot of analytics based help to tell you when you should launch your app, I mean which day of the week, at what time and all those. But how do you know your app is ready for a release ? One of the basic thing about an app is, It should be bug free, but can’t expect to be absolutely bug free I know.. Let it at least be usable, I have seen apps that have fancy videos and UI(from the pictures and videos) but when you download the app and try to use it, it crashes. Trust me there isn’t anything more frustrating than this, we are actually spending our precious data for your app so act responsibly.Coming back to the topic, I did a little, very little research on this but couldn’t find a direct answer. (If you find anything please let me know). So I thought I’ll dig the internet a little and come to my own conclusion. Let’s take both the scenarios.Scenario 1. Say I consider launch date as my priority and deploy an app quickly with just the very basic feature. A user installs it, uses it.. Ok the basic feature is there and it’s working.. But there will be a thought in the users mind why should I go for this, if he is downloading an app chances that user already has a similar app is high. So, how different is this app from the pool of similar apps? If you manage to stand out with just that basic feature well and good but if that is not the case, I’m telling you sorry but the app is going into the bin and the probability of making a come back to that phone is very less. Even if in the second version you add a very good feature and the user hears about it, he will have a slight hesitation because he already has impression registered about your app (heard of the first impression is the best impression stuff, yeah it’s kinda true). So you have to take extra effort to overcome that.Even if they like your app, your competitor must have an app with more features given that they already are in the business they must have a more toned version than your beta version right? So unless you give enough reason for the user to ditch that app he is already using, he is not using your app. Please understand that he is spending his data to download your app and is ready to undergo the pain of configuring the app to make your app understand what he likes and what he doesn’t. Which the previous app already knows, so it makes sense to make it worth all this right? Ok, let’s take a positive outcome in this scenario.You get the app rolling quick. If the user is patient enough to wait for your next version, then you can consider yourself lucky. But if there are similar apps the odds that the user will not go to your competitor and stay with you is very less.Scenario 2: You play it slow and add very useful features along with the basic feature and release it. You now have in your hand a reason for the user to ditch the previous app and undergo the pain stated above.I have a very good example for this scenario, Facebook and MySpace.MySpace was live from 2003, was a hit and is supposed to rule the social media. But they were stagnant, the idea was interesting but not the website, after a year or so it wasn’t “cool” anymore. But a year later Facebook comes along with a better version and bammm everyone ditches the MySpace goes on to become the ruler of the social websites.Okay, Orkut was a like a temporary stay but it lost it’s way. MySpace lost it way and still not able to find it, Orkut has just diminished. One good thing about Facebook is it was flexible and ready to go in whichever way the users wants.Another possibility is that, say a user wanted an app before you released it and he installs your competitors app if he is satisfied with the app then his search will stop right there, even if there is a better app he won’t change for the pain of having to download and explain himself to the new app. Unless you come up with a good upgrade from the existing app like Facebook did, it’s a loss of a customer.There is an example to prove delaying wrong. Remember google plus? Of course you do. If you are reading this article in say 2017 you won’t because it’s having a slow death. Plus had all the features, even though it’s from the rulers of tech industry the user base is cruel and refused to move an inch out of the Facebook.But in both the cases if your second version or first version turns out to be brilliant no one cares about anything, your app will be a success.My conclusion is right time at right feature is obvious preference, but if I had to choose I’d add a good feature and would sacrifice my deploying date by say a month instead of rushing in to release the app. What do you think is the right approach ? Am i missing out anything ?