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.
remote assist app

Remote Assist App — Scalable Solution for Virtual Troubleshooting

by
Łukasz Kincel
Łukasz Kincel
,
September 21, 2021

Global skill gaps, pandemic-related border closures, and travel limitations stress the need for remote assistance solutions. Discover Remote Assist App.

Read more

Technology slowly seeps into all crevices of life. A growing number of households use electronic appliances. Highly specialized machinery increasingly populates large and small factories. And while technology has catapulted the evolution of our civilization, it’s prone to breaking. But technicians who can fix problems may not always be available, with on-site service often costly. With pandemic-related border closures and travel limitations, remote assist solutions emerge as reliable support across industries.

The State of Technology Adoption

In the last 30 years, the adoption of specific technologies in the US alone has skyrocketed.

technology adoption statistics in US households
Share of US households using various technologies (1860 to 2019). Source: Our World in Data

In the business world, technology has spurred production and manufacturing on a palpable scale. According to the World Economic Forum, OECD producers that adopted technology “have grown at a rate of 3.5%, compared with an anaemic 0.5% for the laggards.”

Even small manufacturing facilities have seen an increase in the diffusion of technological development, which led to a more productive workforce and output increases.

Developing countries have also observed an increase in technological innovation, albeit at a lower scale.

Output increase per worker
Output increase per worker correlated with technological innovation. Source: UNCTAD

The global technological advancement and the ubiquitous presence of technologies in many sectors call for engineers and technicians who can not only drive that innovation but also maintain it.

Yet there’s an alarming shortage of skilled engineers and technicians who can carry out innovative infrastructure projects. On the other hand,  less qualified personnel can complete tasks with varying levels of complexity given professional assistance.

Remote assistance might therefore become an affordable and scalable solution that bridges the gap between the need for support and the lack of on-site skill.

How Remote Assist App Works

The app has two modes: consultant and user.

User

When a user connects, they choose a problem from a list of available topics.

The user then waits for a connection with a technician.

Consultant

After logging in, the technician sees a list with active user sessions awaiting help for a given topic.

Once connected with the user, the technician has access to the user’s rear camera.

The technician communicates with the user:

  • Through voice
  • By placing 3D objects on objects in the user’s environment
  • By marking objects in the user’s environment using a yellow marker
a person browsing a file with mobile apps

An Overview of Apps Made with React Native

by
Wojciech Czajkowski
Wojciech Czajkowski
,
September 16, 2021

React Native can be used to build mobile apps and websites from a single codebase. Learn which companies use React Native.

Read more

React Native has been around for five years now. When the framework was first released, small teams and startups used React Native to build MVPs. Now, tech giants and Fortune 500 companies use React Native for large-scale cross-platform app development. 

React Native can be used to build mobile apps and websites from a single codebase. As a result, the technology solves one of the biggest problems in app development — intuitive user experience across platforms. React Native also helps simplify development efforts, reduce development costs, and cut time-to-market.

Let’s look at React Native app examples and how major businesses have tackled various mobile app development challenges with this tech.

Popular React Native App Examples in 2021 

According to Statista, React Native is the second most popular framework for mobile app development. 38% of the developers use React Native in 2021. 

market share of cross-platform mobile development frameworks
Popularity of cross-platform mobile frameworks among developers worldwide from 2019 to 2021. Source: Statista
percentage of apps built with React Native
Share of apps built in React Native in 2021. Source: AppBrain

React Native is now part of the tech stack at several Fortune 500 companies and tech startups. Here are some popular React Native apps: 

Khan Academy — EdTech

Khan Academy is one of the largest EdTech companies on the planet. The company provides short video lessons, learning material, and exercises on various subjects.

khan academy mobile app screens
Khan Academy mobile app screens. Source: Khan Academy Blog 

Before implementing React Native, Khan Academy had two different codebases for Android and iOS with lots of dependencies. In 2017, they decided to shift to React Native because:

  • The app design, features, and content on Android and iOS apps were nearly identical 
  • Maintaining two codebases became quite challenging 
  • Developing new features and keeping the two apps in sync got harder
  • Their website was already using React

Khan Academy completed the transition to React Native in 2020. Now, the same engineers take care of the Android app, iOS app, or website from a single codebase.

React Native gave developers the convenience and comfort to build better features, improve UI, and spearhead innovation. Plus, Khan Academy’s apps became smaller. The user experience on the app and the web grew similar. 

Find more details about Khan Academy’s migration to React Native.

Bloomberg — Media and Finance

Bloomberg is one of the world’s largest financial media companies that use React Native for mobile app development. 

bloomberg mobile app screens
Bloomberg’s consumer mobile app screens. Source: Tech At Bloomberg

Bloomberg offered an interactive experience for accessing personalized content across iOS and Android. The company was searching for a truly native mobile app experience that came without the overhead of having two separate codebases.

Bloomberg’s engineers used React Native to rebuild the apps for both platforms with a host of new features. A single codebase and automatic code refresh in React Native helped their team to speed up the development.

Also, conducting A/B tests and collecting beta user data to validate any experiment or workflow got faster.

React Native enabled quick app updates in sync with fast-moving markets, analysis data, news, and more.

Read more on how Bloomberg is using React Native.

Flipkart — eCommerce 

Flipkart is one of the largest eCommerce players in the world with more than 100 million downloads and 400 million weekly visits. Flipkart is using React Native for iOS and Android apps and also for its sub-brands such as Myntra.

Flipkart chose React Native to solve a few challenges with its iOS and Android development journey, such as:

  • The need for a large development team despite having a uniform design and user experience.
  • Time waste due to the maintenance of many codebases
  • Delay in executing A/B tests and tech experiments due to longer adoption times leading to a drop in sales

React Native helped Flipkart move faster without impacting the app’s performance. The team’s first goal was to implement infinite list displays on search pages, which React Native delivered successfully. 

flipkart transition to React Native
Search pages with an infinite product list on Flipkart. Source: Flipkart Tech Blog

React Native also helped Flipkart push frequent OTA updates. The teams got more data from end-users and closed A/B experiments in approximately three weeks instead of the previous six. Speed helped improve personalization, boost engagement metrics, and increase sales during flagship sale events like the Big Billion Days. 

Also, React Native helped the dev team adopt a modular approach with custom native components. The team was able to share 95% of the codebase between Android and iOS. 

Read about Flipkart’s React Native journey.

UberEats — Food Delivery

UberEats simplifies ordering food from restaurants in 6000 cities across 45 countries globally. The on-demand giant started UberEats to make ordering food as easy as booking a ride on Uber.

UberEats picked React Native to rebuild its restaurant partner dashboard. The original restaurant dashboard was designed for the web. It needed an upgrade as new insights came in on how restaurant partners operated.

Uber Eats tablet screen React Native
A screen from the UberEats Restaurant Dashboard. Source: Uber Engineering Blog

Uber had an existing team proficient in React. Thus, React Native became the natural choice for building the UberEats app for iOS and Android.

React Native provided the utensils to cook the app to near perfection, as per UberEats. UberEats expedited mobile app development in the “language of the web.” The UberEats team wrote features in JavaScript or natively.

With the help of React Native, UberEats shipped new features in days instead of weeks across all platforms. Updates now propagated faster (thanks to background downloads) and bugs were fixed quicker, reducing disruptions at partner restaurants. 

More about UberEats’ transition to React Native.

Coinbase — Cryptocurrency Exchange

Coinbase is a popular crypto exchange that offers trading and other financial services to over 56 million users. 


coinbase app screen built in React Native
Coinbase’s mobile app interface built in React Native. Source: Coinbase Blog

Till 2017, Coinbase had separate teams working on iOS and Android versions of its app. But challenges with scaling, performance, and feature roll-out encouraged the company to explore new avenues.

Coinbase decided to move ahead with React Native and planned a complete code rewrite. There were several reasons for this:

  • The team was looking for a dynamic sign-up experience for mobile users based on location, user preferences, profile, and regulations.
  • Making changes to the existing app would be costlier than building an app from scratch.
  • Native app redevelopment would lead to unnecessary duplication of code (and loss of development time).  
  • They were looking to reuse business logic and wanted consistency between apps across platforms. 

Component reusability and fast refresh capabilities of React Native made Coinbase convinced React Native was the right choice. Plus, onboarding the existing web dev team was easy, as React Native is JavaScript-based. 

Coinbase was able to migrate its massive codebase with substantial business logic easily. Also, Coinbase tackled its scalability challenges and enhanced app performance across platforms.

Impact of the migration to React Native on Coinbase’s key performance metrics. Source: Coinbase Blog

Impact of the migration to React Native on Coinbase’s key performance metrics. Source: Coinbase Blog

Read more about Coinbase’s React Native experience.

LendMN — Financial Services

LendMN by AND Global is a mobile app facilitating the disbursal of small loans. AND Global provides financial services to underserved populations. The company operates in one of the most underbanked regions in the world — Mongolia.

LendMN app screen React Native
LendMN mobile app built with React Native. Source: AND Global Blog

React Native has been one of the key enablers of AND Global’s achievements and helped the company tackle some burning challenges. The challenges included:

  • A lack of financial backing or the resources to hire a large/experienced workforce
  • A limited local pool of mobile app developers
  • Regulatory complexity of the financial services ecosystem
  • Catering to a user base in a country with expensive mobile internet data

React Native helped AND Global optimally utilize the budget and cater to local market needs.

React Native’s famous “learn once, write anywhere” mantra, helped AND Global use its existing web development team to develop and deploy the mobile app. The LendMN team used React Native to release an MVP and secure an investment.

The framework helped AND Global stay compliant with the dynamic financial ecosystem through continuous improvement and OTA updates. With React Native, LendMN quickly fixed bugs, improved app performance, and saved time on the app review process.

LendMN knew users wouldn’t trust an app that needs regular updates in a country with high mobile data prices. 1-2 Mb OTA updates for minor bug fixes helped increase the trust factor. React Native allowed the company to offer trustworthiness and convenience — LendMN gained popularity in a country with limited availability of financial services. 

Learn more about LendMN’s experience with React Native.

FAQs about React Native

Which famous apps use React Native?

Many apps you use every day are built with React Native. Walmart, Wix, Discord, Pinterest, Soundcloud Pulse, Facebook Ads Manager, and several other social networking platforms use React Native in 2021

Can you build native apps with React Native?

Apps built in React Native offer a native experience for both Android and iOS because React Native renders native UI elements. Under the hood, React Native apps behave just like Java- or Kotlin-based apps on Android or Swift- or Objective-C apps on iOS.

Are Facebook, Instagram, and WhatsApp built with React Native?

Yes. All three use the React Native framework for their iOS and Android Apps. React Native was created by Facebook to simplify cross-platform app development. So, all of Facebook's companies use React Native.

two people playing with a mobile phone

Building Scalable Mobile Apps Is Key to Long-Term Product Success

by
Maja Nowak
Maja Nowak
,
September 7, 2021

Learn what scalability is in mobile development and how to factor it into product creation.

Read more

Successful products that solve user problems can garner significant user demand over time. In-demand apps should cater to a growing user base while keeping their performance and user experience intact. If the app fails to withhold the demand with expected quality, it most likely won’t stay on the market long.

To make sure your app can serve a large number of users, you have to include scalability in your app’s discovery stage. Scalability helps keep the app highly available and reliable. Learn what scalability is in mobile development and how to factor it into product creation.

What Is Scalability in App Development?

In simple terms, scalability is your application’s ability to handle a growing user base without affecting the user experience and the app’s performance. That means your applications’ infrastructure needs to be able to support a large number of requests per minute (RPMs)

Each user interacting with your application generates a request to your backend — the backend should process that request with a minimum delay.  A highly scalable app efficiently manages many requests at once, delivering seamless experiences to users.

Two types of application scaling
Vertical and horizontal scaling are the two main types of application scaling. Source: GeeksforGeeks

Vertical scaling

Vertical scaling adds more resources like CPU, memory, network capacity, and more to the existing application server. It’s powerful enough to handle a large number of simultaneous requests. However, adding resources can be limited depending on the capabilities of existing servers. Because of that, horizontal scaling is the preferred option in many use cases.

Horizontal scaling

Horizontal scaling or scaling out adds more machines or servers with the application code to increase the capacity. The existing resources of the computing instances do not change, but the application logic may need to change to run in parallel. Popular in distributed systems, a load balancer will handle the incoming requests and distribute the load to multiple machines.

It’s not a requirement to use either horizontal or vertical scaling only. But you can have a hybrid system that includes vertically scaled machines in a horizontally scaled system.

How Do You Scale a Mobile App?

Identify the scalability requirements

Before jumping straightaway into scaling a mobile app, you first need to ensure you have a viable reason for it. Your scaling expenses need to match the growing user demand in your app to avoid unnecessary costs. Here are the questions you should answer that will help you decide whether the time to improve capacity has come.

  • Do you expect growth in your user base? If yes, how long would it take? Look at the trends in data analytics.
  • What is the annual expected number of users of your app?
  • How long can your current setup serve the growing user base without losing performance?
  • Are there any events or holidays where you observe high demand and heavy usage?

By knowing the answers to these questions, you will have a better understanding of where you’re at with capacity and where you need to be to meet the spikes in demand. The information will also help you estimate the budget for scaling your app.

Identify where the scalability issues arise

If you already have an application, discover where scalability issues may occur using application monitoring tools like New Relic AMP and AppDynamics. Using the chosen tracking tool, track key metrics like CPU, memory, and network usage. If any of these metrics show high usages, find out the transactions responsible for them. Take these results as a benchmark to find out where and how to inject scalability.

Choose the right tech stack

Your mobile app’s tech stack is the key to scalable mobile applications. Thus, choosing the right tech stack with a scalable backend and a responsive front-end technology is a must. If your current tech stack doesn’t leave much room for scalability, consider rewriting your app.

An app rewrite will be a significant investment initially, but when you consider a growing user base of satisfied customers, the ROI will follow soon. For example, consider Wallmarts' decision to transition into its legacy system to Node.js. With that decision, they have been able to gain 98% of growth in mobile conversion.

Decide on the right infrastructure

The application’s infrastructure plays a key role in achieving the desired scalability. Using Platform-as-a-Service (PaaS) solutions like AWS, Azure, or IBM Cloud for your mobile app is a great way to meet a variety of scalability needs. Cloud services have many scaling and pricing options.

For example, if you choose to deploy your app in AWS, the vendor will take care of all the necessary scaling demands on your behalf — many renowned cloud services offer auto-scaling where the app dynamically scales according to the current user demand.

You just have to define the required parameters such as how many maximum servers and other resources like storage, middleware, and networking the service should allocate. In addition, you also have the flexibility to change these parameters according to future app usage statistics. Scaling a mobile application that serves millions of users in a PaaS environment is an easy and flexible approach to scalability. 

Use caching wherever possible

Caching is another way you can optimize the code for scalability. When you cache the frequently required data, it’s readily available and users can retrieve it faster. Caching helps significantly reduce the processing time. 

For example, say your mobile app gets data from an API call. If you save the data in a cache, the next time another user requests the same data, the app won’t need to make that API call again since the data is readily available in the cache.

Caching is a highly useful approach to reducing the amount of data processing when the load is high. When you use caching correctly, it can also make the app work in offline mode.

Choose the right architectural pattern

Your app’s architecture can have a big impact on app scalability. For example:

The three-tiered architecture

Client, server, and the application are at different layers where each performs only the most essential tasks. This architecture simplifies each layer, thereby improving scalability and performance.

Microservice architecture
The microservice architecture helps easily build scalable apps. Source: Microsoft

The microservice architecture

This architecture helps build flexible applications by making individual services loosely coupled with each other. Individual services of a microservice architecture can be scaled to meet the demand.

Three-tiered Architecture
The three-tiered architecture simplifies the tasks of each layer to make the app scalable easily. Source: guru99

Scaling databases

If you want to handle a larger number of user requests (e.g., a workload that exceeds the capacity of a single database), you can scale your database horizontally:

  • Shard the database into multiple servers or nodes. Sharding helps achieve better read and write performance and reduces the risks of node failures. 
  • If the app is in the cloud architecture, add more read replicas for workloads that need heavy read operations.
  • Move old information to archives so that the main database can have more space when more read and write operations happen. 
Read replicas diagram
Read replicas help speed up read operations during heavy app usage. Source: guru99

Use Mobile Content Delivery Networks (CDNs)

Mobile CDNs make content delivery faster because CDNs distribute the information from locations closer to the user. The content is delivered in a shorter time. Mobile CDNs are very useful when your mobile apps’ users are distributed across different regions.

Mobile CDNs are developed specifically to operate on mobile networks and deliver content to mobile devices faster.

various icons with sensors working in the cloud

Exploring IoT and Cloud Computing

by
Mat Zaleski
Mat Zaleski
,
September 3, 2021

How should you integrate the cloud and IoT into your business strategy? Read on for answers.

Read more

Cloud computing has been the catalyst for achieving unimaginable goals for companies of all sizes. With the cloud, businesses can handle, manage, process, and analyze huge amounts of data. 

Cloud computing enables startups, early-stage companies, and large enterprises to draw valuable business insights. Integrated with IoT, the cloud gives modern enterprises the ability to become more efficient at data analytics. 

Enterprises use cloud computing services and IoT solutions to stay relevant and become more competitive. Jeff Weiner, the former CEO of Linkedin, said the cloud empowers modern companies to have access to the best innovation infrastructure. 

How should you integrate the cloud and IoT into your business strategy? How do these two technologies tie into a single thread to make sense for a modern business? Answers below.

Role of Cloud Computing in the Internet of Things (IoT)

Cloud computing and IoT complement each other. Cloud computing allows IoT devices to record, capture, process, analyze, and store data at a massive scale. 

Together, IoT and cloud computing services streamline cost-effective automation and data analytics. 

When we look at the ways IoT helps modern business, user analytics is one of the major drivers for IoT adoption. Businesses use the cloud and IoT to analyze big data to reveal patterns, trends, and associations.

cloud computing diagram
Cloud computing facilitates IoT analytics. Source: GeeksforGeeks

Relationship between IoT, Big Data, and Cloud Computing

Modern IoT solutions are built on a basic premise — helping businesses optimize operations. Cloud computing helps process all the data generated by the IoT. Big data analytics plays a large role in making IoT solutions efficient at automation and optimization. 

Cloud computing connects the source device with the power of analytics. Source: Big data, cloud, and IoT: an Assimilation

Cloud computing takes care of storage and security for an IoT-based app. At the same time, cloud computing acts as a bridge between the IoT platform and big data. 

As the world leans towards IoT, cloud computing acts as a powerful communication bridge. Source: IEEE

Cloud computing services enable IoT solutions to act intelligently by handling:   

Data storage and communication

Cloud computing paves the way for IoT devices to the internet for data storage and processing. The data can then be used by any other complementing technology, system, or solution remotely.

Think of it like this  —  you ask Alexa, a consumer IoT device to find you the nearest restaurant. Alexa connects to a cloud application like Google Maps and provides you the results. Data feed (your voice), the IoT device (Alexa), and the cloud application (Google Maps) interact to give you the right result here. 

Data security

Saving large data volumes generated from IoT devices can be a security nightmare. Cloud allows encrypting critical operational data while bringing down the costs of storage. 

Your business doesn’t have to invest in server infrastructure and security. Plus, you get high-end security measures embedded in the cloud. Using the cloud for IoT helps in reducing the chances of leaks and cyber attacks.

cartoon people experimenting in a laboratory

Introducing Nomtek Labs — Our Jab at Staying Disruptive

by
Łukasz Kincel
Łukasz Kincel
,
August 25, 2021

Nomtek Labs is our internal research and development department where we explore technologies and how they can benefit businesses and users.

Read more

The world we live in is far from being idle. Technologies and industries evolve rapidly, with maddening speed at times. When Nomtek was founded in 2010, Apple was selling the iPhone 3G. It was the company’s second iPhone and the first to use the 3G network.

old motorola phone with a physical keyboard
Anyone had one of those?

We hopped right in, to participate in the development of the mobile world.

3 megabits per second — that’s the dizzying speed 3G promised. Sounds bleak compared to 100 megabits per second possible with 5G. But that’s how fast mobile life was spinning back then.

The Android ecosystem itself was also in its early stages. In October 2009, Android Eclair (2.3) was released, with Motorola Droid reigning as the most popular mobile phone.

By today’s standards, it was a strange-looking smartphone, with a hidden keyboard at that.

So What Do We Have Now? The State of Technology

Much and more has changed since Motorola Droid’s reign over ten years ago. IT systems have become denser, more complex, and more accessible.

Take a Japanese farmer who, in 2016, created a system that uses AI to classify cucumbers. Sophisticated technology such as deep learning has become increasingly present in areas commonly associated with manual labor.

3G was soon replaced by 4G in developed countries, dramatically improving network connectivity and changing how people consume content. 4G helped Netflix conquer the world of streaming services, giving users access to favorite films and series at home or on the go.

Chasing the Bandwagon of the Future

All these new connectivity technologies, more efficient chips, and the evolution of augmented and virtual reality can cause a reverberating wave of changes for industries and people across the globe.

At nomtek, we always knew that investing in our development was the best thing we could make, hence the idea for nomtek labs — our answer to the rapidly evolving world.

As a company made of people who relish discovering innovation, we don’t intend to stand behind or rely solely on old technologies and methodologies.

We are tech enthusiasts who love exploring new sectors and playing with technology.

At nomtek, everyone can participate in a number of initiatives that boost knowledge and develop skills. We have internal weekly guild meetings, free time for self-development, and budget for workshops and conferences.

Nomtek labs is one of these initiatives.

node.js vs ruby on rails

Node.js vs. Ruby on Rails — What to Choose for a Mobile App Backend

by
Maja Nowak
Maja Nowak
,
August 24, 2021

Ruby on Rails and Node.js are two popular mobile backend technologies that help developers build reliable and highly available apps.

Read more

Choosing a tech stack for a mobile application backend is key to building a product with great performance. Ruby on Rails and Node.js are two popular mobile backend technologies that help developers build reliable and highly available apps. This article will explain the differences between them with example use cases for each.

What Is a Mobile App Backend?

The backend is the essential component of a mobile app that is responsible for data processing, data storage, and application security. The backend runs on the server (or in other words, behind the scenes) and does all the required processing when users interact with the user interface of the app. Usually, developers access the backend resources via Application Programming Interfaces (API)s.

What Is Ruby on Rails (RoR)?

Ruby on Rails is an open-source and server-side web application development framework based on Ruby and the Model View Controller (MVC) architecture. Ruby is famous as an easy-to-learn and beginner-friendly programming language.

logos on companies that use ruby on rails
Popular tech companies that use Ruby on Rails in their backend. Source: Medium


hand on a mobie device

How to Use Artificial Intelligence in Mobile Apps?

by
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: 

Prediction

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).

Recommendation

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?

by
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?

by
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

by
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 discovery). 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

by
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

by
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. 

M-commerce

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

by
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.

Tips:

  • 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.

Voting

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

by
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.

Cost-effective

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.

Time-saving

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

by
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

Subscriptions

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

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

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

by
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

by
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

by
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

by
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? July 2021 Update

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 2020
React Native is almost twice as popular as Flutter according to developers participating in the “Most Popular Technologies” category on Stack Overflow Survey 2020. Source: Stack Overflow Survey 2020

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 seems to confirm the global trend in the Flutter vs. React Native battle. In the survey made with almost 20,000 respondents, Flutter was going head to head with React Native in 2020.

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

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

by
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.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Block Quote