Clutch spoke with Anton Sakharov, co-founder and CEO of MLSDev, as part of a series of interviews on mobile app development.
Please begin by introducing your company and your role there.
MLSDev is an IT outsourcing company based in Ukraine. We have been in business for five years. I am Anton Sakharov, the co-founder, the CEO, and the technical management lead in our company.
Mobile App Platforms
What objectives does a client need to define before selecting an application platform (for example, iOS, Android, Windows)?
The client needs to take several points into account. The first one is the availability of similar apps on the platforms. For example, there was a time when there were a lot of apps for kids on iOS, such as games for children, and so on, but there were no such apps on Android’s Google Play. So it was a perfect time for starting great kid apps for Android, and some were able to take a profit off of that, but now there are a lot of kid apps. So, first of all, the client should check for similar apps and adjust his idea to make his app unique.
The second point is the target audience of the app, which means a lot of things. The client should try to imagine who his prospective client is: what the person’s age, gender, in which country the person lives, what the person does, how much the person is able to spend, and so on.
The client should take into account the actual market share of the platform, especially in the country of the prospective audience, and determine which is more popular. For example, Android has approximate 73% market share in Europe, but in the United States it is much lower.
In some specific cases, the client should take into account the platform and device hardware capabilities because iPhones and Android smartphones and tablets are quite different in terms of hardware capabilities and also some software restrictions. For example, Apple App Store has stricter policies, and they review apps more carefully.
Android is a highly customizable device, iPhone is not. On iOS, you can only transfer the media to your device via iTunes software. On Android, you can upload any files to the device in whatever way is available. iOS devices are more intuitive and easy to use over Android devices. Android devices are more for people who are more familiar with modern devices and willing to add some of their custom capabilities, and things like that.
Before we start any kind of project for our clients, we do analysis of the client’s idea and target market, and suggest to our clients the best choice of platform. An important note here is, do not try to cover all the available platforms from the very beginning. Start with one of them.
Mobile App Cost
What are the key drivers of cost in developing a mobile app?
The first thing that comes to mind is the UI design. Is it standard or custom? iOS and Android each have a native look and feel in the UI, but sometimes clients want or need some custom interface elements, with animations and other spectacular things to attract users. If we go with simple controls, it’s much cheaper, especially for startups, for the first versions of their product. UI customization increases the development costs.
The second thing is availability of development frameworks and other tools for some parts of the app’s functionality. For example, we have an iOS SDK for logging into Facebook, which can be added to a project quickly. But, if we need to develop some more technically challenging things, like real-time video conversations, there are not too many tools available for us, especially free and open source tools. So we’ll have to develop that kind of functionality ourselves, and this also may increase the cost.
The third thing is the complexity of the application, and the uniqueness of the app idea. For example, there are a lot of similar apps, like presentations of restaurant menus. These apps are already available on the market, and many companies make a similar app, so we have experience building such apps. When a client comes with a unique idea that no one has done before, then it takes some time to research and develop something new. So, this also increases the cost and time.
All the other drivers are consequences of the drivers I mentioned, so those are the main ones. I would like to mention one other important note. Overall development time and cost are pretty much the same for iOS and Android. In general, the complexity of development is quite similar. It’s not easier to develop an Android app rather than an iOS app, and vice versa.
How does your company go about pricing projects and charging clients?
Our pricing model is very simple and straightforward. We only bill our clients for the hours we actually spend on the development. In other words, we work on a time and materials scheme. We don’t work on a fixed price basis. Since we follow the Lean Startup methodology and Agile development processes, such as Scrum or Kanban, our clients have two big advantages when working with us, in terms of time and materials.
The first is that clients can control their budget. In other words, they can stop development of new features at any time and release the product any time. The second one is the short time to market. A lot of clients come to us wanting a big application, a big product, with a lot of functionality. We basically dissuade them from doing that because if they want to develop a big app, it will definitely take a lot of time and money to develop, while other teams and startups following the Lean Startup methodology and Agile development processes will release a similar product much earlier and much cheaper.
We take the key parts of the idea and create a Minimum Viable Product (MVP), which means it’s a small but fully functional product. Since it’s small, it’s easy and fast to develop and get to market. Still, the client has the flexibility to add more features at any stage. They can stop adding features any time they think they are ready for a market release.
Does your company require a minimum budget to take on a new client?
No, we don’t have a minimum budget. We don’t have any specific requirements for budget because our main clients are startups. They usually have a lack of money, and they need to prepare a minimum viable product to show to potential investors, get the investment, and proceed on the development. We’ve had several clients with a very small amount of money at the start. We developed a Minimum Viable Product for them and brought them to the next stage, the investment and the resale market. They started with just a few dollars, literally. Also, we do not require upfront payment. We only bill for the work that is actually done.
Successful Mobile Apps
What do you think it takes for a consumer app to be successful? Can you provide a specific example from your company’s experience to illustrate?
Basically, a successful client takes four steps with our help. The first one is to develop the Minimum Viable Product. The second is to release it to the market. The third step is to get feedback from real users, and step four is to make a pivot or keep going the original way planned.
I’ll clarify this; once the Minimum Viable Product is built and released to the market, some real people start to actually use it. They either like and need it, or not. If users do not like the product, or if it’s not useful, it’s not a sign to stop the business and remove the app from the market. It’s just a signal that something should be changed, and this change should be made according to feedback from the users. These steps are to be repeated until the product is successful.
As I mentioned before, we follow the Lean Startup methodology. We develop a minimum product. What is good about this approach is that if it fails, it fails fast and without spending a lot of money. The client has room for movement, for the pivot I mentioned, as opposed to spending all his money and time developing a big app and then seeing a big fail.
An example of such a project is our app called goPuff.com. It’s a retail app. When the client came to us the first time, he wanted create an all-in-one application, like an Amazon or eBay, but he only had money for a simple app. What we suggested is to create a simple app doing some basic things like delivery of goods in one particular state, and for one app platform. So it was an iOS application only and a simple website. We created that in a few months, and then the client started to make some money and get feedback from users. The concept had slightly changed from the client’s original idea. We got the feedback from real users and figured out what they really need and what they do not.
So we excluded some features that the client had thought would be useful. Since the project and the business started to make money, the client had an opportunity to grow and develop more features. The project is currently growing and the business is making money. The app is now in multiple states, and there are two mobile apps for two platforms now, for both App Store and Google Play. The client started small, and we convinced him to do it this way.
One important note here: I constantly say to make minimum goals, small ones, but to make the minimum and deliver out to the market as soon as possible doesn’t mean to sacrifice the quality. So when we develop the minimum feature set for the product, we make just a few features but at the highest possible quality. This is important because if the first users do not like a product because of its poor quality, they won’t use it ever after, even if we add some more useful features.
What do you think it takes for an internal/enterprise app to be successful? Can you provide a specific example from your company’s experience to illustrate?
To me, the goal of an enterprise app is to save the enterprise money. The enterprise is willing to spend the money for the app in order to reduce the time of some operations, optimize their business process, automate a routine, or basically replace humans with computers.
Once, we created an app for a retail company, and its goal was to monitor the presence of goods in stores, and send reports to the sales and distribution departments of the company. The app greatly reduced the time required for compiling reports. It basically eliminated all the paperwork and shortened the time dedicated to analytics. The app answers the question, “Which store needs more goods of some kind?” In the past, the decisions and logistics of this took a weeks. This time has been reduced to hours.
There are some fundamental differences between an app going to the app store and an internal app. In the case of an enterprise app, their target audience is already known. The audience is the employees of the company. The platform choice is much simpler because the app is created to solve some sort of problem, which is known, so it’s easier to choose between an iPhone and an Android device, for example. Also, a custom UI is probably not needed for employees. They don’t need animations to look at for minutes or hours. They just need to have a more effective way to do their job. So, a standard UI with the native look and feel of the platform chosen will work.
On the other hand, internal enterprise infrastructure should be taken into account when we develop an enterprise application. The hardware setup of the enterprise, their network, their security, their authorization policy, et cetera. For example, in the app I mentioned that we developed for the retail company, the internal infrastructure was based on Microsoft products. We had to develop source code that would connect iPhones with Microsoft Exchange Servers. So in conclusion, the enterprise should evaluate their business processes, figure out what can be automated or optimized, and develop an app for it. Or they can contact us, and we’ll do all of that for them.
What are the benefits to your business model? What unique value does your company provide?
Recently, our clients have started to say that they like our new business model. In our early years, we were just a development company and simply followed the client’s requirements. Now we do everything from ideation to development, deployment, and support. What the clients also like about our new business model is, we treat their product like our own product, but we do not claim any equity of their business.
MLSDev is very simple and easy to work with. Our message to our clients about our benefits and value is, bring your idea to MLSDev, and we will make it with no headaches. We will handle all the details in a way that’s lean, fast, and affordable. We will validate the concept, iterate the design, and ship a high quality product that is centered on your users. We will be your designer, engineer, and product co-founders, but you will keep your equity. So, the specific benefits we provide are a fast release to market with minimum possible cost, while still delivering a high-quality product.