How to Make an MVP App That Everyone Will Love
Is it possible to make an MVP app that is both convenient for users and easy for the team to develop? With about 300 mobile apps under their belt since 2008, SimbirSoft developers can confidently say that the answer is yes.
But how do you ensure a high-quality user experience? What does MVP development begin with? And what should you take into account when implementing various features? We have asked Rinat Shamshutdinov, head of mobile development at SimbirSoft, to answer all these questions.
MVP is the minimum viable version of a product you can launch on the market. Just remember — it is not a draft. Your product will most likely face fierce competition, so you need to offer something users will be ready to pay for/spend their time on.
The MVP approach can also be applied to existing products. For example, we once had to improve the app of one of Russia’s regional banks in three months.
“Our task was to make the app more useful, especially for legal entities. Together with our partner, we studied the hypotheses and decided to add a new feature: automated data capture from financial documents. All users needed to do was take a picture of the document with their smartphone for the data to be automatically loaded into the necessary forms and transferred to the banking system. To implement this feature, we used the MVP approach. First, we introduced data recognition in individual fields. After making sure users liked the feature, we added recognition of document templates in the subsequent releases.” Rinat Shamshutdinov
For an MVP to be successful, it must meet several criteria:
- Deadline. The app must be developed on time. This includes testing, debugging, and launching.
- User experience. Users should be able to quickly get a handle on how the app works and want to keep using it for their needs.
- Quality of code. For the team to be able to add new features and keep improving the app, the code must be clean and easy to understand.
Let’s focus on user experience. Businesses know their users best, meaning they will be ready to handle this aspect when developing a concept and an MVP. The product owner can also track UX using mockups provided by the contractor. Complex projects like remote banking services should have terms of reference describing the main screens, use cases, etc. For simple apps, mockups and a description of the backend API may be enough.
Focus on Users
To ensure a high-quality user experience, you need to:
- Make the app easy to log in to and use.
- Pay attention to alternative scenarios.
What can you do to retain users? Here are some authorization tips:
- Let users use the app without logging in as much as possible. A classic example is online stores: you don’t usually need to log into your account to make a purchase unless you want to earn bonuses.
- Make sure to save the data users enter before logging in.
- Reduce the amount of information required to log in.
The more data users need to enter, the less likely they are to keep using the app. For example, don’t make users sign in manually after registering or recovering their password — make the process automatic. - Use the simplest authorization methods possible.
For example, biometrics or phone login with autofill verification codes. - Make the input mask clear and simple.
Use hints below the fields to explain what data you expect to receive. It should be clear for the user what to enter as a login and in what format. If some of the information is invalid, highlight only the fields that need to be changed. - Plan data migration in advance. Users should be able to seamlessly transition from the old app version to the new one.
If you plan to launch a new version by changing the backend part, consider migrating users from the old database, including their authorization data. Otherwise, you risk overloading the technical support, getting negative reviews, and losing customers. It is better to delay the release if you need to, as winning customer trust back is much more difficult than maintaining it at a high level from the start.
Want to make your app easy to use? Then design UX so that the interface feels intuitive to new users and allows them to quickly find the necessary features.
How to achieve this:
- Display the main functions on the main screen, but do not overload it with content in the first versions of the app. For example, do not display catchy promotions and ads.
- The first app version should be easy to understand and, as a rule, not have any fundamental differences from market leaders so that users don’t have any issues with the interface.
It’s like grocery shopping: all large chain stores have similar layouts. If the layout changes, buyers start getting lost and feel uncomfortable because they have to spend extra time looking for products.
In addition:
- You can set up app support chats using third-party services, for example, Telegram or WhatsApp. On the one hand, this will reduce development time, and on the other hand, it will be convenient for users who use these messengers on a day-to-day basis.
- For apps with in-app purchases, you need to make the refund process transparent. Users need to be able to get a refund and should know what to do if they want one.
- Cover the main user journey with analytics. This will help to adjust plans for future app development.
How to Prepare for MVP Development
Use the following checklist at the beginning of the development process:
1. Prepare documentation based on up-to-date information about the product:
- On the technical side: product vision, terms of reference, mockups, API description of the app’s backend part, and roadmap;
- On the business side: goals, main scenarios, distinctive features, and user profile.
2. Identify limitations and risks.
Analyze the past experiences of working on similar projects, study the legal field and the customer’s infrastructure in detail, etc.
3. Define key features.
Plan the definition of done (DoD) for each feature.
Key project features are determined by the team and product owner. Each feature has a goal that needs to be achieved for it to be considered ready. After that, features are split into smaller tasks to be evaluated by developers. When distributing tasks, take into account what version of the app should be uploaded to the marketplace — the one for testing (including by the end customers) or the release version — and when. Clarify the availability of accounts and the publication scheme since it may take several weeks to set up an account for a legal entity. The product owner (customer) must understand what data they will need to submit.
4. Evaluate the project and put together a team with the deadlines in mind.
This will help you to avoid risks such as failing to meet the deadlines or exceeding the approved budget. Project evaluation may also result in new task priorities or give you new ideas on how to go through with the project.
5. Set up the infrastructure and plan the architecture.
When developing an MVP, remember to choose a flexible and upgradable solution from the start and consider the optimal use of resources.
6. Bring in the development team.
How to Scale an MVP App in the Future
Based on our experience, it is better to include the scalability of certain elements in the MVP version. This will save resources later. Below you will find the list of aspects to prioritize, as they may affect deadlines.
- Mobile phone/tablet support
When developing an MVP, it is normal to focus on a single type of device. Design the app with the latest versions of operating systems in mind. Introducing support for older versions will make the development process longer, and the design will not always match the mockups. As of June 2022, we are creating MVPs for Android 8+ and iOS 13+. - Screen orientation and multi-window support
At the MVP stage, a single-screen orientation will be sufficient for most devices. Still, you should enable screen rotation during development to look for bugs. Multi-window support can be used to run two apps in one window at the same time. If you want your app to support this feature in the future, I recommend you include it right away. - Night mode
If you plan for the app to support night mode in the future, it should be incorporated into the architecture and design from the very beginning. - Offline mode
Determine which MVP features need an offline mode and which don’t.
Implementation options:
- Data is cached in RAM
After the app is unloaded from the memory, the data is downloaded again from the server. - Read only
Users cannot edit content offline. - Read & Write
If you want users to be able to edit content offline, discuss with backend developers how conflicts will be merged if data changes on multiple devices. In other words, how the app will determine what changes are the most relevant. Let’s explain this using a to-do list app as an example. Let’s imagine that our app is installed on two devices. If the user changes task status offline on both gadgets, you will need to decide which of the statuses to apply when the devices connect to the Internet again. - Localization
Decide whether the app will use the system language and if you want to add multi-language support. The app’s backend should return error texts to the app in the correct language. - Push notifications
If complex navigation is required to open a specific screen in the app upon receiving a push notification, you need to take care of routing — the process of selecting a path for traffic — in advance. - Integration with devices
To debug the app, the dev team will need access to the devices on which the app will be used, libraries and SDKs for integration, and the contacts of their developers. - Integration with social networks
The app should request information about the user from social networks on the backend. It is better if users have an option to link several social networks to a single account.
Closing Remarks
On the one hand, MVP brings value to users, and on the other hand, it helps to confirm or disprove the hypotheses of its creators. To achieve this, the user’s ‘first date’ with your app needs to be successful, or they will not want to use it again. For the app to be easy to work with, it should be based on a simple and clear user script. It is also important to discuss with the dev team not only the characteristics of the MVP but also plans for its expansion. For some features, this will not change anything, but for others, knowing the prospects will help specialists determine the optimal solutions.
MVP development is all about getting the key features right on the first try: the owner has no room for error. For a successful product launch, the client and the developers must function as a single organism, proposing and discussing MVP solutions together while taking into account risks and opportunities.
Learn more about the project estimation process in our article: How to Calculate the Estimated Costs for Web & Mobile Projects
Join our Medium community to keep up-to-date with our experts’ insights: Top 6 Business Tips to Avoid Mistakes in Product Development