The battle for the user’s attention becomes more fierce every year — companies compete in the quality of their products, investing substantial money in UI/UX design and mobile app development.
Social networks, instant messengers, educational platforms and many others — for every app there is a clear algorithm of creation, which changes slightly for different software development companies. This is a “mobile development lifecycle”, a scenario of actions conducted by a “mobiliteam” to produce a new app. Lifecycle helps to understand:
- What it takes to start a development process
- How to run it
- What the end results must look like
The mobile app market is growing rapidly: last year, users downloaded apps 218 billion times. Only in the 3rd quarter of 2021, an average person spent $5,31 on either Google Play or the App Store. Now that’s impressive.
Each app development cycle has its hidden problems. In this article, we will share our ways of solving them.
Step 1 — Research
Problem: A client doesn’t really know if they need an app or not.
Solution: We interview them, find out their values, ask questions listed below.
Everything begins with an idea. But terrible decisions also begin with an idea.
Sometimes a client is just convinced they have to have an app. Maybe they were inspired by one of our articles about business mobile app ideas. But before a client will dedicate time and money to an app development project, we let them answer these questions:
- Do users visit your website from their mobile devices?
- Do you want to implement new features for mobile apps that are not available on the website?
- Do your competitors use mobile apps?
- Are repeat sales your thing?
- Do you have a loyalty system ?
Even if a customer answered “yes” to most of the questions, only professional research by a development agency can determine if an app is worthwhile for the business.
A mobile app does not become a new sales channel automatically. We recommend starting with the analysis of an existing customer journey with all points of contact with the customers (through an offline store, a call center, communication through the website). It is useful to understand and analyze what internal processes customers face every day — consider how a mobile experience can improve these interactions.
Problem: A client wants too many features at once.
Solution: The feature selection criteria are very simple. “Can the user solve the fundamental problem without this function?”. If the answer is “yes”, then delete the feature.
We are addicted to overthinking. When creating an app, the initial functionality no longer seems enough after a while. Clients often suggest adding something else, new thoughts come up regularly. But the more features there are, the more difficult it is to develop a product. This means more time and greater lead-off from the newest trends of the market.
The mobile application should be on users’ phones as soon as possible. The sooner you obtain customer feedback, the better your chances of success. If you can achieve this goal, it will not be difficult to change or add features in the future. Bad timing is one of the reasons why startups fail after they develop mobile apps.
Problem: An outsourcing company the client hires thinks that “competitor analysis” is literally just comparing competitors’ features.
Solution: Make sure a development agency uses Porter’s Five Forces model to conduct competitor analysis.
Porter’s Five Forces is an analysis model that identifies five competitive forces shaping every industry. It helps to point out the potential app’s weaknesses and strengths.
The five forces are:
- Supplier power: how easy it is for suppliers to drive up prices.
- Buyer power: how easy it is for buyers to drive prices down.
- Competitive rivalry: quantity and capability of competitors in the market.
- Threat of substitution: how many apps can substitute yours easily.
- Threat of new entry: how your entry on the market will erode profitability.
Step 2 — UX and UI design
Problem: Designers ignore iOS and Android interface differences in a concept.
Solution: Make sure designers develop several concepts/Choose one platform from the start.
Software development life cycle for iOS and Android platforms require different approaches to design, navigation, mobile app development software, and other aspects of the user experience. If you are thinking about creating an application, you should think about which platform to use.
For example, when choosing colors for a concept, bear it in mind that the iPhone color palette is usually better conveyed on screen (no offence, Android fans!) than the palette of Android devices, so you need to give up the concepts with adjacent colors. They might look “dirtier” on Android.
There are also a few more UI/UX nuances:
- Screen size: 320 pt x 568 pt iPhone vs 360 dp x 640 dp Android.
- System font: San Francisco iOS vs Roboto Android.
- iOS has completely different UI/UX guidelines from Android. The latter uses Material Design principles.
- Android devices have physical navigation buttons. iOS devices do not.
To avoid wasting funds, contact a designer who is familiar with the requirements of operating systems and the logic of building screens for Android and iOS.
Problem: Designers ignore the purpose of an app, creating designs that they personally like.
Solution: Always keep in mind that an app must answer the pains of the target audience, and not someone’s aesthetic preferences. Write it down in a requirements document.
Remember the purposes of launching an app. Is it a sports membership application? Use dynamic typefaces, and bright colors:
For the entire application, it is better to use only up to 4 types of one font (different sizes, colors, and thicknesses) and 4-5 colors. This is enough for highlighting and creating a neat interface.
Problem: A client sends a ready-made concept design instead of a requirements document.
Solution: Let a project manager gather the requirements beforehand.
Sometimes a client brings a ready-made design to a few screens of an app instead of a technical assignment, saying that the rest is “already clear.” Alas, designers are not magicians, and without detailed requirements, they cannot make a good product. Each missing detail increases the time of creating apps.
Step 3 — Development
Problem: A developer team obtains an impossible concept from a design team. Now they have to change it.
Solution: It’s time to re-estimate the time in 3 mobile app development stages!
I. The development team analyses the concept.
Is mobile app development hard? Yes, and sometimes even more so when you have a ready-made concept. Developers go through the requirements from a design team/client. They conduct a cursory analysis of the task, app functionalities, identify gaps, and ask questions to fill them.
II. The development team identifies the concept’s problems and goes through 5 stages of grief.
Developers point out potentially problematic features from a design concept:
- New tasks and technologies for the app’s prototype
- Complex tasks requiring research and time
- Fully custom UI elements impossible to implement
They identify features for which it is possible to use third-party libraries/services (the integration of such libraries/services also takes time). Developers reassess all of the project’s timeline.
III. The development team bargains with a PM and the new app prototype is born.
Mobile app developers:
- Identify components of the application that can be reused.
- Identify components/tasks that were previously implemented in the wireframe of other projects.
- Identify the tasks for which it is necessary to conduct research, and coordinate this time with the manager.
- Identify components (both UI and business logic) that can be optimized without loss of quality and functionality. Then they agree on the optimization proposals with a project manager.
Developers bargain the changes of each app functionality with a project manager, write them down. If they lack speechcraft skill and can’t persuade a PM, they make a warning in written form of the risks of not changing the design.
Step 4 — Testing
Problem: Testers lack the necessary knowledge of a particular app.
Solution: Make sure testers read a user story/customer journey map, or see how similar apps work.
This is one of the most common mistakes that testers make. They are “probing” an application that they have never heard of, and therefore only pay attention to the basic nuances. But the tester must have a thorough knowledge of an app — its functional requirements, features, and logic.
Problem: A client insists on trying and probing absolutely everything.
Solution: Relax, breathe, accept that this is impossible.
It is not possible to test a mobile application on all devices and operating systems. Google Analytics allows you to draw certain conclusions about user behavior. Let’s say you want to test 50 cases on 10 different devices in 5 different network environments. To cope with this task and to build an app, testers will need to work out an infinite number of options.
Step 5 — Deployment
Problem: Application performance drops as the user base grows.
Solution: It is necessary to improve performance.
- Developers can cache some data rather than dynamically issue it each time for each user (for example, the number of comments).
- Storing images and other heavy objects in the database degrades application performance. Avoid storing massive sets of heavy images like this. Plus, consider deleting data that no one will ask for a long time.
Problem: Users notice errors in the application.
Solution: Think in advance.
It’s a good problem to have. If the application has already received a large user base, it may happen that they will face various problems and software errors. For example, it could be a server timeout, a connection reset, or an update reset. Try to think through most of these problems during the design phase of your application. Add the ability to authorize users through third-party services.
Step 6 — Support
Problem: Some time after launch, a client seeks to “fix” an app, rather than upgrade it.
Solution: Each year, a new version of iOS comes out. A client will need an immediate fix for the new version, so that users can continue downloading the app. At the same time, one must think about development.
As users download and use the new service, you will receive feedback and, based on them, refine the application. And after a while, you will probably want to add new functions.
At Shakuro, we provide professional IT support and maintenance. As part of support, we ensure the smooth operation when we build an app. In addition, we carry out technical work on monitoring the health of servers, backing up, ensuring free disk space, supporting updates to the iOS and Android operating systems, and so on.
Is mobile app development worth it? By 2023, global mobile application revenue is expected to reach $935 billion via paid downloads and in-app ads. This makes mobile app development one of the most profitable and fastest-growing segments of the IT market.
This, however, brings certain limitations like urgency. The mobile market is extremely sensitive to trends in design and performance. What is the future of mobile app development? See our newest article on top mobile UI/UX trends for 2022 to keep up, and don’t hesitate to contact us if any questions arise!