Mobile development blog

Mobile Development

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?
Enter keywords into the search bar
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
nfc enabled devices and a person

What Are NFC Tags? A Beginner's Guide

by
Maja Nowak
Maja Nowak
,
June 22, 2022

Learn what NFC tags are and how they are used beyond contactless payments.

Read more

The popularity of smart devices has skyrocketed in recent years. And the more powerful smart devices become, the more we can use them to interact with our environment. A seamless user experience for connected living needs efficient solutions to transmit data and trigger events — near-field communication (NFC) is one of the elements that enables devices to connect with each other to exchange data.

What Are NFC Tags?

Near-field communication technology allows two devices to communicate wirelessly. The technology can be embedded in a small tag to facilitate data transfer between nearby mobile phones, laptops, tablets, and other electronics. NFC tags are often compared to RFID, but the two are different.

What is RIFD?

The RIFD technology (radio-frequency identification) is the predecessor of NFC. RFID tags are most commonly known from anti-theft systems attached to the more expensive products in stores. RIFD has been successfuly used to track inventory in a variety of sectors and industries, e.g., manufacturing, healthcare, automotive, or apparel — wherever there's a need to track items.

What is NFC?

NFC is part RFID (radio-frequency identification) and part Bluetooth. Unlike RFID, NFC tags work in close proximity, giving users more precision. NFC also doesn’t require manual device discovery and synchronization as Bluetooth Low Energy does. The biggest difference between RFID and NFC is the communication method.

RFID tags have only a one-way communication method, meaning an RFID-enabled item sends a signal to an RFID reader.

NFC devices have a one- and two-way communication capability, which gives the NFC technology an upper hand in use cases where transactions are dependent on data from two devices (e.g., card payments). Mobile wallets like Apple Pay, Samsung Pay, Android Pay, and other contactless payment solutions are all powered by the NFC technology.

So in essence, RFID tags are great for inventory tracking and NFC tags work well for enhanced communication.

NFC tags are embedded as a smart chip in a physical device. Source: CXJ RFID Factory


How NFC Tags Became Popular?

NFC has been on the technology scene for years — Nokia launched the first NFC-enabled phone in 2006. But this technology only gained momentum in recent years.

Growth of NFC as a technology — 2018-2024. Source: BlueBite

NFC popularity soared when companies recognized NFC as a enabler of a contactless future.

Contactless payments registered a 150% increase between March 2019 and June 2020 in the US alone, partially caused by the pandemic. Contactless tech, originally designed to handle small purchases, is now one of the most popular mobile payment methods.

Today, there are more than 2 billion NFC-enabled devices and 20% of the world’s population has access to NFC.

But what is an NFC tag? How does NFC work? What are the advantages of using NFC? Are NFC payments secure? How are businesses using NFC technology?

Let’s look at all these questions and explore some common applications for NFC tech.

flutter and react native logos in hands

Flutter vs. React Native in 2022 — Detailed Comparison

by
Mat Zaleski
Mat Zaleski
,
June 15, 2022

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

Read more

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

What Is Flutter?

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

Will Flutter Overtake React Native? [UPDATED]

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

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

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

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

UPDATE, June 2022:

Submissions for the Stack Overflow Survey 2022 have closed for this year so we can soon expect an update of the Flutter vs. React Native debate among developers using these technologies in commercial projects and beyond.

A look at Google Trends results reveals a fierce battle between the two.

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

a graph of worldwide Flutter (red) and React Native (blue) popularity trend (2018–2022).
Worldwide Flutter (red) and React Native (blue) popularity trend (2018–2022). 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, especially when you look at the trend curve starting from January 2021. However, Flutter currently has a slight lead over React Native.

a graph with Flutter (red) and React Native (blue) popularity trend in the US (2018–2022).
United States Flutter (red) and React Native (blue) popularity trend (2018–2022). Source: Google Trends

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

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

UPDATE, July 2021:

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

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

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

a prototype of a mobile phone

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

by
Maja Nowak
Maja Nowak
,
May 9, 2022

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

Read more

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

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

POC vs. MVP vs. Prototype: Short Definition

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

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

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

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

What Is a Proof of Concept?

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

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

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

Features of a proof of concept

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

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

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

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

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

Example of a proof of concept

PONS XR Interpreter

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

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

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


two people playing with a mobile phone

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

by
Maja Nowak
Maja Nowak
,
April 12, 2022

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

Read more

Successful products that solve user problems can create significant user demand over time. Apps with many users and heavy traffic should cater to a growing user base with flawless performance and user experience. 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 to keep it highly available and reliable as it grows. 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.

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
,
March 30, 2022

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


person carrying a phone with different hardware addons

Mobile Development Technologies 2022

by
Maja Nowak
Maja Nowak
,
March 23, 2022

Explore the trends in mobile technologies in 2022 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 2022, almost 1.4 billion smartphones are expected to be sold worldwide. In this blog post, we look at the trends in mobile technologies in 2022 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 2022, 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 2022?

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.