Clutch spoke with Manish Jain, co-founder of Konstant Infosolutions, as part of a series of interviews on mobile app cost and platform choice.
Please begin by briefly introducing your company and your role there.
The company is Konstant Infosolutions Pvt. Ltd., and it’s a mobile application development company with more than 150 full-time employees. We have been in mobile applications since the iPhone came onto the market, so we’ve been doing this for six years now. We have delivered more than 250 applications, and also have a very good hold on PHP, Magento, and several others. I am Manish Jain, one of the co-founders of the organization.
Mobile App Platforms
What are the objectives or parameters that a client needs to define before they select a mobile application platform?
There are several factors and parameters that clients need to decide and define. For example, if the client is from the United States, the U.S. is a market where the iPhone and the Android both have a very significant impact. At the same time, if a particular client is coming from some other country, Android might mark a bigger impact than iPhone. So, it is very important from the client-end to decide the kind of the audience, origin of the audience, and the target market.
For example, in India, Android has a bigger market share than the iPhone. If a customer from India has an iPhone app and not Android, that means he is not covering the majority of Indians. Just the wealthy-class audience, but not the middle class or several other consumer markets.
The second factor is cost. We suggest to all startups that they do proper scoping and proper studying of the market, and then bring their app into the market with one platform first. Sometimes, what happens is that the clients, according to the customer feedback and reviews, make numerous changes in the initial platform, which they started with, and then switch for the changes in other platform as well. This eventually results in risk in cost parameters as the second platform does not require a lot of brainstorming. This is because the first already-launched platform already has a great amount of feedback from the consumers.
Third, they need to decide if they should go with native or hybrid if they want two platforms. It again depends on cost and other parameters. If a customer wants to build an app for iPhone and Android, it means that Android could take 50 main days, and iPhone would also take 50 main days, which equals to 100 main days. At the same time, if they opt for hybrid, it means it can be developed in 60 main days on both the platforms. They can later port the same application on Windows with little effort. Hybrid provides the maximum advantage in terms of making an app widely available. The only thing that is sacrificed is user experience, so that’s something they need to make sure is okay for their application, such as a business app, something that’s not a game or user-centric.
Can you give an example from your experience in which native was a better option than hybrid, and vice versa?
One client wanted to have a mobile app, which would be very interactive with a camera control. He wanted to have users take photos using the camera and apply some filters and publish that photo to a network of people. This is an app where it is very much user-centric. It was kind of a social networking app where the user experience was very important. So, we suggested to the client to go with a native app and not hybrid because hybrid doesn’t provide much control on the hardware, and good animation is not possible with hybrid. In this scenario, for the kind of application the client wanted to build, it was a good choice to go with the native option.
At the same time, I got another inquiry where the client wanted an app that would allow you to book a particular vehicle. He wanted it to do a specific task. He wanted an app where people can log in, specify a date and time when they wanted to book that particular vehicle, and make a payment. It was a very business-oriented app because it was not going to be utilized by every other person. It was for a very specific audience who wanted this service. The client also wanted this app for iPhone and Android as an interface for the drivers. The drivers are the kind of people who can’t afford an iPhone. They will opt for an Android phone. It was a perfect model wherein we proposed to the client a hybrid application so your Android user can have the Android app and the iPhone user can have an iPhone app. Because there were no hardware integration and no specific animation, it was a perfect choice for the client.
Are there any situations, besides relevant geographic market, for which Android first or Android only is the best option for a client?
There are some relevant situations when the client wants a business app or an enterprise app. For example, there was a company that wanted to build an app to take food orders and they would have Android tablets available for taking the orders since the cost of an iPad is higher than an Android tablet. So, they went for an Android app, and provided all their staff Android tablets. They didn’t require an iOS app. This purely depends on what the client’s requirements are and what is required for running their business.
Mobile App Cost
Can you describe the key drivers of cost in developing mobile apps?
The first driver is the length of the planning stage. When a customer or a startup comes to a developer with their requirements, they often just have ideas. Very few customers have very specific requirements, where they know what they want to achieve and they have written a very good document about their requirements. Some clients even work out a prototype because in a mobile application, the flow of the application and the screen design are very important. For the clients that do their homework and approach the development company with what they want to achieve, the planning stage is very easy. The development company does all the initial planning and prepares a project plan and layout, which usually requires seven to ten days. So, in that case, there will be minimal costs. In the reverse situation, when a client just comes with an idea, it takes more time and effort. In those situations, it might take two or even three weeks. They need help and need a proper consultation. They are not experienced. We appoint a business analyst who communicates with the client, provides assistance and suggestions, and then based on that they write up a document and everything, so that’s something that requires additional effort and will cost more for the client.
Once we do the planning and once we are okay with the client’s requirements, we move to the design. In the design portion, there are two scenarios. One is basically in a situation, where we have a prototype and we work on Adobe Photoshop and we work on the design, but fostering of the design with various key factors, the few important ones are what should be the theme? How big is the app? Is it a five-screen or six-screen app or is it basically an app comprising of various screens like Facebook? Facebook has various screens. There is a screen dashboard where you link to all the locations, a screen where you see all the friends, and there’s a chat application and screen. There are so many screens on the Facebook app, but at the same time, if you talk about WhatsApp. The WhatsApp has limited screens. It’s just five or six screens in the app. So, it depends on the scope of work, how many screens we’re designing, and that design process could take from one week to three weeks.
Platform choice is another cost consideration. In the case of native apps, if the client wants two platforms, that means iPhone and Android. In that case, there is not one team. The two teams will be working separately, so your cost is double. If it’s hybrid, that means only one team is working, and at the same time you’re getting an iPhone and Android, so you’re getting double for a lesser cost, but like I mentioned earlier, you are usually sacrificing the user experience.
Then, there are the features. There are so many things with features. For example, in a photo app, where you want filters like Instagram, that’s a very complex app. If you want a simple app, where people upload a photo and it’s just getting a photo uploaded, well, it all depends on what kind of functionality they are looking at for the app. It depends on the number of features. We calculate that and it varies between how many features they choose.
The type of feature matters as well. For example, if the client wants a login, is it a simple log-in? What’s the reason the client wants a login to be integrated? Do they want their app to have a Google or Facebook login? So, a simple login is a simple login, but if you talk about Google credentials, that means we’re integrating some additional services and we’re integrating different application programming interfaces, so that means an additional effort and depending on what it is, the cost varies.
The amount of infrastructure and app administration required also affects the cost. For a business app that is designed to display information on the app linked to their website, there will be less new infrastructure required because they already have their website and their mobile app was just an add-on to their business. There are different scenarios like when a social networking app or an app that is an independent service like taxi booking or a food ordering app, where you need to app administration to manage day-to-day activity and all the different activities are through the app like push notifications, for example. If you had food ordering and you wanted to push special offers or you want to put a special discount on your app, you need to have an app administration panel, so we provide a backend system for that with all these features.
Another aspect is testing and deployment. Normally, if it’s a 100 main-day project, testing normally takes 10 to 15 days. For mobile apps, especially game applications, testing is something that is very important. Integrated testing has to be done where different people play the game and do different levels, challenging each other. You need to make sure the app is not crashing and is running successfully. Again, it takes 15 days additional testing for a 100 main-day project.
Not only that, ongoing support is needed for the kind of applications that are user-centric and for the kinds of chat applications like WhatsApp. These kinds of apps need ongoing support to maintain the user experience and to make sure there will be no down time. Whenever any new upgrades come out, like for example with iOS 8 being launched, your app has to be compatible with that and you need to keep updating your app with the latest functionality provided by Apple and Android. For a few examples like Facebook, LinkedIn, or WhatsApp, there are so many apps that have a big audience of users. These kinds of apps definitely need ongoing support.
What are the advantages of working with different types of service providers, such as local, globally integrated, offshore, or freelancer? What are the comparative advantages of your business model?
The local service providers are the best choice when clients need the ability to have face-to-face meetings. Availing the services of a local service provider is quite high-cost, but they are definitely advantaged when it comes to direct and face-to-face interaction.
Globally integrated is a very suitable model when you require different skills of people involved. In globally integrated models, people are from India and people are from China and one person might be working from Australia. In these situations, every unit needs to understand their roles and responsibilities, and there is a high level of monitoring required. This is a suitable model only when you need a resource or skill that is available from different people. But, again, it’s a little challenging.
We have an offshore development model. Offshore is basically the perfect choice and perfect model and is accepted globally by the big companies. Everyone is talking about the offshore development model right now. The major advantage in offshore development is definitely cost and available skill set. For example, if you want to develop your app for iPhone and Android, you don’t want to talk to two different companies. You can just hire one company from the inception, from the designing of the app, development, launching, and then marketing. Everything can be done by one single company. You just need to pick the right one.
Hiring a freelancer is the best choice when you want something done that’s very small. One thing that is to be considered here is to have a proper backup plan as you hire only one person that is an outsourced resource. Freelancers are good choice only for small projects, but not for the committed or big projects.