Building a mobile app is an expensive endeavor, while the overall costs are still high, there are some things you can do to lower the cost of your product. Before spending any money on developing the product, you need to plan everything thoroughly and make sure that your app idea is good, that you have a valid business plan and there is a need for the product you want to build, the best way to do that is trough a Product Discovery workshop
The first iteration of your product should be an MVP. The purpose of the MVP is to gather feedback, to test if your idea is valid, to check if there is a market for your product, to gain insights into how the people are using your product, how can be improved, and whats their general feeling about your app. To do this, you don't need to implement all the whistles and bells, you don't need a complex payment mechanism, or in-app purchases, as all of those will be in vain if no one is using your product.
Our number one recommendation for someone who builds a new mobile product is to target only one platform. There are only extremely rare cases where both platforms are needed for testing the idea and building a mobile product for both platforms in the early stages is not cheap -- as you'll have to pay for 2 separate pieces of software, neither is fast as more design and development time is needed. Instagram and Foursquare were both iOS-only apps in the beginning, after they've reached product-market fit they build Android versions as well. Another successful mobile product built for only one platform is Clubhouse.
MVC is short for Minimum Viable Product, the first version of your mobile product should only contain the core feature of the idea you want to test. A good example is Shazam, when they started out the MVP only contained one feature, determining the name of a song based on a recording, later after they've validated their idea, they've built all the other social features, charts, notifications, and so on. Having a slim feature set for the MVP allows the founders to pivot their idea and implement different approaches once they get feedback from their users. A complex, feature-full product is a few orders of magnitude more expensive to build, more complex to change, and stiff to adding or modifying features.
Among the features you can easily skip in the first version of your mobile product in most cases are:
- Push notifications & deep linking — this introduces extra complexity in the codebase and introduces new complex scenarios to handle. If you're keen on implementing push notifications, you can do it without deep linking. Push notifications will keep the users more engaged and they work great at reminding the users of your app however, before doing that you need to make sure that you have a user base to send those messages to, and in 95% of the cases push notifications are not helping you build your user base.
- Login with social platforms or complex authentication flows — Nowadays is much cheaper and faster to log in with your phone number or using Apple Sign In, or Google. Integrating multiple sign-in options such as Facebook, Google, LinkedIn, Twitter, Apple Sign In, is not a cheap task. When building an MVP, you should not hinder the experience of the user in any way, creating an account before trying out an app something that the new users don't want to do, so if you can use a fast login mechanism such as a phone number, or no login process at all, the experience of your early adopters is better and you have lower development costs, win-win.
- Unit tests & automated testing — Doing unit testing and automated tests will assure that the product you're delivering does what it supposed to do, however, in the case of startups where the entire product roadmap and feature specs are more flexible and in 99% of cases changes, it's better to stick to traditional ways of testing the app -- manual testing. Unit tests and automated testing takes quite a bit of time to implement and while it's super effective for mature products, for an MVP is usually not needed.
The MVP should take advantage of as many out-of-the-box design components as possible. For instance, if your app requires a date picker, use the default one, and don't spend resources on implementing a custom design on secondary components. Both Instagram and Whatsapp have a lot of UI components that are native or close to native ones, and both applications are highly popular. When developing an MVP, you should pay more attention to the user flows than to the design, offering a fast and easy way of achieving a task is more valuable to your early adopters than a fancy UI animation or illustrations.
By using native components you'll save a lot of money on the design phase but also on the development phase, as native components are much easier to implement and use than implementing complex ones. For instance, if a developer needs o use a native date picker, he could implement it in the app in a couple of hours, if he needs to build it from scratch, it might take even weeks to get all the animations right.
If you're not a developer then you'll most probably need someone to build the app for you. You could either hire an in-house developer, contract a freelancer or work with a development agency.
For most founders hiring an in-house developer is not a viable choice as they don't yet have a proven business model and they might end up in a situation where they are not able to pay the hired person or simply don't have enough work for a full-time developer.
Your best options are using a freelancer or a specialized agency. Finding a developer who would deliver on time and implement so that it can support the roadmap of your product is not an easy task. Trustworthy specialized agencies have previously built mobile applications, they can offer you insights and guidance and usually have end-to-end capabilities in house, so if you need a new design, a logo change, or help with the marketing, you don't have to search for new freelancer.
Even if the agencies might charge more than a freelancer, you're guaranteed that you'll get your product in time, tested, and built by someone who has done this before and fully understands the lifecycle of a mobile product. In addition to this, agencies specialized in building mobile products will offer you consultancy and guide you through the entire process of building, releasing, and marketing a mobile app.