Mobile development blog

Sign up to our newsletter
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Looking for something more specific?
search icon
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
hand on a mobie device

How to Use Artificial Intelligence in Mobile Apps?

Maja Nowak
Maja Nowak
August 19, 2021

Learn how you can use artificial intelligence in mobile apps.

Read more

Artificial intelligence is one of the most inspiring innovations of the last five decades. The technology has transformed the way we play music, shop, and work. Mobile apps have also enjoyed the features AI offers by boosting personalized recommendations, powering chatbots, and introducing automation. Learn how else you can use artificial intelligence in mobile apps.

What Is AI and How It Works? 

Artificial intelligence is exactly what you imagine it to be — machines mimicking human intelligence. AI uses machine learning (ML), natural language processing (NLP), and deep learning (DL) technologies to build algorithms that have reasoning and decision-making capabilities.

AI allows companies to process high volumes of data quickly and derive valuable insights. Companies use these data-backed insights to improve capabilities, get more productive, and grow faster.

In a study by Gartner, the number of companies that use AI grew by 270%. Another projection by Gartner predicts that the use of AI across businesses will create “$2.9 trillion of business value and 6.2 billion hours of worker productivity.”

Artificial intelligence can help increase mobile app retention, engagement, and conversion rates. Let’s look at how AI enhances mobile applications.

Mobile Apps and Artificial Intelligence

AI-powered apps are more intuitive, intelligent and can do more for the end-user. There are three major dimensions for implementing AI in mobile apps: 


AI helps app algorithms solve complex problems and aids decision-making. Mobile apps can analyze and logically conclude what to do using AI.

Google Maps estimates accurate travel times. Uber finds the nearest cabs and optimizes the best routes. These companies track historical traffic patterns using AI to come up with the best solutions in real-time. 

a diagram with mobile artificial intelligence
How users interact and experience algorithms is a complex process. Source: ScienceDirect

AI makes mobile apps capable of making decisions and solving problems. User satisfaction improves when they get what they’re looking for, with AI helping in the background. Satisfied users lead to higher app retention rates and Net Promoter Score (NPS).


Companies use AI to build powerful recommendation engines within mobile apps. Recommendation engines analyze past user actions and offer relevant suggestions for the future.

Netflix uses AI to analyze what viewers like and suggest the next movie that matches their preferences. Amazon tracks shopping behavior and recommends more products customers are likely to buy.

AI can analyze data faster than a human and uncover prevailing trends. This helps apps know users better, provide contextual recommendations, and boost engagement rates. 

Behavioral Analytics

AI simplifies pattern analysis to create more personalized app sessions. Startups can use deep learning and sentiment analysis to enhance the user experience.

For example, AI can help understand why a user abandons an app. Google Analytics or CleverTap (an app analytics tool that uses AI to track user sessions) analyzes touch heatmaps and discovers navigation paths within mobile apps. AI-based analytics help adjust the app to user expectations.

people playing with symbols

What Is Code Refactoring, and When Should You Consider It?

Mat Zaleski
Mat Zaleski
August 10, 2021

Code refactoring ensures that the code remains clean and preserves the desired application performance. Learn what code refactoring is.

Read more

Every software application needs continuous updates according to customer requirements and user data that stream in. When developers fix a bug or add a new feature, the source code grows larger and more complex. Code refactoring ensures that the code remains clean and preserves the desired application performance. Learn what code refactoring is and when and how to do it in different mobile applications.

What Is Code Refactoring, and Why Is It Important?

Code refactoring is the procedure that improves the software code without changing its existing functionality or the external application behavior. It involves cleaning the code for better clarity, readability, and maintainability. This process ultimately improves the application’s performance, scalability, and security. Refactored code is easier to debug and, most importantly, has fewer errors and bugs, lowering the likelihood of technical costs in the future.

Why Do We Need to Refactor Code?

To avoid code rot

A typical software development team consists of developers with different coding styles. During development, they keep updating the existing code. Sometimes, they can introduce correct but ugly code hacks as part of a quick solution, for example, in situations like a high-priority production incident or when trying to meet a quick deadline. 

When there is no routine for refactoring such code, code rot can creep in. Code rot is when the code is getting cluttered and loses integrity. Examples of code rot include duplicated code, unnecessary dependencies, unused variables, or too many parameters. That’s why code refactoring should be introduced early to avoid bugs and errors in the application. 

To save development effort and costs in the future

When the code is clear, existing and future developers can understand the code easily. This means you do not have to spend time explaining the code to your team or provide special training before adding new features to the application. Easily readable code saves a lot of your time and money and is the key to streamlined mobile app development. 

To improve the application performance

Refactored code generally results in better performance of the product. If your application has third-party integrations, code refactoring helps keep well-maintained dependencies that don’t bloat the application. Code refactoring ensures that the desired levels of response times for application transactions and throughputs are met, which eventually improves customer experience.

cartoon man with a computer

How Does the Internet of Things (IoT) Help Businesses?

Maja Nowak
Maja Nowak
August 4, 2021

Discover how IoT helps businesses expand and streamline operations for a better bottom line.

Read more

The Internet of Things (IoT) is changing how businesses optimize processes and engage customers. Discover how IoT helps businesses expand and streamline operations for a better bottom line.

The Global IoT Business Opportunity

IoT facilitates tech interaction to promote digital transformation. In recent years, IoT adoption has skyrocketed in almost all industries.

The IoT market is expected to cross over $1300 bn by 2026. It’s projected to generate $4-11 trillion in economic value during the same period.

graph with projected IoT market growth
The growth potential of the worldwide IoT market (2019-2026). Source: Verified Market Research

The Internet of Things has opened up new avenues for growth and optimization. In fact, 83% of the organizations that implemented IoT technology have improved their efficiency.

Recognizing the numerous benefits of this technology, the business world is increasingly investing in IoT technology:

What Are the Benefits of the Internet of Things for Business?

You must have heard — data is the new oil. 

With IoT technology, your business can use every data point to achieve growth goals and optimize processes. Here are some of the ways IoT can benefit your business:

IoT helps businesses reduce costs

IoT solutions streamline existing processes across manufacturing, supply chain, production, and other industries. Streamlined operations minimize downtime and decrease costs.

The manufacturing industry is the best example of cost reduction via IoT technology.

IoT robotics packing books
Factories use autonomous robots connected to IoT to reduce costs by maximizing output.

Factories use predictive maintenance technology to reduce downtime by up to 20-50% and save 5-10% in maintenance costs.

IoT boosts productivity and profitability

IoT helps create optimized workflows through automation. It minimizes repetitive tasks and facilitates optimal utilization of available resources and machinery.

Optimization helps avoid wasted man-hours in organizations, making operations more efficient.

In fact, 83% of IoT-powered organizations claim to reduce expenditure and boost employee productivity. A study by Aruba revealed that 75% of companies adopting IoT increased their profitability.

IoT unearths new business opportunities

IoT connects hardware, software, and artificial intelligence for deeper analytics. Because of better insights, businesses can use IoT to catapult their operations toward the future.

36% of businesses discover new opportunities with IoT.

Businesses build new product lines and revenue models based on emerging patterns.

For example, insurers calculate premiums based on driving habits. Retailers plan their inventory levels and in-store display by recording consumer behavior. Marketers use IoT-based beacon tech to gather insights about consumers. Data analysis helps businesses adapt to change and create market-ready products.

IoT promotes optimal asset utilization and tracking

IoT can connect every unit, device, asset, machinery, or equipment to a single network. With smart sensors, businesses can then track assets and control equipment. Real-time insights and autonomous control reduces waste and optimizes the entire workflow. Asset-heavy industries like transportation use IoT to promote transparency through location tracking and updates.

IoT improves security levels and minimizes vulnerabilities

IoT reduces security risks and vulnerabilities through sensors designed for live surveillance in physical locations.

Connecting CCTV cameras to IoT networks creates a powerful surveillance network. This network can be further enhanced with automation, deep learning, and computer vision to create custom security solutions. For example, ALERTWildfire, a new AI detection network, is becoming increasingly accurate at predicting wildfires.

two people adjust a mobile app screen

How to Mitigate the Risks of Outsourcing Mobile App Development

Wojciech Czajkowski
Wojciech Czajkowski
July 22, 2021

Learn how to mitigate the risks of outsourcing development.

Read more

When you outsource mobile app development, you want to get the work done professionally at a reduced cost and with little overhead. And while this sounds enticing — in 2019, the global market size of outsourced services was $92.5 billion — outsourcing development doesn’t come without risks. But there are ways you can keep these at a minimum level. Learn how to mitigate outsourcing development risks.

The Truth About Software Outsourcing

If you're like many business owners, outsourcing mobile app development might seem like a good idea, especially from a financial perspective. The average business is strapped for cash, and even if you’re more financially stable at a bigger company, launching a mobile app can still be costly if you don’t have in-house resources experienced in mobile development.

But outsourcing mobile app development is not a one-size-fits-all solution, and it has its own set of advantages and disadvantages. Handing over a list of specs and expecting a service provider to come back with a great digital product isn’t necessarily how outsourcing looks like. The communication is critical, and it's the core of good cooperation with your business partner.

And while the overhead with outsourcing is significantly lower than if you were to build an in-house team, some questions also need to be answered — What is the cost? Will I lose access to my data? What about intellectual property rights and trade secrets? Who will be managing the project? 

These are all valid concerns that should be taken into account before choosing an IT outsourcing partner.

What Are the Major Risks of Outsourcing Software Development?

Adjusting to remote teams and time zones

The first major problem with having a remote app development team comes when you want to oversee how outside contractors handle their part of the job. The need to be in control is sometimes hard to let go, especially when you’re working with a partner with different processes.

If you’re in the trust-building stage, consider asking about the possibility of CI/CD (continuous integration and continuous delivery). In the CI/CD approach, you get to see the development of your app daily through a working demo.

CI/CD will help you oversee the progress and evaluate the quality of the deliverables. So when your outsourcing partner is underperforming, you’ll know it very early in the project and will be able to halt the work without risking losing money.

Knowing how the app’s development is progressing also helps to estimate whether you’re going according to the time frame or not. A delay is the last thing any project owner needs in their schedule. But keep in mind that delays are one of the trade-offs of lower costs per hour when you hire offshore developers.

Zoom meeting for remote teams
Time zone differences, language, and cultural barriers can all become outsourcing stumbling blocks.

Another issue might stem from different time zones and cultural differences.

Every time you work with a remote team, it’s important to remember that they’re on a different schedule than the one your business operates on. Take extra measures to avoid any miscommunications or mistakes by keeping communication channels open and setting clear goals. Most of all, be considerate of their time by meeting when it’s suitable for both parties.

Working with a partner that lacks business expertise

Assessing the expertise of a remote development team can be a difficult task. And if they’re unfamiliar with your business niche, there's a chance the team you're working with won't be able to navigate industry problems as well as they should. In that case, it will take longer for them to integrate your business vision or project idea into your mobile application.

Creating app interface and design
Hire an outsourcing company that knows its way around your niche and has developed similar products.

The solution? Look for an experienced outsourcing company that knows the ropes of your industry. Ask about their processes, project successes, case studies, and anything that will help you assess if they're qualified enough to do what you need them to. We recommend starting with a project discovery phase where intensive research allows teams to gain more understanding before jumping head first into implementation.

Inviting security breaches

Outsourcing app development means sharing portions of your data with another company. This can put your company at risk for security breaches, compliance violations, and financial scams. According to the Deloitte Global Outsourcing Survey, data security and loss of IP (intellectual property) are the leading concern among companies that outsource their operations.

To mitigate the risk of security breaches, outsourcing companies have to be vetted thoroughly (e.g., by checking their reviews on social media). Employees need to stay vigilant for possible misappropriations of trade secrets or loss of IP rights. There is also sensitive customer information that can leak through outsourcing — login credentials, medical records, credit card info — all can make their way to third-party hands depending on what type of solution you're developing.

a chart with data breaches cost
Data breaches cost a business $3.86 million on average. Source: Ponemon

To minimize those risks, ensure you sign an NDA (non-disclosure agreement) with an offshore company involved in your project before you share any data with them. This way, if any data leaks, they will have to pay penalty clauses. Furthermore, try to collaborate with a company that is legally bound by intellectual property laws (e.g., European intellectual property law). 

Experiencing hidden costs and quality issues

While it’s tempting to settle for the lowest bid, in the end, the development might cost more than you expected. Before falling for the cheapest, consider the possible consequences of choosing a partner that has never completed similar projects. Also, is the company you want to partner with big enough to meet the demands of your project timewise?

When new agencies enter the market, they often offer low bids that aren’t feasible. Ultimately, the development ends up costing organizations more because these newcomers can’t manage the scope of the project correctly.

When you're looking to outsource a project, ensure that your contract covers all of the services and deliverables needed. The contract should outline the timeline, estimated costs, and explicit details about what is expected from both parties.

Ask what is included in the per hour contract, so as not to fall into the trap of being charged extra.

Dealing with miscommunication

The key to success for any project is clear communication. You can avoid many costly and time-consuming problems with your projects if you make sure that both parties are on the same page. Without a clear understanding of what is required, delays will pile up and turn good outsourcing relationships sour quickly.

a meeting with four people discussing a whiteboard
Some projects might require face-to-face meetings to discuss project details.

When engaging a partner for outsourced work, make sure to consider and discuss all aspects, including deadlines for deliverables, milestones along the course of your project, software requirements, and expectations on quality.

Dismissing the role of your engagement

One of the risks you possibly haven’t considered but most outsourcing companies are familiar with, is your own engagement. If vendors don’t get timely responses from you regarding questions or requests, chances are you won't be satisfied with what's delivered in return.

a person using a laptop and a mobile phone
Outsourcing partnerships are successful to a degree to which partners can communicate well with each other.

When project managers and developers work closely with their clients, they're able to understand all of the nuances in your business and create a solution that fits exactly what you need. This means that there will be less miscommunication between team members on the project, and it will likely end up being completed faster. 

The more your outsourcing partner knows about what you want, the better their work will be for you in the long term.

two hands meeting over a mobile phone

Minimum Viable Product Template — Different Approaches to Building Digital Products

Mat Zaleski
Mat Zaleski
July 14, 2021

A minimum viable product (MVP) is a way to bring your product into the market as quickly as possible. Learn about different MVP types.

Read more

A minimum viable product (MVP) is a way to bring your product into the market quickly, without risking too much time or money on developing features that might be redundant. But building an MVP in its most commonly understood meaning (a working version of your mobile application) isn’t the only approach to validating your ideas and probing market demand.

Just like there are many factors to consider when creating the foundation for your digital product, there are many types of MVPs. Context, competition, offer, business model, business objectives, and many other elements determine the best types of MVPs for your project. That’s why there’s no single minimum viable product template that will be accurate for all mobile app projects.

One thing remains 100% sure, though: the necessity to validate your product ideas if you want to succeed. According to a Harvard professor, 65% of startups fail. And the reason for failure is simple — poor and untested product ideas.

What Are the Different Types of MVPs?

Building a minimum viable product is the first step when launching any new project, but there are many different ways to approach an MVP. 

Wizard of Oz 

Also known as the Flintstone MVP, a Wizard of Oz is a product that doesn’t yet exist but makes an illusion of being a completely functional product. Even though it seems complete on the outside — just like the Flintstone car — there actually isn’t any software present on the inside to do the work.

In fact, all work, e.g., in-app actions are done manually by a developer. Zappos, the online shoe retailer, was built with a Wizard of Oz strategy. In 1999, Nick Swinmurn, the founder of Zappos, searched for a pair of shoes but couldn’t find them in a nearby mall. He discovered that none of the major companies sold footwear online. Soon, he built a simple website and started taking pictures of shoes from stores all over and placing them on his website — no inventory system present whatsoever.

Yes, Nick Swinmurn was doing everything manually, which meant running to the store to fulfill an order that came through the website. Once the sales became significant, he knew it was the right time to invest more money, and that the business would take off.

A Wizard of Oz test can be time-consuming, but it's an excellent option for entrepreneurs looking to validate their product or service before investing large funds. 

zappos logo
Once he proved the product’s viability, the founder of Zappos started adding more features to his website and expanding his business. Source: Zappos

A single-feature product

When Spotify founders were thinking about setting up their business, they noticed that other media streaming companies often went for expensive websites and apps, without really testing the viability of their products.

So instead of burning through all their funds on a fancy website or complex software development process prior to launch, they created an MVP in the form of a desktop application with music streaming as their core functionality to test the market need. However, their biggest focus was to bring down latency as much as possible, giving the experience no lag. The result? Spotify became the most significant music streaming company in the world.

So when creating a single-feature product, you need to understand that one functionality must work exceptionally well. After confirming that your product is viable, you can add more features as you learn the behaviors and preferences of your users.

spotify logo
Spotify’s approach to creating an MVP built helped the company become an industry giant and set it apart from the competition. Source: Spotify

Piecemeal MVP

The piecemeal MVP development framework relies on existing solutions to deliver a new service. For example, instead of building an entirely new content management system, you use solutions such as Wordpress. You don’t have to invest a lot of time and money to build a prototype or build a whole product from scratch in one go — you can assemble an MVP with existing tools.

This is exactly how Groupon was created, as an asset initially built on Wordpress. If the founders had insisted on building their own CMS first, the company might not have survived.

This approach allowed Groupon to quickly test the business idea with pet adopters, leveraging other software without spending too much money on expensive designs or complex functionality. 

groupon logo
Groupon started as a simple MVP website but became a global marketplace.

Concierge MVP

Concierge minimum viable product is similar to a Wizard of OZ test. With a concierge MVP, you also manually go through every step of the process with each customer. This gives you the opportunity to get feedback on your product or service and make any necessary adjustments to your product roadmap.

In the book Lean Startup by Eric Ries, Food on the Table is used as an excellent example of the concierge MVP. Food on the Table is an app that figures out what you like to eat based on the recipes you submit. The app then creates a shopping list using coupons to help users save money. To test out the idea, the founder personally collected coupons and compiled lists for each customer without any automation or a big team.

How Do You Build a Minimum Viable Product That Is Immediately Valuable?

To determine whether an MVP concept solves a problem, and therefore is immediately valuable, test whether it does the job.

The JTBD Theory

Jobs-to-be-done (JTBD) is a theory based on the premise that customers “hire” products or services as tools with which to complete tasks. 

Even though an MVP can be very cheap, it’s not always free to make. Jobs-to-be-done is a powerful tool for measuring the potential of an idea before any investments whatsoever. It considers two things: what job customers would require your product to do and how well your new product satisfies unmet customer needs and pain points versus existing solutions. 

A great example is Clay Christensen’s research for McDonald’s. During customer interviews, Christensen realized that people were “hiring” milkshakes because they're easy to consume with easy-to-dispose packaging and appetite-quenching qualities — perfect for those with time restrictions in the mornings. By understanding what was a milkshake’s job-to-be-done, Christensen’s team created a better milkshake, one that addressed the specific needs and wants of the customers.

person carrying a phone with different hardware addons

Mobile Development Technologies 2021

Maja Nowak
Maja Nowak
June 30, 2021

Explore the trends in mobile technologies in 2021 and what they have to offer for mobile app developers and smartphone users.

Read more

The future of mobile is bright and the market seems resistant to saturation. In 2021, almost 1.4 billion smartphones are expected to be sold worldwide. In this blog post, we look at the trends in mobile technologies in 2021 and what they have to offer for mobile app developers and smartphone users.

What Major Trends Are Occurring in Mobile Apps?

In 2020 alone, it's estimated there were 218 billion mobile application downloads worldwide. The growing number of app downloads — and a steady demand trend — opens the door for many innovations in the world of mobile technologies.

a graph showing the number of global downloads of mobile applications from 2016 to 2020
The number of mobile app downloads worldwide is increasing rapidly with each year. Source: Statista

Here are some of the top mobile app development trends.

Beacon technology

A beacon is an inexpensive wireless transmitter that uses Low Energy (BLE) technology to send signals to nearby smart devices.

The beacons are battery-powered and located via Bluetooth — mobile devices can communicate with them even without an internet connection.

For example, Safetify was designed to turn down the volume on mobile devices of people who listen to music while crossing the street, until they safely reach the other side.

The global beacon technology market is projected to grow at a compound annual growth rate of 86% from 2017 to 2024. Beacon technology has transformed various industries, primarily retail and e-commerce, and it will play an integral part in increasing customer awareness by delivering location-specific alerts and notifications.

In marketing, using beacon technology is called proximity marketing. Companies such as Macy’s, McDonald’s, Woolworths, or Amazon Go are already using this tech in their on-site marketing efforts and to boost in-store customer experience.

The beacon technology can also be used to create the infrastructure for smart cities.

Enterprise mobile apps

Enterprise applications operate in a corporate environment, and their primary purpose is to solve complex processes within an organization. Because how well a company performs often depends on these critical software assets, enterprise apps have to be built using reliable and scalable technologies.

Mobile cloud computing enables enterprises to store large amounts of data in one place securely. With the use of cloud services, employees can access this information quickly, which results in enhanced communication and more efficient work.

According to a recent study, the demand for these mobile applications has increased dramatically, and enterprise mobility is a top priority for one-third of organizations

Geolocation-based apps

From default apps like Find My iPhone or Weather to Instagram, Uber, and Yelp, most apps today use geolocation. Many messenger applications let you share your current location directly in the chat. Even photos on your phone camera can be stored by the place they were taken.

Google Maps location-based services
The rise of location-based applications has changed the way people navigate through their daily lives. Source: Unsplash

Geolocation can be used as a way to deliver more personalized and localized content. Location-based services provide a better user experience, plus they can give companies insight into user demographics.

Folding display phones and apps

If you had one in the early 2000s, you were definitely the coolest kid on the block. Although in a different form, It’s no surprise these are making a comeback. Folding phones were among the major announcements at the Consumer Electronics Show in 2020.

a foldable phone made by LG Electronics
Are foldable mobile phones the future? Source: Let’s Go Digital

The emergence of foldable smartphones has created a new challenge for app developers. Dynamic adjustment of app content to fit the screen properly with the right amount of data requires careful planning. Foldables create an entirely new segment for developers to explore, one where plenty of opportunities for disruption await to be explored.

In 2019, global foldable smartphone shipments represented only a tiny fraction of the overall smartphone sales in 2019, but they are projected to increase 100 times by 2025.

Mobile wallets

The global shift from using cash as your primary form of payment has been happening for years now, and it appears we’re reaching a critical tipping point. Recent global payment reports show that mobile wallet payments are likely to exceed the use of cash in four years.

A wallet in your phone allows you to store all of your credit cards, debit cards, loyalty card information, and more. In addition, mobile apps like Apple Pay and Samsung Pay have revolutionized how we pay for merchandise at the checkout line.

paying with a mobile wallet
In the near future, mobile wallets might as well replace all other forms of payment, at least in some transactions. Source: Unsplash

Integrating mobile wallets into apps enables users to checkout quickly and seamlessly, with just a single tap. 


The goal of an online retailer is to make their products available to buyers no matter where they are. M-commerce, or mobile commerce, is the buying and selling of goods and services through a mobile device, which helps online retailers reach their customers. M-commerce already accounts for over half of global online retail, which comes as no surprise given that mobile usage and searches are steadily taking over desktop.

Looking at these statistics, we might posit that m-commerce will dominate online retail in the nearest future. This calls for retailers to either optimize their websites to work on mobile devices or release m-commerce apps that offer much more in terms of customer engagement and experience.

Biometric authentication

In recent years, biometrics has become an increasingly popular form of identification due to its accuracy and reliability. Biometric systems use physical attributes like fingerprints or retinal scans to identify individuals. These are considered safer and more reliable than passwords because they cannot be easily shared or forged. 

Biometric technology can be used in financial transactions, government agencies, healthcare facilities, and more. The cost of developing apps that feature this technology has dropped considerably in recent years. Hardware-wise, face recognition and fingerprint scanning have become a staple for many smartphone manufacturers, with Apple being one of the first companies to have implemented Face ID in their phones.

On-demand mobile apps

On-demand mobile apps let users order anything from food to laundry service, with just a few taps or swipes. They can be found in different places and formats: as standalone apps like Lyft, TaskRabbit, Postmates; inside other established services like Uber and Amazon Prime Now; or even embedded into social networks like Facebook messenger.

a phone with the uber on-demand app open
On-demand apps like Uber have revolutionized our lives. Source: Unsplash

One thing these companies have in common is that they're all gearing up for an increasingly on-demand-driven world where consumers find it easier to find reviews and order a service directly from an app rather than browse through scattered reviews and make phone calls to order services.

What Is the Future of Mobile App Development?

Mobile tech is a booming field and will be even more so in the future. The mobile app economy has gone from $1.3 trillion to over $4.5 trillion since 2016. By the end of 2021, it's projected it'll reach an astonishing $6.3 trillion or higher.

One of the likely reasons for this growth is that people turn to mobile devices for an increasing number of activities.  

With new advances in mobile tech and other areas that can be incorporated into mobile environments such as 3D printing, machine learning, or ARM-based systems, there’s still plenty of disruption to be observed.

Are mobile developers in demand in 2021?

The demand for mobile app developers is expected to increase from 17% to 24% by 2026, which means that there will be a significant need for new talent.

Is there anything that can threaten this projected demand for mobile app developers?

Low-code and no-code software might.

Low-code and no-code platforms give less experienced users a chance to quickly build mobile applications using, for example, a simple drag-and-drop method. However, more advanced apps still require the presence of a mobile developer with experience in creating the app’s architecture.

So even though low- and no-code mobile development software has been steadily gaining ground in recent years, the relatively low sophistication of these tools doesn’t yet let creators build complex applications.

Which technology is best for mobile app development?

The world of mobile app development tools is quite big, and it would be difficult to objectively name one mobile dev technology best. The choice depends on your business needs and the requirements of your project.

While native mobile development is still superior to other approaches in many areas, cross-platform tools such as Flutter or React Native are catching up quite fast.

Flutter is a mobile app development SDK from Google that has been getting rave reviews and is steadily growing in popularity. React Native, on the other hand, has been around since 2015 and boasts an extensive community of users and developers. 

When choosing a technology, you’ve got to have a deep understanding of your company’s needs. Do you want something that will help you reach more users faster? Which platform (iOS or Android) does your target audience use more? How complex will your app be (i.e., how many platform-specific features will it be dependent on)? All these questions determine which technology fits your project better.

man looking through a telescope

A Simple Framework for Finding North Star Metrics in Digital Products

Tomasz Urbański
Tomasz Urbański
June 29, 2021

Make good product development decisions by picking a North Star metric and focusing on what helps your product mature.

Read more

You can measure hundreds of different metrics, but they will get you nowhere near making good product decisions. By picking a North Star metric, however, you can focus on what helps you build a foundation for data-based decisions that matter. A North Star (or master) metric will very quickly give you the answer to a basic question: is the product evolving according to your expectations, or not?

I’ll describe a simple framework that helps our clients find a master metric for building better products that reflect what users do and what decisions they make inside the app.

Organize a North Star Metric Meeting

Before the meeting

Invite stakeholders and at least one technically versed person. Mobile analytics requires experience and the terminology can sometimes overwhelm the stakeholders. Having someone who gets analytics and can translate complex terms into layman’s words is an asset.

Master metric meetings can be held remotely, so you can use Miro (or a similar tool) to organize thoughts.

During the meeting

#1. Set a goal

You start the meeting and set up a goal. In this case, it should be “looking for the master metric that currently matters.”

#2. Educate

To better explain the goal, describe what is a good metric and what is a North Star metric if it’s not obvious to all people at the meeting (e.g., not every developer has experience in defining metrics, hence I recommended inviting someone versed in analytics to the meeting).

Definition of good, great, and North Star metrics

A good metric lets you measure the usage of a specific feature with direct value to the user.

However, the definition of usage itself can get tricky and deceitful if you don’t understand it correctly. For example, metrics such as the number of sign-ups or the total number of registered users aren’t really going to help you build a better product because they give you neither valuable nor actionable insight.

If you make metrics more granular, say, the number of new users per week or how many times a day/week a user opens your app, you can correlate the results with some other action (e.g., change in design, reduction of the number of steps in a process). In other words, you can get a learning opportunity.

Now the even more granular “percentage of users who do the same thing inside your app X number of times a day/week” is a metric that influences decision-making the most.

With all that in mind, a definition of a North Star metric emerges: every other metric you measure means nothing until this master metric hits a predefined goal.

The most important persona

Now that everyone is on the same page as to the qualitative aspect of metrics, we’re going to focus on bringing to light everything we know about the most important user persona in the current state of the product. Master KPI will refer to this group of people.

#3. Establish a process

Freestyle ideation

Have your meeting attendees work together in a group to find a North Star metric. Set a time limit of ten minutes, for example. Every person works separately, without seeing the results until time runs up.

Use post-it notes in Miro for this step.


  • Don’t brainstorm here — it’s easy for extroverts to dominate brainstorming sessions. Introverts, too, have great ideas, but they won’t share them if they can’t be heard.
  • A key piece of advice in this step is to not think about any limitations — just write down what’s the master metric according to you.

When time is up, talk over your results.

Business constraints

When the master metric exercise is complete, all stakeholders should think about the limitations that make a certain metric unsuitable to become a master metric. The constraint can also be that the metric is simply unmeasurable.

Sample limitations:

  • Data privacy
  • Difficulty accessing necessary data
Metric refinement

Once everyone has learned about the ideas of other team members and business constraints, we repeat the ideation process for the master metric.

The iteration should look like this:

  • come up with and share ideas
  • eliminate or modify all proposed metrics so that they don’t have business constraints and are technically plausible

The technical feasibility of a metric also justifies the presence of a technical person — a developer with the knowledge of analytics will be able to tell how difficult is the implementation of that idea or if it’s even possible.

This sifting process should be exhausted to the point of giving you a list of validated metrics.


There’s little room for democracy when voting for a master metric — one designated person has to be the decision-maker. Every stakeholder gets 2 to 3 dots to use for voting on the best master metric. Keep in mind that the number of dots a metric gets is only for the informational purpose of the decision-maker.

It will be up to that person to ultimately make the decision which metric becomes the master metric.

Sample Miro board with the whole process:

miro board with a framework for finding north star metrics
Our Miro board for finding North Star metrics.

After the meeting

Remember that a North Star metric isn’t set in stone

A North Star metric is a way to focus on many different measuring options, which is great for successful product development that’s guided by predefined goals. But you have to keep in mind that a North Star metric is valid for a set period of time — once you achieve the predefined metric goal, you should find a new North Star metric to avoid the problem of local optimization. The key with North Star metrics is to find a global optimum. So without working on at least a few North Star metrics, your product might not mature properly.

Having a North Star metric is important, but it doesn’t mean that the one you pick initially should guide your product’s journey forever — there’s a high likelihood that that first North Star metric will change.

Don’t get too caught up in an accuracy frenzy

Don’t get discouraged by the results with the first North Star metric you define. Choosing that first metric is the most difficult part of the process. The data environment isn’t yet saturated enough for you to make highly accurate decisions — don’t worry about that, just pick the first metric that seems good and iterate to set the baseline for further measurements.

Set a target level for every North Star metric

Choosing a North Star metric is only one part of the process — the other is to assume what’s the satisfactory target level of that metric.

You can think about it as a kind of business gambling — you assume that a metric changes by X when you do Y. This approach is the quintessential element of scientific research and the foundation for making hypotheses and experiments.

If you don’t define a target level for your North Star metric, there’s a chance that its role in your product’s success will be blurred (you won’t know if it was the North Star metric that had a direct impact). And in a scenario where your product fails, you’ll try hard to rationalize it. 

Thinking about how much you can squeeze out of a given metric before you actually start the implementation takes away the ability to rationalize post-factum.

Consider the Lean Analytics Cycle

You can use the Lean Analytics Cycle diagram to find and validate North Star metrics, plus transition from one metric to another:

a diagram with a process for finding metrics in a lean manner
The Lean Analytics Cycle can also help you find a North Star metric.

a handshake over a laptop computer and mobile app screens

Advantages and Disadvantages of Outsourcing Mobile App Development

Maja Nowak
Maja Nowak
June 21, 2021

Many business owners are hesitant about outsourcing development. Learn about the advantages and disadvantages of outsourcing mobile app development.

Read more

We live in a world where we can get anything on demand. Want to order takeout? Done. Looking for someone to fix your plumbing or paint your house? It's as easy as logging onto the internet and making one phone call.

But when it comes to developing an app, many business owners are hesitant about outsourcing their projects because they don't know where to start or how much it will cost them in the end.

This post unveils the advantages and disadvantages of outsourcing. We’ll show you what to keep in mind while navigating outsourced development to minimize risk and maximize value.

What Does Outsourcing Mean?

Outsourcing means bringing services from an outside vendor into one’s own organization. It is a great way for small businesses without much experience in IT to get their hands dirty with technology with the help of someone who knows how to take care of the technical stuff.

However, outsourcing development also means hiring on-demand developers who do pure development work while your in-house team focuses on more creative product-related tasks. For example, your in-house team can be heavily invested in creating and testing hypotheses while the outsourced team will be implementing features.

In other words, when you outsource mobile app development for your company, you bring someone else in who specializes in developing apps. According to Statista, software application development is the most outsourced IT function worldwide.

Many businesses outsource app development to minimize costs. Source: Statista

What Are the Benefits of Outsourcing?

Outsourcing development is a great way to get more work done, without the added pressure of hiring someone new and managing them. It's also an excellent alternative if you're just starting out and don't have enough cash flow for a full-time in-house team of developers. Take a look at other benefits of outsourcing mobile app development.


For one, there are a number of cost-saving benefits that come with hiring an outsourced company for your IT needs. Outsourcing software development is less expensive than hiring several team members, such as designers, iOS and Android developers, business developers, UI/UX experts, or any other related positions. Outsourcing allows you to take advantage of someone else's expertise while saving money on overhead expenses like equipment and software costs.


When you're running a business, time is your most valuable asset. IT outsourcing can save you time and energy by reducing the resources spent on finding the right software developer. You can put this extra energy into your company's core business functions, e.g., improving customer relations or creating new features that will enhance customer experience.

High quality of full-cycle services

You can rely on experts to guide you through the whole process of mobile app development —  from ideation and conceptualization of your app, all the way up until deployment and updates. To get a development team that you can trust, look at reviews and testimonials, preferably from unaffiliated websites or services. Choose a company that specializes in your industry to guarantee a high quality of deliverables and a high level of expertise.

Access to experts

Hiring an outsourcing company can also help you increase productivity by giving you access to top talent and expert skill sets. Outsourcing software development — or parts of development — to senior professionals will help you fill talent gaps and get necessary insight wherever and whenever you need it. 

Flexibility in team management

Instead of having to manage a development team by yourself, outsourcing companies hire a project manager. That person is responsible for managing the entire project. Your sole job is to focus on the vision. However, when you hire experts with years of mobile development work behind their belts, you can also count on their expertise and consult if your app specification is realistic and viable in your business context.

Ideal balance between skills and rates

Outsourcing gives you a perfect balance between skills and rates. You’re able to find exactly what you’re looking for in a flexible contract within a reasonable price range.

coins on a mobile phone

App Revenue Models for a Mobile App

Mat Zaleski
Mat Zaleski
June 14, 2021

Choosing an app revenue model for a mobile app can be tricky. Learn about the pros and cons of the most popular app revenue models.

Read more

The mobile app market is booming. With approximately 247 billion global app downloads in 2020, it's no surprise that everyone wants to get their hands on a piece of this pie. 

Mobile apps are an investment and can take time to grow into something substantial. There are many different ways to generate revenue from an app — choosing one that best suits your needs can be difficult. Let's talk about the most popular models of app revenue generation, how they work, and which one to choose for your business.

What App Monetization Models Are There?

There are many app monetization models out there, but we’ll focus on the five most popular app monetization models available for developers: 

In-app advertising

In the in-app advertising revenue model, app developers display ads inside applications. The advertisers pay the developer every time an ad is displayed. The potential for this mobile app advertising revenue is essentially limitless. If your users spend enough time in your app, advertisers will want to buy the ad space.

For example, even though Instagram is a free social app, they generate revenue from advertising. By delivering highly personalized ads based on data acquired from its users, Instagram’s revenue has been growing rapidly. It’s projected to exceed $18 billion in ad revenue in 2021 in the US alone.

A smartphone with the Instagram app open
Instagram is an example of in-app advertising that yields great results. Source: Unsplash

Still, even Instagram can overdo its advertising endeavors. The algorithms are smart at firing highly (and sometimes eerily) accurate ads, but the growing number of ads sparked multiple debates on Reddit and in media outlets. So the key to doing Instagram right is to make the ads feel natural and unique — you want your users to stop and enjoy the storyline of the ad, just as they would the content of someone they follow. And yes, this advice applies to B2B selling as well, both on Instagram and in mobile ads.

table with pros and ons of in-app mobile advertising

In-app purchases

In-app purchases are a pricing strategy in which basic services or products are provided for free (or at lower cost) while more advanced services or products require additional payment. The idea behind this is that the company will make up losses by monetizing other features of its service. 

in-app purchase pop-up
An example of an app that unlocks additional features after a user purchases them. Source: App Store


When it comes to long-term revenue streams, subscriptions are often the best choice. Oftentimes users are either given free access to a limited amount of features or access to all features for a trial period.

One of the most profitable non-gaming apps that utilizes this model is Tinder. It offers two paid tiers and the option to boost or sponsor your profile.

Tinder subscription tiers example
Tinder uses different subscription tiers to monetize its app. Source: Tinder


Freemium is a type of app revenue model that offers an application for free and then generates revenue from in-app purchases. The freemium model has been widely adopted by app developers, as it allows them to distribute their applications for free while still generating significant revenues. 

Spotify is a great example of a freemium model. They have a free, ad-supported tier that is available to all app users. If people get tired of ads, the premium tier packs additional features and eliminates ads. Spotify also offers a free 3-month trial for a premium version, which builds a stronger relationship with the product and convinces many to continue paying for the app.

Spotify premium model example
Spotify’s freemium model offers a free and a premium tier. Source: Spotify

Paid apps

Paid apps, also known as premium apps, are the least used app monetization model. Developers charge users a one-time fee to download the app from the mobile app store. The upside is that it's easier to plan expenses in advance if you know how much revenue is going to be generated from the start of the project. There are rarely any surprises later once users start using the app. The biggest downside is estimating how many users will actually pay for the app. 

In a world where we’re bombarded with low-quality digital products, make sure that what you’re trying to sell has a laser-focused target audience, is tested, well designed, and delivers what it promises.

Currently, one of the most successful paid apps is Forest. For a one-time fee of $2,29, Forest gamifies productivity and focus. When users stay in the app for a set period of time, they get to plant a tree — both inside the app and in the real world.

Forest paid app example woman in the field planting a tree
By paying for the Forest app, you can plant real trees. Source: Forest


Sponsorships are one of the least known app business models. While online banners or video ads improve brand awareness, they don’t necessarily give the customer anything. Sponsorships, on the other hand, operate on an app monetization model where users receive rewards by completing tasks in the app.

Sweatcoin is doing an amazing job when it comes to creating revenue and engagement through sponsorships. It’s a free step counter app that pays its users a made-up currency (sweat coins) for their steps. Users can use the digital currency on the app’s marketplace and grab discounts or even free products.

Sweatcoin app example with marketplace elements from app developers
Sponsorships generate revenue on the Sweatcoin app’s marketplace Source: Sweatcoin

How Do I Choose a Monetization Model?

To choose a revenue model, first consider why you’re developing an app at all. You also need to know who you're developing your mobile application for. In other words, what is your mobile app's ideal customer persona.

Given that over 90% of apps are free, you might be tempted to go that avenue. However, it all depends on the long-term strategy you have for your app.

For example, you might develop an app for controlling your IoT (internet of things) device with the app being a complementary addition to the paid device. As the app matures and gets more refined, and you’ve attracted enough loyal and invested users, you can start charging for your app. This is especially valid for businesses that want to grow and scale with enough stickiness and financial capacity.

But again, the app monetization advice highly depends on your app and target audience. So it’s best to always start with the customer in mind. Try to talk to a few of your customers about their experience with the app: how much would ads spoil their experience; would they be willing to support your app by paying for it.

More app developers are leaning towards the hybrid model by including several monetization strategies. For instance, your app could be free with ads and an option to remove them via an in-app purchase.

people playing with a mobile application

How to Boost Mobile App User Experience

Maja Nowak
Maja Nowak
June 4, 2021

Mobile apps are a great channel for reaching a larger audience. Here are the best practices that can help enhance your mobile app user experience (UX).

Read more

Mobile apps are a great channel for businesses wanting to reach a larger audience. But designing apps with a positive user experience can be a daunting task. From understanding your audience to building the right features, many factors go into the design process. Here are the best practices that can help enhance your mobile app user experience (UX).

What Makes a Mobile App Successful?

With a mobile app, businesses can reach more customers and incentivize them to make a purchase. But not all companies are successful in their efforts to develop a mobile app that becomes a reliable revenue stream. A staggering 99% of consumer apps fail.

A number of elements make a successful app — idea validation, user personas, mobile analytics, and comprehensive marketing strategy, are just a few of the necessary building blocks that increase a mobile app’s chance on the market.

For many businesses, it can be difficult to maintain consistent customer experience during the mobile journey. This article outlines some of the best UX practices that'll improve user retention and satisfaction.

What Is UX in Mobile Apps?

Mobile UX describes how the design and performance of an app impact the user’s perception of a mobile application.

Mobile UX designers focus on:

  • improving how users move through the interface
  • analyzing how the services provided are delivered
  • determining whether the content is easy to read
  • checking if an app performs well speed-wise
cartoon people writing on digital boards

How to Create User Personas for a Mobile Application

Wojciech Czajkowski
Wojciech Czajkowski
May 24, 2021

To deliver high-quality experiences to your users, guide your designs with user personas in mind. Check out how to create user personas for a mobile app.

Read more

User personas are a fundamental part of the user experience (UX) design process. To ensure you’re delivering the best experience for your target audience, you should create user personas before developing a mobile app. One of the most common mistakes business owners make when building an app is they often assume they know what their customers want.

But the only way to learn what are the motivations and goals of your customers is through user research and the development of comprehensive user personas. Once you know who your target audience is, you’ll have enough validated data to guide your UX design decisions.

What Is a User Persona?

A user persona (or buyer or marketing persona) is a fictional, yet realistic, portrayal of the most important user group. Designers use them during the design and development process to implement solutions based on the understanding of what your customers want.

Step into the shoes of your target customers to understand user needs, motivations, and expectations. A solid understanding of your main user groups is the cornerstone to designing an efficient and useful app.

Why Do You Need a User Persona?

You need to know who your end user is and how they interact with your product to be able to create a relevant and engaging product. If you don't have an established target audience and know little about your consumers, chances are that much of your time and money spent on app development will go to waste.

When you build your app with personas in mind, you’re able to create personalized experiences that resonate with target users.

According to a 2019 Econsultancy report, delivering personalized customer journeys has:

  • Improved retention rates (cited by 51% of respondents)
  • Increased lifetime value, due to repeat visits, personalized marketing, and the trust of the individual (cited by 45%)
  • Increased sales (cited by 41%)

Marketing personas are invaluable during the product design process. They are an inherent part of your mobile app marketing strategy, helping you communicate your vision and ensure that you deliver a consistent message across all of your communication channels.

cartoon hand playing with an app with charts in the background

Guide to Marketing Your Mobile App

Maja Nowak
Maja Nowak
May 17, 2021

Marketing a mobile application involves a combination of tactics and strategies. Learn how to market your mobile app.

Read more

With over five billion unique users on mobile devices, creating an app opens up a whole new channel through which you can interact with your current and potential customers. But a large audience means even greater competition. 

Here's everything you need to know about marketing your mobile app and becoming visible in the crowded world of mobile apps.

What Is Mobile App Marketing?

Mobile app marketing is creating a strategy where your main goal is to attract targeted users to your app at every stage of the marketing funnel — from the moment they hear about your app to the time they become users and turn into loyal customers.

To do this well and effectively, your marketing content must be personalized and highly strategic.

How Do You Market an App?

Marketing a mobile application is a complex process that entails many steps and covers multiple angles from which you generate demand for your application.

We’ll delve into more details in later sections, so for now familiarize yourself with the basic setup for how to market an app:

Define your target audience 

Having an idea of who your app is for is the best place to start. If you can't describe your target audience aka the user persona, it’ll be tough marketing your app to them. When you know your target audience, you can be precise and effective in your marketing efforts.

A user persona should paint a picture of your ideal target customer. This will help you craft the app marketing strategy so that it resonates best with your prospects.

The key characteristic of every user persona is the pain point and challenge the customer is facing. These two should be top of mind when creating your user persona.

Besides these two, try to answer these questions:

  • What platforms do your target customers use (Android, iOS, or both)?
  • What kind of content does your user persona consume and engage with online?
  • Can you leverage any influencers that are popular among your target app users?
  • Is your user persona likely to make in-app purchases for premium content/features? Or maybe your monetization will be more ads-based?
  • Which channels are most effective for marketing purposes? Consider both paid and organic (e.g., Facebook, Instagram, Linkedin).
  • How should you communicate with your audience? What is their preferred tone of voice and style?

Remember, a lot of answers to these questions will initially be assumptions. As you experiment with your marketing strategy, these hypotheses will be verified.

Research your competitors 

App marketing is not just about knowing your audience. It's also about knowing what your competitors have been doing. Market research and competitor research will help you discover successful strategies and avoid costly failures.

Watching your competitors closely will give you plenty of insight about which channels to use and the type of messaging to draw inspiration from. Watch your competitors, make notes, and use this data to make your mobile app marketing efforts even more successful. 

The most successful apps in the stores are those that address the most common user needs. For example, Zoom or Google Meet — aka the most downloaded apps in 2020 during the pandemic — fulfilled the need for convenient remote communication for personal and professional purposes.

So you could orient your marketing message around a specific and current problem. Raise awareness through marketing content and then drive demand.

Colorful boards with apps icons sorted by worldwide downloads in 2020
Top non-game apps by downloads for 2020. Source: Sensor Tower 

Create a landing page

A landing page allows users to learn more about your app on mobile web and desktop. Use SEO and search intent keywords to attract your users and show them how the app solves their problem.

Landing pages are also a great way for initial app onboarding — you can create a video to let your prospects know what they can expect when they install your app. you can include screenshots on top of demo videos.

Use call-to-action buttons with links to your app in the App Store and Google Play Store.

Start a blog

This is another way to reach your target audience and use SEO to drive traffic to your app. Keep your blog updated and share valuable and unique content on your social media channels. Consider guest blogging to further increase reach.

A good practice is to start blogging and generating organic traffic long before app release. This will increase your app’s traction significantly once you launch.

You might wonder what content to publish. The best content is one that drives awareness about a problem — the problem your target audience is facing. These can be whitepapers, reports, videos, case studies, articles. Cover all verticals of the problem.

Optimize your mobile app’s product page

Optimizing your mobile app’s product page is a fundamental step in every app marketing strategy. Think about the title, design a catchy icon, and use screenshots that convey the app's selling points and benefits.

You never know what will trigger the customer to install your app, but doing the groundwork will give you extra points.

We’ll dive into a little bit more detail about product page optimization on app stores later.

Promote on social media

Social media marketing can have a huge impact on the popularity of your app. When you're thoughtful about what content you share on social media and distribute it to qualified prospects via both organic and a bit of targeted advertising, you can increase your traffic significantly.

Don’t go for all social media channels available, though. Start with three major ones (Facebook, Instagram, and Linkedin) and verify which generate the most users for your app over time.

Contact influencers

Look for influencers that your target audience follows. Contact them for a possible partnership (e.g., by sponsoring their podcasts). An honest review from an influencer on their social media channels can give your app lots of traction.

flutter and react native logos in hands

Flutter vs. React Native in 2021 — Detailed Comparison

Mat Zaleski
Mat Zaleski
May 11, 2021

Flutter and React Native are two leading tools for cross-platform mobile development. Learn about their differences and the best use cases for each.

Read more

Flutter and React Native are two leading tools for cross-platform mobile development. Learn about their differences and the best use cases for each.

What Is Flutter?

Flutter is a user interface (UI) software development kit released by Google in 2018. Flutter lets you build cross-platform applications for a number of platforms.

Will Flutter Overtake React Native? [Updated]

As of May 2021, Flutter was getting closer to overtaking React Native in terms of popularity and usage. But let’s look at the stats.

stack overflow survey results 2021
Flutter is almost on par with React Native in the "Most Popular Technology - Other Frameworks" category in the Stack Overflow Survey 2021.

Interestingly, in 2019, Flutter was almost at the bottom of the popularity contest. So the technology is catching up quite nimbly.

stack overflow survey results 2019
Flutter was near the bottom of the popularity list according to developers participating in the Stack Overflow Survey 2019. Source: Stack Overflow Survey 2019

But a look at Google Trends results reveals a fiercer battle between the two.

After gaining on React Native for over two years, in April 2020, Flutter became a more searched query globally and continues to be so in 2021.

Worldwide Flutter (red) and React Native (blue) popularity trend (2018–2021). Source: Google Trends

And yet, in the US, the battle still goes on and is as fierce as ever, with axes and gunpowder spoiling the air galore.

United States Flutter (red) and React Native (blue) popularity trend (2018–2021). Source: Google Trends

Statista seemed to confirm the global trend in the Flutter vs. React Native battle in 2020. In the survey made with almost 20,000 respondents, Flutter was going head to head with React Native.

statista results for most popular cross-platfrom development tools
Cross-platform mobile frameworks used by developers worldwide in 2019 and 2020. Source: Statista

July 2021 UPDATE

The latest research from Statista places Flutter as the leading cross-platform mobile development framework in 2021. Flutter surpasses React Native by 4% (42% for Flutter against 38% for React Native). Still, it's fair to say the two technologies are almost equally popular.

2021 Statista popularity graph for cross-platform mobile development frameworks
Popularity of cross-platform mobile frameworks among developers worldwide from 2019 to 2021. Source: Statista

What makes these two technologies so popular? Let's see.

person playing with shapes

Getting Started with Kotlin Multiplatform Mobile

Kamil Halko
Kamil Halko
April 27, 2021

Kotlin Multiplatform Mobile (KMM) is a cross-platform mobile framework that lets developers share business logic across platforms. Discover more about KMM.

Read more

Commercial mobile development projects usually leave little time and space for experimentation. Finding tools and technologies that bring tangible value to the product and let you evolve as a developer can be a challenge. That’s why a small library that enables code sharing between platforms is a nice first step you can make to learn a new technology that directly benefits a project. Kotlin Multiplatform Mobile (KMM) is that sweet spot between play and gain.

What Is Kotlin Multiplatform Mobile?

Kotlin Multiplatform Mobile is a cross-platform mobile framework for sharing business logic across platforms.

Sharing business logic across platforms brings along a host of benefits:

  • Reduced development time
  • Easier code maintenance
  • Flexibility 
  • Native performance
  • Flawless access to the platform code
  • Tests written once

Currently, Kotlin can be run in JavaScript, iOS, Android, and even desktop applications.

It’s important to understand that Kotlin Multiplatform Mobile (KMM) is just a subset of tools included in Kotlin Multiplatform (KMP). Mobile in the name indicates that this part of the technology is mobile-oriented.

The main focus of Kotlin Multiplatform Mobile is Android and iOS platforms — KMM provides a KMM plugin you can install in Android Studio and, for example, run and debug iOS code straight from there. At the same time, nothing prevents you from sharing your code between other platforms like JavaScript, desktop (Windows, Linux, Mac), JVM, and other targets.

What Can Kotlin Multiplatform Mobile Do?

Even though Kotlin Multiplatform Mobile is in the alpha stage a lot of components are stable. KMM gives developers access to many well-tested and well-tried libraries that let us:

  • Perform HTTP requests
  • Build a database
  • Access local files and app settings

Kotlin Multiplatform’s libraries let us implement a data access layer. You write everything once, test it once, and then you can distribute it across the platforms you need.

But not only that. If you structure your code properly, you can share up to 85% of the code between platforms. You can share everything from the data access layer by Interactors/UseCases to the data presentation layer (ViewModel). 

If you are already using Clean Architecture with one of the MV* presentation patterns you’re good to go with KMM.

Kotlin Multiplatform Mobile used in production:

Some time ago one of our clients asked us to create a library that would be distributed on both Android and iOS. The library would make it easier to access the client’s API and provide a handy way to detect a decent number of events that are essential to the client’s business point of view. 

This was the perfect use case for KMM. The only risk was that there were no examples of the distribution of the iOS framework built in the KMM. But if we found out that it wasn’t possible, we would still have an Android library already built. 

Thanks to the ready-made libraries and the community around KMM (especially Kotlin Slack), the process of implementing this library went really well. Kotlin’s community actively helps to get a job done. 

The greatest advantage of using KMM in a business setting was that we could write the code once, test it once, and distribute it on both mobile platforms.

Support is now very easy — it can be handled by only one person with just a little knowledge of the iOS platform.

The library is open source, so feel free to take a look at AudioburstMobileLibrary.

AudioburstMobileLibrary (available on Android and iOS) lets developers add the Audioburst Player and content to their app.

AudioburstMobileLibrary offers easy access to the Audioburst’s Content APIs, letting developers add playlists, get information about playlists, and handle sending required events to the API without any effort. Integration is convenient and simple to increase engagement.

Check out how we helped Audioburst build their mobile apps.

project planning premortem

Premortem — Why It Should Be a Core Part of Your Digital Product

Mateusz Płatek
Mateusz Płatek
April 7, 2021

A premortem helps teams predict and mitigate problems before they happen during product development. Learn how to perform a premortem.

Read more

Failures are a natural event in the life cycle of a product, but they’re especially painful when a whole project ends up unsuccessful.

When a digital product fails, the team usually performs an inspection called a postmortem. The team gathers, analyzes what went wrong, tries to draw conclusions, and creates a note. The learnings from that failure help the company adjust the processes so as not to repeat the same mistake.

But what if we could look into the future before the project failed? At nomtek, we use a premortem — an attempt to predict and mitigate problems before they happen.

What Is a Postmortem?

Before explaining what a premortem is, let’s take a closer look at a postmortem.

In medical language, a postmortem describes the procedure after the patient's death, where doctors and pathologists try to understand the cause of demise. The detailed analysis of why something as complex as a human body has failed can be applied to multiple contexts.

For example, when you need to understand what exactly went wrong to be able to avoid it in the future.

Software development loves postmortems because they’re a great learning tool.

What Is a Premortem?

The main purpose of a premortem is to simulate failure before it happens.

More specifically, a premortem is a meeting that takes place before the first line of code is written. All team members involved in a project attend it:

  • account manager
  • development team
  • moderator

Depending on the size of the project and the team, a premortem meeting lasts one to two hours.

three people talking about a project
A premortem meeting starts before well ahead of development work.

We follow these steps:

#1. The scope of the project is explained so that each participant has a full picture of the situation and potential threats.

At nomtek, we do a premortem after the kick-off meeting, when the team already had a chance to familiarize themselves with the current state and plans for the future.

#2. The moderator announces that the project has failed — this is important. We are talking in the past tense: the project has ended. Participants must feel that the action has already happened.

#3. By using sticky notes or an agile retrospective tool, participants list the reasons why the project failed.

These reasons can be the obvious ones like exceeding the budget, the less obvious ones that all fell ill with COVID and the timeline crumbled, or the totally abstract ones like a falling meteorite. 

We throw out all ideas until we can move on to the next stages.

#4. Then we proceed as in a typical agile retro. We group similar cards and vote for the most important problems.

A good criterion is to vote on things that have the best chance of occurrence, and ones that we have an influence on. Sorry, we won't upvote the meteorite scenario ;)

#5. Here we discuss and come up with solutions. There are different techniques for how to carry out this step.

We simply give participants a moment to come up with specific actions and then post them simultaneously on the Slack channel where we can review the available solutions.

Experience tells us that sometimes the most unconventional ideas end up on the action point list, so it's important not to reveal solutions too early, so as not to disturb the creative phase.

The selected solutions must be actionable, precise, and measurable. We can select more than one way of mitigating the risk of a single problem.

#6. The developed action points are assigned to the appropriate people, and then we set a regular checkpoint to check the progress, e.g., in two weeks or at the beginning of a regular retrospective if it’s a repetitive activity.

people putting together a mobile application

How to Build a Minimum Viable Product

Wojciech Czajkowski
Wojciech Czajkowski
March 25, 2021

Learn what is an MVP and how to build a minimum viable product that will help you validate your hypothesis.

Read more

Most legendary products out there start with a minimum viable product (MVP) that expands and blooms into a feature-rich solution. But not all companies get the MVP stage right. Learn what a minimum viable product is and how to build it the right way.

What Is an MVP?

An MVP is a release of your product with a minimum set of features enough to validate your main hypothesis.

In other words, an MVP is a product that solves your users’ core problems.

Eric Ries says a minimum viable product “allows a team to collect the maximum amount of validated learning about customers with the least effort.”

An MVP is a low-risk way to answer the below questions:

  • Do people need that product?
  • Can I generate a following and a returning audience with it?
  • Is my idea of solving a problem something that people really need? And are willing to pay for?

To do that, you don’t need fireworks and dozens of sparkling features — you need the core functionality that gives you answers to the above questions. Glitter and complexity will come later, in the next iterations.

It’s worth keeping in mind that you don’t need an MVP at all to confirm a hypothesis or check if your idea is viable. You can first look into building a proof of concept (POC) or a prototype.

For a detailed discussion of the differences between a proof of concept (POC), prototype, and MVP read our article.

What Is the Purpose of Building MVPs?

In short, the purpose of building MVPs is to validate your assumptions quickly and improve the product, pivot, or abandon the project before losing any more resources.

people designing an app interactivity

What You Should Know Before Developing a Mobile App

Maja Nowak
Maja Nowak
March 17, 2021

Developing a mobile app is a complex undertaking. Learn what to know before developing a mobile app.

Read more

Developing a mobile app is a complex process that involves technical knowledge, product strategy experience, and good old organizational skills. Here are the basic questions you have to answer before developing a mobile app. Learn what to know before developing an app.

Does Your Business Need an App?

Mobile apps might be used by billions of users multiple times a day, but would your business actually benefit from an app?

In other words, do you have business goals, especially long-term ones, that a mobile app would support?

A mobile app should solve an existing problem that’s been vetted and — more importantly — verified to generate a demand for a solution.

How to know if your business needs an app?

For example, besides an in-depth business analysis, you can also check your website analytics to learn if your customers would find value in a mobile app.

If your website is seeing a lot of mobile traffic, seize and analyze this data. Maybe you could create an app that delivers what your users are coming for to your website via their mobile phones. Check traffic sources and events in your analytics software to gain insight.

An app might also support an upcoming event your business is hosting. With an event-focused app, you can breathe more engagement for users and facilitate communication between participants.

Can I Make an App with No Experience?

It all depends on the complexity of your app.

When you lack programming skills, you can consider using low- or no-code platforms to build a simple app. That said, low- or no-code solutions still call for a level of experience, but the entry threshold is lower than that of traditional programming.

So if you need an app that will support internal company processes for employees, low-code solutions can help build one that addresses simple tasks and workflows. Similarly, no-code platforms can also be used to build e-commerce shops.

drag-and-drop low-code programming platform
Low- and no-code development platforms work aa drag-and-drop interfaces. Source: Creatio

But again, there’s a learning curve — getting enough expertise will take some time. And if you need complex programming to add additional functionality to your app, some serious skills are required, code or no code involved.

Also, low-code development doesn’t completely eliminate the need to hire a developer, but it can immensely support your dev team and let them focus on creating solutions for complex business processes.

And while you can take the time and effort to build a mobile app in a no-code platform, the technical side of an app is only one part of the story.

To build, release, and maintain a successful mobile application, you’ll need experience in idea validation, data analytics, and product design just to name three.

A mobile app agency brings experience galore to the table. You get the expertise of people who went through the process of idea validation many times before and know what to do to make an app pick up on the market — sometimes do it without writing a single line of code.

Still, if you decide to pursue the process of mobile app development on your own, be sure to first validate your idea extensively using tools such as the lean canvas.

hands interacting with a mobile phone

Choosing a Hand Gesture-Based Input Method for a Mobile AR App

Sebastian Ewak
Sebastian Ewak
March 8, 2021

How we evaluated different input methods available for mobile augmented reality and why we didn’t choose a hand gesture-based interaction method.

Read more

In this article, we’ll explain why we considered incorporating hand gestures as an interaction method for one of our mobile XR projects, what options we evaluated, and why we ultimately decided not to follow that path, at least for the first release.

A New XR Project

In April 2020, we started working on a new AR project for a large entertainment center in Las Vegas. The project was a treasure hunt-like experience to be deployed as an interactive installation.

During the initial discussions, iPhone 11 Pro Max was selected as the target platform. The devices would be encased in custom-designed handheld masks to amplify the feeling of immersion into the whole theme of the venue.

We chose that specific model of the iPhone for the horsepower necessary to handle the demanding particle-based graphics. Also, the phone had a reasonably sized AR viewport at a relatively low weight of the entire setup.

Considering the project’s scale, its high dependency on the graphical assets, and our pleasant experiences with developing the Magic Leap One app for HyperloopTT XR Pitch Deck, we selected Unity as our main development tool.

The Heart and Soul of the Experience

In the AR experience, the users would rent the phone-outfitted masks and look for special symbols all around the dim but colorfully lit, otherworldly venue. The app would recognize the custom-designed symbols covered with fluorescent paint and display mini-games over them for the users to enjoy.

We already had several challenges to solve.

The main one was detecting the symbols — there was nothing standard about them in terms of AR-tracking. Also, the on-site lighting was expected to be atmospheric, meaning dark — totally AR-unfriendly.

The games themselves were another challenge. Users could approach and view the AR games from any distance and at any angle (e.g., over any background). The graphics would consist mostly of very resource-intensive particle effects, as it was the theme of the app.

Plus, we only had a couple of months to develop the AR experience.

There was also one big question left “how are the users going to interact with the app?”

a prototype of a mobile phone

What Is a POC, Prototype, and MVP — Explaining the Differences

Maja Nowak
Maja Nowak
March 4, 2021

Learn the differences between a proof of concept (POC), prototype, and minimum viable product (MVP) to know how to approach product development.

Read more

Building good digital products is a combination of being innovative and following tested mobile app development methods. A proof of concept (POC), prototype, and minimum viable product (MVP) help test a product idea before you make a significant investment.

What are the differences between a POC, prototype, and MVP, and how to choose the one that fits your project best? Read on for answers.

POC vs. MVP vs. Prototype: Short Definition

Proof of concept — A POC is a method of validating assumptions with target users and checking if your idea is feasible technically.

Prototype — A mobile app prototype evaluates the general “shape” of your idea (e.g., look, flow, user interaction).

Minimum viable product — An MVP is a fully working version of your product but with only the core features that let you collect initial user feedback.

We talk in detail about how to build an MVP in our guide.

What Is a Proof of Concept?

In the world of mobile app development, a POC is a simple project that validates or demonstrates an idea. The purpose of a POC is to check if an idea can be developed and won’t consume excessive resources or time.

With a POC you essentially evaluate core functionality. If your app idea is complex, you can have many POCs to test each functionality.

User experience is pushed aside when you build a POC. That’s because it takes lots of time and work to create an optimal user experience, and that’s not the point of creating a POC. The goal is to validate technical capability.

Features of a proof of concept

Catch early investor interest. You can build a POC to present your idea to investors to acquire seed funding for further development.

Innovate. Innovation happens at the intersection of technological viability and market demand. A POC will help you check if your idea can be built using current technology.

Save time. When you check if your idea can be built, you automatically save time that would be wasted if you were to figure out technical viability issues once you hired developers and committed significant resources and time.

Pick the technology. Creating many POCs using different technologies can help you decide which technology stack is the most suitable for your project. This way, you’ll know early on what’s possible as you move forward and how to structure your product’s roadmap.

Check against the competition. If you plan to release a mobile application in a heavily competitive market, a POC will help you validate unique features in your offer. Your product will need to include a unique approach to solving the same problem to be a better alternative to what’s already out there.

Example of a proof of concept

PONS XR Interpreter

Companies around the world are increasingly embracing remote-work solutions and collaboration methods. We worked with PONS — a global publishing house and our long-term partner — to create a proof of concept for an XR cross-language communication solution supported by AI.

The POC helped validate if XR Interpreter could be used in a professional environment to make communication easier.

product validation augmented reality
The POC was built to prove that professionals could communicate in different languages in real time to discuss complex mechanical issues. Source: nomtek

woman analyzing data

Use Mobile Analytics to Transform Your Digital Product

Mat Zaleski
Mat Zaleski
February 25, 2021

Mobile analytics gives you all the necessary insight into in-app user behaviors. Learn how to use mobile analytics to transform your products from good to excellent.

Read more

Mobile analytics gives you all the necessary insight into in-app user behaviors. The data from mobile analytics can help you make informed decisions about changes in your features or design. Mobile analytics is also invaluable in adjusting in-app processes and funnels because you can directly measure how every step affects user experience (UX).

What Is Mobile App Analytics?

Mobile analytics is the process of collecting and analyzing in-app data. This data gives you precise information about app performance and in-app user journey, letting you fix ineffective elements.

Mobile analytics is one of the key elements to improving conversions, retention, and user engagement. It’s the foundation of great digital products that engage target audiences.

How Does Mobile Analytics Work?

Mobile analytics software integrates with your mobile application to gather and analyze the data produced by users and the app itself. For example, an analytics tool can be embedded as an SDK into the code. You need different SDKs depending on the platform release of your app (e.g., iOS, Android).

Analytics lets you hypothesize, make assumptions, and evaluate experiments. It’s the key to refining and adjusting your product so that it matches the real-life behaviors that users display in your app.

With analytics, you know how users are using your app, what in-app actions they take, and what features they’re using (or not).

feature usage anlytics
Feature usage analytics. Source: Amplitude

For example, you can check the completion of onboarding or how the buying process looks from the user’s perspective.

Identifying steps causing a drop in the % of users
Identifying steps causing a drop in the % of users. Source: Piwik PRO

Block Quote