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.
screens with various stages of project scope

Preparing the Scope for Your Project — What to Know Before You Start

by
Maciej Puchała
Maciej Puchała
,
December 1, 2021

Developing a project’s scope can be a challenge. Learn what to know before creating a scope for your product.

Read more

Just like it takes time, perseverance, and patience to build your character, developing a project’s scope can sometimes be similarly challenging.

There are two most common ways of cooperation with vendors:

  1. When you want a vendor to develop the product and support you during the ideation and design phase.
  2. When you have everything defined and just need the vendor to develop the solution.

This article talks about the first example: when you need your idea to be translated into a more tangible form.

Key Takeaways

Be prepared that defining the scope takes time — the scope will be changing, evolving. This is a never-ending back and forth game. During the development, new things and ideas will come up that will further influence and change the scope. It’s fine.

Talk to people about problems to gather ideas and feedback. The vendor will help you make sense of it — without enough product experience, you might miss key insights from user interviews. Bring user problems and feedback you’ve gathered to the discussion with the vendor.

Don’t try to use every template — even though there are numerous templates such as Lean Canvas, whether you should use them all depends on many factors. For example, if the product will be the core of your business or maybe an extension to a process. A vendor’s product managers will help you go through these templates in the most efficient and results-oriented way.

Be proactive — scoping the product is an ongoing process. You need to actively participate in all discussions, giving feedback and sharing your thoughts as much as possible. This way you will transfer the knowledge to the people who are the experts so that they can help you scope the best first steps of your product.

The Anatomy of Project Scope

Creating a project’s scope depends on many factors like business goals, product vision, users needs, and product feature requirements. Scoping requires close partnership and collaboration between the vendor and the client. It also takes time to turn your vision into specifications ready for the next phases.

Here’s how the scope progresses in granularity:

  • High-level assumptions
  • Mid-level requirements
  • Low-level specifications

High-level assumptions

The high level contains more general assumptions like what you want to achieve, initial technology assumptions (e.g., tech stack, platforms, and other systems and integrations). It’s the description of what you want your product to be: a simple overview, without anything tangible like feature descriptions, mock-ups, or designs.

Mid-level requirements

Here things get a little spicier because you’re getting into the details of your idea. For example, figure out use cases for different personas — what users should be able to do in the product. It’s also when the design enters the scope in the form of wireframes or mock-ups. In other words, the mid-level scope shows you how the app can look and what it can do. This stage ends in project requirements, general backlog (EPICs, first user stories), and general UI requirements.

Low-level specifications

It’s where your vision is translated into implementable backlog items, well-defined user stories. In other words, features developers will be working on. In this level of granularity, you’ll also consider what’s technically available and viable. Think of low level as product specifications.

woman using a mobile phone voice assistant

Building a Custom Mobile Voice Assistant — Technical Feasibility Study

by
Kamil Halko
Kamil Halko
,
November 25, 2021

Building a mobile voice assistant that reacts to a custom keyphrase is a complex process. Read about our findings from a technical feasibility study.

Read more

Is there a better way to experience the convenience of a smartphone than through a mobile voice assistant? Not really. Mobile voice assistants are extremely useful. But they can also be tedious — I mean, how many times a day do you have to say “Ok Google” or “Hey Siri” to prompt the assistant?

From a business perspective, these prompting commands are also generic. Before using your product, customers have to say the name of someone else’s brand. An obvious alternative is a custom mobile voice assistant with specific prompts that lets companies create a branded experience. The key question is whether such a solution can be built and what does it take to develop a custom mobile voice assistant?

About the Research — Assumptions and Requirements

At Labs, our internal R&D department, we’ve been eager to explore the idea of creating a custom mobile voice assistant for a while. The goal was to do initial research and check whether it is possible to implement an efficient always-on wake word-detection system. We'd like to share our findings and give tips for further steps.

To determine the technology needed to develop the solution, we first had to get our assumptions and requirements right. The main requirement was for the mobile voice assistant to react to a specific wake word.

We narrowed down other requirements for the system as the following:

  • Always-on — continuous listening for the wake word and notifying when a specific phrase is detected
  • Low energy consumption — the assistant shouldn’t drain the battery
  • Low latency — the analysis needs to be done on the phone, offline
  • High accuracy
  • Android as an operating system, but the solution should work on iOS similarly
  • Customizable — the wake word should be customizable to another phrase
  • Working in a resource-constrained environment — mobile devices don’t have the hardware capacity of laptops or desktop computers

Taken together, these requirements translate into a system that consists of three loosely coupled subsystems:

  1. Energy detector

This system operates continuously and estimates the energy of an incoming sound. Such detection should consume very little power. The next stage activates only when the sound volume is above a certain threshold.

  1. Voice activity detection (VAD)

With a signal detected, the system should recognize if it’s speech or just a noise. VAD consumes slightly more power than an energy detector, but it’s still a relatively simple system. We would expect a very high accuracy when it comes to classifying something as speech, above 98%. If the signal is speech, we proceed to the third phase.

  1. Wake word recognizer

Now that the incoming signal is recognized as voice, we launch the last and most compute-expensive system: wake word recognizer. To achieve very high accuracy and be able to adjust the system in the future, a recommended way would be to use a neural network and a data set that have been proven in wake word detection. It will cut the development time.

Researching the Available Technology for a Mobile Voice Assistant

During the research, we implemented the first two subsystems — energy detector and voice activity detection. We also checked several options to implement the third step.

Evaluating the energy detector

Implementing the energy detector — a simple algorithm that is checking the level of energy (sound volume) — was relatively simple. The detection threshold can be easily adjusted; we set it to detect any sound occurring around the device that might be a voice. The energy detector passes the recorded sound only after a positive detection.

To improve the accuracy and cut out too low and too high frequencies, the system can be augmented with a biquad filter.

Voice activity detector

We used Google’s open-source Voice Activity Detection library. The library is written in C, but there is an Android wrapper available that eases the use of the library.

The library itself is reportedly “one of the best available: it's fast, modern, and free. Google’s algorithm has found wide adoption and has recently become one of the gold standards for delay-sensitive scenarios like web-based interaction” (Source gkonovalov/android-vad).

The algorithm implemented in the library is based on the Gaussian mixture model (GMM), which is one of the commonly used probabilistic models. However, even the best GMM algorithms can't compete with the algorithms based on deep neural networks in terms of speed and error rate. The authors of the paper were able to lower the delay 87 times and achieve a 6.7% lower error rate.

RNNoise has a very good and highly performant VAD system. One can also opt for a more dedicated solution. RNNoise can be compiled into a Web Assembly. It's also present as a component on the WebRTC.

Wake word recognizer

An offline wake word detector can be approached in two ways. We can ask users to record a keyphrase several (~3) times, upload the data to the server, use an algorithm to create a model, and use it in the app.

Another approach would be to create a universal model that can detect a keyphrase without any user interaction.

During this research, we checked a few options that implement one of the two approaches:

Howl

Howl is an open-source wake word detection system used in Mozilla Firefox. After saying "Hey Firefox," users start interacting with the browser. Howl is written in Python, and it's using the PyTorch machine learning framework.

After some modification applied to the source code, we were able to run the app and test it. The system works very well. It detects the phrase "Hey Firefox" quickly and with a very low error rate. The Howl repository describes nicely how to prepare a data set and train a model. 

Using Howl to implement a custom phrase detection might work very well, but the building model procedure is not so obvious and requires a lot of data

For example, for Firefox, the company used a Mozilla Common Voice dataset (~70 GB of short audio clips from users from around the world) as well as 632 recordings of “Hey, Firefox” from volunteers.

Howl also requires a CUDA-enabled graphics card with at least 4GB of VRAM (they used Nvidia Titan RTX) for the training procedure. Because we wanted to develop a solution for smartphones, we had to explore several approaches to see which was viable:

  • Using a pretrained model in the PyTorch Android library — PyTorch comes with a version for mobile devices. In theory, it should be possible to run the same model on desktop and mobile. In practice, however, the library is not very reliable and has several issues. Since it's just a wrapper around the Python library, it exposes a simple interface that is not easy to work with.
  • Converting PyTorch's model to TensorFlow — TensorFlow can be easily used on mobile devices, and it would be great to test the app with the pretrained model from Howl application on mobile devices. However, converting models between these two technologies requires specific knowledge of both of them.
  • Creating a TensorFlow model using Howl's approach — This seems like the best option. But, again, it requires specific knowledge of the system. On the GitHub page, there is a description of how to prepare a dataset for training and testing purposes. Unfortunately, the description doesn't specify how to use it in the TensorFlow framework.

mycroft-precise

Precise is a wake word listener. The software monitors an audio stream (usually a microphone). When it recognizes a specific phrase, Precise triggers an event. It's written in Python, and it’s designed to run on Linux, especially on resource-constrained devices like Raspberry Pi.

The software is built on top of the TensorFlow framework, and the model is distributed as a .pb file. Unfortunately, Precise doesn’t provide an easy way to convert (or build) it for mobile devices.

Ideally, we would need to get .tflite. There even was some work done to convert a .pb file to a .tflite, but the branch that contains these changes still isn’t merged, and using it causes some installation issues. 

Still, getting the .tflite file wouldn't be enough, because there are some calculations required before feeding the model with audio data. Precise provides instructions on how to train your model. You need around 12 recordings of the keyphrase to make the system work properly.

Snowboy

Snowboy is a hotword wake word detection framework based on deep neural networks. The tool provides an option to create two types of models:

  • Personal — The user needs to record an audio file by saying a keyphrase 3 times, and then upload it to the server. The server will create a model file (.pmdl) that is ready to use in the application.
  • Universal — The algorithm needs to be fed with 500 audio files that contain chosen phrases. The server will then create a model file (.umdl) that is ready to use by every user. The big downside of this framework is that the part responsible for creating a model is closed-source — at some point, the company can decide to stop supporting it, which will make generating new models impossible. In fact, Snowboy is already a deprecated framework. The website collecting user recordings was shut down (the website let anyone propose a phrase and others could record themselves saying this phrase).

PocketSphinx

PocketSphinx is a framework that analyzes audio transcriptions. The user can provide a transcription of the keyphrase that they would like to be detected. During our research, however, PocketSphinx turned out not very reliable. It detects a lot of false-positive signals that result in a poor user experience.

Picovoice AI

Picovoice AI offers an SDK for easily training wake words detection. Commercial applications require purchasing a commercial license. The vendor doesn’t provide any pricing guidance on their website.

person buying goods and services online

How to Build an Online Services Marketplace

by
Mat Zaleski
Mat Zaleski
,
November 18, 2021

Online services marketplaces have bloomed with the shift in consumer preferences toward digitally delivered goods. Discover more about services marketplaces.

Read more

Global village, ocean of talent, or the universe of opportunities — however you want to call it, we’re sailing away from the physical world toward the digital. People shop on mcommerce platforms, consume digital goods, and work and communicate on mobile devices. The digital shift is palpable, and the demand for online services is at an all-time high.

Building an online services marketplace can be an inspiring business opportunity, letting you tap into an increasing number of markets.

What Is an Online Services Marketplace?

As a business owner, you’ve probably used talent sourcing platforms such as Upwork or Fiverr for hiring. You’ve called for an Uber for your commute or booked an apartment at Airbnb.

But online services can also be pretty much anything where the product is a service. You can sell online fitness lessons, live meditation sessions, or product management courses.

How services marketplaces work

In an online services marketplace, service providers list their offerings. Buyers browse the app and hire a service provider to get things done. The marketplace charges commission (either from the seller or buyer or both) to facilitate the service delivery.

Online services marketplaces bring service seekers and providers closer.
Online services marketplaces bring service seekers and providers closer.


Why Build an Online Services Marketplace in 2021?

In 2019, consumers spent close to $10 trillion on services, but only 7% of the services have been digitized, according to the Bureau of Economic Analysis. And while the pandemic has driven a lot of the services spending down in 2020, ecommerce and digitally delivered services grew to change the status quo moving forward.

The pandemic increased the demand for service digitization. People look for online classes, coaching sessions, and online on-demand services online. Also, as the economy is bouncing back, people are expected to spend more on services like travel, hospitality, and food delivery.

Share of the service sector will see the biggest spike in terms of consumer spending. Source: Delloite

Even workplaces are adopting hybrid work models with gig workers as an important part of their workforce. In 2020, on-demand services and the gig economy saw a 33% growth rate — much more than the US economy itself. COVID-19 and The Great Resignation have spurred the need for online services marketplaces.

Here are some of the benefits of an online services marketplace app:

Little inventory required: No inventory or stock is required for operating a service marketplace. You earn commissions on every successful service order fulfilled by service providers.

woman doing online shopping on a smartphone

Capturing the Opportunity via Mobile Commerce

by
Maja Nowak
Maja Nowak
,
November 11, 2021

Learn about mobile marketplaces, their types, and opportunities in the mcommerce industry.

Read more

Despite the global drop in consumption during COVID-19, the rapidly shifting consumer behavior gave online commerce a boost. Mobile commerce sales in particular experienced a significant increase as the preference toward remote transactions continues.

Businesses of all sizes have focused on developing their mobile commerce channels, with some companies experiencing online sales that outperformed even the most optimistic forecasts. But the opportunity is still available for newcomers who want to capitalize on this financially stable industry.

The State of Mobile Commerce in 2021

As much as 67% of internet users engage in digital window shopping. Of that number, 77% end up making impulsive purchases on their smartphones. 

While the 25-34 age group is the most active in purchases on mobile, mobile shopping is popular across all age groups.

the popularity of mcommerce across age groups
M-commerce is popular across age groups. Source: AppAnnie

M-commerce is changing shopping habits and offering consumers the ultimate shopping convenience. Inclination towards mobile commerce is expected to increase the share of m-commerce in online ecommerce by 72.9%. In 2020, consumers spent $2.67 trillion on the top 100 mobile marketplaces alone.

What Is a Mobile Marketplace?

A mobile marketplace is a digital store designed with a mobile-first strategy in mind. Consumers download the marketplace mobile app for shopping online, finding a new service, or digital window shopping. The marketplace hosts multiple vendors and allows shoppers to buy different products or services from a single platform.

a diagram with a typical online marketplace structure
Marketplace apps bridge the gap between buyers and sellers. Source: HackerNoon


Mobile marketplaces are a natural progression from ecommerce platforms and online stores. A mobile marketplace brings sellers closer to buyers and simplified the online shopping and selling experience for smartphone users.

Marketplace apps offer several features to facilitate product discovery and mobile payments. 

Amazon, Alibaba, Etsy, eBay, etc. are all examples of mobile marketplace apps that have done phenomenally well in recent years. 

the global marketplace landscape
A glimpse of the global marketplace landscape. Source: Tipalti 

But marketplace apps aren’t limited to physical goods and the retail industry. 

A marketplace can host services, courses, websites, apps, other businesses, and skills. For example, Flippa sells affiliate websites, SaaS businesses, and online stores. Gumroad sells a plethora of products made by contributing users. Humanoo has a whole package of fitness-related services and courses.

people cooperating on mobile app development

Mobile App Development Process: In-Depth Guide

by
Maja Nowak
Maja Nowak
,
November 3, 2021

Mobile app development process is a multi-step journey. Find out what's involved in it.

Read more

While this guide outlines the steps in mobile application development, the process isn’t the same for every project simply because no project is the same. Companies come with different product ideas, bringing different assets (graphics, designs, existing apps that need a revamp). Some steps in this guide will be skipped for those that have designs, for example. Also, not every step is necessary or mandatory — the development process should never be rigid and set in stone (just like your assumptions).

Look at this guide as a general outline of what’s involved in the mobile app development process, but by no means treat it as definitive.

The key to building successful products is flexibility and skill with which you and your vendor can target customer needs and solve their problems.

This guide is meant to show you what’s usually involved in the mobile app development process.

What Are the Main Steps in Developing a Mobile Application?

There are basically six steps involved in developing a mobile app. In the agile approach, they are repeatable — each iteration helps refine the product.

  1. Product discovery
  2. UX/UI Designing
  3. Development with QA
  4. Deployment
  5. Maintenance

Step #1. Product Discovery and Strategy

How Do I Start Developing a Mobile App? — Validating your idea

exploring and validating your product idea

Every app starts with an idea — so that’s where you’ll be starting your journey.

Thorough idea validation is the most important step in the life of your app. You need to be harsh with your idea: there’s no place for kindnesses or leeways. If you won’t validate your idea properly, you’ll end up sinking resources.

You should be able to describe your product idea in one sentence when woken up in the middle of the night. Such clarity helps keep everyone understand the vision better.

To validate your idea, you can use a variety of available resources, such as the Lean Canvas or similar. These tools will help you narrow down your vision.

Templates that help in this phase:

Keep in mind that these are just frameworks that yield tangible results when created by experienced product managers. It’s not to say you shouldn’t do them — if anything they’ll help you put your idea into context. 

When you approach a software agency, the team might want to fill out some of those templates too. Don’t let that discourage you. The vendor needs to understand your business context because, without it, the vendor loses key information that can lead to false assumptions and an obstructed workflow.

Exploring your competition and target audience

During product discovery, you should learn as much as possible about your target audience, competition, and monetization strategy.

You should be able to answer questions such as:

  • What do you want to achieve through your app?
  • Who is the target audience?
  • What problem does the app solve?
  • Who is your competition?
  • What will your app have that your competition doesn’t?
  • How will you monetize your app?

Planning

Keep in mind that the process of chiseling out a defined set of features (as understood by developers) depends on close cooperation between you and the software agency you’ll work with.

This process can take a lot of time in some cases. The reason why is that it takes time to narrow down your product idea. The more complex the product, the longer it takes to finish the process of defining scope.

During product discovery, you define use cases and create functional requirements. At the end of this stage, you should have a document with user interface requirements. UI requirements will later be distilled to specifications (e.g., user stories and the backlog).

Generally, in the product discovery stage, your vendor should aim for defining the minimum viable version of your product — enough to validate your idea and deliver initial value to your target users.

The conclusions you draw from product discovery determine the direction in which your app will move. A thorough analysis is therefore necessary to secure a validated idea that will be desirable but also technically viable.

Consider support

Because every project requires a thorough analysis, you might want to hire professionals to help you in this stage of the journey.

Vendor-supported product discovery can be used in a variety of scenarios. For example:

  • If you already have a product but aren’t satisfied with it, a vendor should provide you with a comprehensive UX audit to pinpoint what your mobile application is lacking and what it needs to help you achieve better results.
  • You don’t have a product yet but want to:
  • improve an existing process (e.g., build an app to support your internal sales team in contacting and managing clients)
  • expand your business and add another sales channel
  • introduce a new solution that you’ve observed in your target audience

A vendor can find users for initial tests of your product for a steady stream of validated learnings. Experienced software agencies can also check your competition and do market research.

How to choose a software agency?

A software agency can come in handy during those first steps of your app’s lifecycle. Reliable agencies with a portfolio of successful projects will have enough experience to support you right from the start.

how to find a mobile app development agency steps to simplify

Read our guide on choosing a good software agency for more details.

Should I choose a fixed-price or time and materials contract for mobile app development?

A time & materials contract gives you more flexibility and control over the quality and budget. In a T&M contract, you can introduce changes while your product is developed, which lets you include trends and address shifts in customer preferences.

In a fixed-price model, you usually follow a sequential order in product development: requirements and analysis, design, implementation, testing, deployment, maintenance. By definition of a Waterfall model, once requirements are complete, there’s little to no possibility to change the scope.

In other words, in Waterfall-based fixed-price models, you don’t have the flexibility to introduce changes once the project enters development. This can create a few problems:

  • Missed product-market fit after launch (customer preferences come and go; the longer the development the higher the likelihood of missing the fit)
  • Solution not solving user problems (good products are always developed with customers embedded into the decision-making process)
  • Paying the buffer for the vendor — a vendor has to offset any possible losses caused by unexpected hurdles in development
people shaking hands and signing a contract

Why T&M Contracts Work Well for Your Product's LTV

by
Kasia Gruszka
Kasia Gruszka
,
October 26, 2021

Read why flexibility in time and materials contracts can improve your product's lifetime value.

Read more

Your product’s lifetime value (LTV) depends on the choices made during development and after application release. Continuously improving your product’s LTV means sustainably delivering quality and discovering new customer needs that help grow the user base.

T&M contracts work well for your product’s lifetime value because they give you the flexibility to change project requirements as per your ongoing discovery activities. In other words, when the development starts, the scope isn’t fixed — you can swiftly adapt to trends and emerging customer preferences.

The Benefits of Being Agile in Product Development

Rapid response to changing consumer behaviors

Trends come and go. What was once a lucrative idea for an application, can become irrelevant in a matter of months. The most recent example is how Covid-19 has influenced many areas of living and consumer behavior, e.g., the increase in the use of digital tools.

In T&M contracts, you approach the scope for your product’s features agilely. For example, if halfway into the development you want to include a feature that engages your target audience, it’s easier to implement it.

Daily communication

In T&M, the vendor’s team is almost like your internal staff. You communicate daily, and the team shares status updates.

Daily communication helps talk over any issues or ideas that might crop up. When there’s an opportunity to look for alternative solutions that can cut the development time or otherwise add value to the product, swift communication is key to fast implementation.

Real-time developer suggestions

This one ties in with communication. As the team works on the product, they know it inside out. They can suggest simpler ways to achieve a given goal. Also, when a better solution or a library appears on the market during development, the team gains additional means to decrease development time.

Transparency into development

In agile products with a flexible scope, you’re a part of the project. That said, you can check the progress of your app via project management platforms or move a step forward and ask for a CI/CD approach to see how your app evolves daily.

Whenever you spot an issue, just communicate it to your team so that they can deal with it comprehensively. When the software agency deals with issues poorly or delivers low-quality solutions, you can end the contract before losing any more money.

Financial stability of your partner

T&M contracts ensure cash flow and keep the software agency healthy. It’s the foundation for business continuity that promotes long-lasting partnerships. 

Quality guaranteed with senior developers

When you work in a T&M contract, there's no economically driven reason to exchange the team for less experienced and therefore cut the provider's service cost. You can verify the quality of the code during two-week demo releases, where you check how the product works. Whenever you feel the product underperforms, you can react and, for example, strengthen the team.

Less stress for the development team

With good and frequent communication where the development team acts as a partner who can suggest solutions and features based on their experience, the team becomes more invested in the project. Developers feel they’re doing the right things and doing things right.

Positive relationship dynamics encourage the team to suggest solutions that cut implementation time or improve the product. The team is focused on quality development instead of a fast release to get the buffer.

Ongoing Discovery for a Continuous Product Improvement

A product’s LTV increases the more it continuously delivers high-value functionalities. To ensure your team implements these high-value functionalities, they need to stay in touch with customers during every stage of development.

By employing a variety of methods designed to get to know the end customer better, teams can focus on continuous product improvement and value delivery. These research activities should be part of the development process and decision-making.

Customer interviews bring out valuable insights directly from customers. Rapid prototypes and experiments help introduce these insights and see how they affect a product’s value.

In Waterfall projects, there's little space for experiments when the product is in development. The scope is fixed.

Time and materials contracts support ongoing discovery activities.

Why Waterfall projects inhibit continuous product improvement

In fixed-price projects, once you do customer preference research before development, this activity rarely gets repeated in the later stages of development.

To be able to continuously deliver value and improve your product to increase its LTV, you need to involve the customer in the decision-making — in an ongoing capacity.

Digital projects are rarely finished with the first release. Take Instagram or Strava for example. Both applications have evolved tremendously over the years, with numerous new features and user interface modifications.

There’s always something that can be improved to deliver new value for the customers. These improvements can be ongoing, without the need for scope reevaluation — think of these improvements occurring every week or even every day.

With proper analytics set up, you see how those tweaks in the product perform.

Being close to the customer lets you discover how they perceive the product — in effect, you can make efficient decision-making where customer input drives the product.

a man and woman creating a contract for a mobile application

Why Waterfall-Based Cost Estimation Is Practically Impossible for Modern Digital Products

by
Kasia Gruszka
Kasia Gruszka
,
October 19, 2021

Learn what makes estimating fixed-price projects practically impossible if you want to target shifting customer needs.

Read more

In the software development world, fixed-price projects often mean fixed scope — just like in the Waterfall methodology. To prepare a fixed scope, you need to make lots of upfront planning.

But today’s software development is a highly volatile environment where technology trends and customer preferences change rapidly.

In the end, all the effort put into upfront scope planning can crumble, either at the product launch or during development itself. Learn what makes estimating fixed-price projects practically impossible if you want to target shifting customer needs.

The Evolution of Complexity in Software Development

Back in the 1990s and early 2000s, simple websites were built using HTML, CSS, and JavaScript. With fewer technologies available and lower adoption in general, software was much less complex than it currently is. That simplicity meant predictable scope.

But in the 2000s, Python 2.0, C#, and JQuery were released, allowing developers to build safer and more robust software and websites. With the release of these technologies, the complexity of software increased. More complex software took longer to develop, and the standard approach to development at the time — the Waterfall methodology — started showing cracks.

Complex projects often resulted in irrelevant software that fell short of customer expectations — by the time the solution was released, the market and customers already had different needs.

Welcome Agile Manifesto

Because of these growing complexities in software development, fixed-price contracts became increasingly difficult to estimate accurately. The need for a change was recognized, which gave birth to the Agile Manifesto.

Following the Agile principles let developers release software in iterations and collect feedback that guided further development. Agility in that sense meant delivering relevant and highly user-focused digital products.

Of course, it doesn’t mean all projects have to be Agile and that the Waterfall methodology is inherently flawed. To learn which types of projects are a good fit for fixed-price contracts, read Waterfall methodology vs Design Thinking, Lean Startup, and Agile.

Note: Even the projects that can be built in a Waterfall model, should be broken up into chunks for the stakeholders to review and give feedback. This helps avoid a situation where the product has already lost its relevance at the launch date (by that time so much development work has been done that any changes are simply not viable financially).

Let's see what may happen if we try to build successful projects in a strictly fixed-price model.

Fixed-Price Model’s Potential Pitfalls

Handing the project to junior developers

When a software agency can’t deliver a complete product within budget, they might restructure the initial team and let junior developers finish the work. This frees up their senior devs to pursue more profitable projects.

Scope cuts or workarounds to meet the deadline

When a vendor nears the deadline but the product is far from being finished, the company might turn to quick workarounds or scope cuts. Quick workarounds make the product unstable and unreliable in the long term. On the other hand, scope cuts result in an unfinished product that doesn’t meet the initial requirements fully.

Inability to get all details prior to project’s kickoff

The fast and hectic decision-making process in software development projects makes it difficult to collect all the details upfront. Even with a detailed specification, there's always some level of assumptions on both sides.

For example, during development, it might turn out that certain parts of the app have to be written from scratch to secure a fully custom code that’s not limited by OS policies or third-party solutions. Another example can be the inability to use certain paid tools and libraries.

It’s close to impossible to learn which parts of the product need a custom approach before the contract begins.

Plugin validation

It’s difficult for developers to validate all open-source libraries and plugins before they actually start implementing them. Conversely, when there’s nothing reliable in the currently available resources, the necessary plugins have to be written from scratch. If the available libraries are outdated, developers have to update them.

This goes on to show just how difficult it is to accurately estimate what will and won’t be available in projects that run for, say, half a year.

Vendor bankruptcy 

If a software agency doesn’t have any inflow of cash and is waiting for product release, it can run out of money to operate and as a result, abandon your project altogether.

With a partially finished product, it might be difficult for another vendor to take over the development work and meet the release deadline. The second team needs to familiarize itself with your business and the product.

Technical lag

Once a fixed-price and fixed-scope contract is signed, you can make very few changes. If a better solution enters the market during development, you’ll still have to go with what’s agreed on in the scope.

A vendor might also use the opportunity and valuate something simple as complex to make up for the loss.

That said, you might end up releasing a product that’s already irrelevant technologically.

Missed market fit at launch

Some complex software solutions take upward of six months to develop. Half a year is enough for consumer preferences to shift. As a result, once you release your product, market fit might already be lost.

Time and materials contracts are a viable alternative to fixed-price projects.


woman entering a building using an NFC tag

Beyond Payments: Example Uses for NFC Tags

by
Maja Nowak
Maja Nowak
,
October 13, 2021

Explore how NFC is changing industries. See exciting uses for NFC tags.

Read more

Contactless payments are the gold standard for Near Field Communication (NFC) tags in 2021. A great majority of mobile phone users have made contactless payments in recent years. The use of NFCs for payments is likely to grow as we move toward cashless societies. But there is much more to NFC tags than payments.

Let’s look at how NFC is changing industries by exploring uses for NFC tags.

How Are Industries Adopting NFC in 2021? 

NFC technology has been around for more than a decade, steadily growing in adoption.

NFC solved a major pain point — providing secure contactless payment systems for mobile payment processing. As less digitalized businesses saw the contactless potential, they started looking for new ways to use NFC in their everyday affairs.

NFC is useful even for businesses operating in conventional industries. 

NFC in retail 

The retail sector has been using NFC for contactless mobile payments. But NFC in retail has moved beyond just a payment method. 

Retailers are using NFC tags for sharing product information, offering discounts, in-store marketing campaigns, etc. 

NFC in healthcare 

NFC-based SOS features are now standard on many smartphones. One can scan a smartphone to know the medical history, raise an SOS alarm for a person involved in an accident or in case of an emergency.

Also, NFC tags on sealed medical packages help doctors and caregivers check dosage info and prescriptions using their smartphones. 

NFC in banking and finance

Banks and financial institutions are using NFC beyond payments. Apple Pay, Google Pay, Android Pay, and other NFC-enabled mobile wallets are just the tip of an iceberg in the banking sector.

NFC tags are easily recyclable, reducing the use of non-degradable plastic cards. Many financial institutions are also using NFC tags as keys to lockers and deposit boxes for customers.

Best NFC Use Cases and App Examples 

NFC has been integrated in several mobile apps, especially during COVID-19. Here are some of the best uses of NFC tags in mobile apps: 

NFC-based travel and transportation apps

NFC has reinvented the archaic practices that have been in place for the better part of the last century. The travel, tourism, and transportation industries are rapidly rolling out NFC-based apps and contactless ticketing solutions.

Airlines and airport authorities are experimenting with NFC boarding passes, and public transport systems have shifted to NFC-powered ticketing apps.

Commuters are no longer required to buy a paper ticket to access bus, metro, tram, or other public transport systems. They can use NFC tags embedded in smart cards or smartphones for contactless payments across public transport systems

NFC-powered public transportation systems are operating in several major cities — New Delhi (India), Nice (France), Beijing (China), Seoul (Korea), etc.

Restaurants, bars, and popular tourist spots are also using NFC stickers and tags for information exchange. Hotels are using NFC-based smart locks for keyless entry to rooms. Tourists and customers can use an NFC-powered mobile app to get more info, read reviews, find the best deals, get entry to an area/room, and post reviews. 

NFC-based events and entertainment apps

NFC apps allow venue owners, organizers, and artists to comply with local social distancing mandates, sell tickets, promote contactless payments, and ensure minimal contact. 

NFC simplifies ticket delivery and venue access for locations like theaters and concert halls. People use NFC-enabled devices and smartphones to validate their entry — at sporting events, theme parks, concerts, conferences, or a live show.  

SafeTix by Ticketmaster uses NFC technology to enable people to use their mobile phones as entry tickets. The company is digitizing tickets for big-league sporting events like NFL, concerts for stars like Ed Sheeran, among other events. 

NFC-powered Event Ticket by TicketMaster. Source: SafeTix

NFC-based security and access control apps

NFC tags can streamline access control and security protocols. Companies are using NFC to upgrade their old access management systems. NFC tags can be embedded into mobile phones, wearables, wrist bands, and key chains to identify team members, visitors, and workers within office campuses.

HR teams can use NFC-enabled apps to track work hours and team attendance without being intrusive.

An NFC-based access control system like AEOS by Nedap brings systems, electronic devices, smartphones, and people on the same network. Modern offices can use this solution to facilitate and track movement, provide access to conference rooms, cubicles, or floors.

NFC-based automation apps

NFC tags can automate homes, offices, buildings, and even vehicles with IoT networks. NFC apps can be used to configure device operations, share WiFi passwords securely, and control a computer system remotely.

Businesses can use a blank smart tag and download an NFC app like NFC Tools from Google Play Store or App Store to create gestures. You can easily program NFC tags using the app. Apple AirTags also work like programmable NFC tags. Here’s what all you can automate when you program NFC tags:

  • Activate/deactivate a process/system
  • Streamline autonomous manufacturing operations 
  • Launch an app or open a website URL 
  • Shar sensitive information like social media credentials securely 
  • Open doors and access areas within a building 
  • Send emergency messages (SOS) or call a number 
  • Configure a wireless Internet connection and share WiFi password

NFC tags can also power smart locks and work as a keyless solution to access apartments, cars, and hotel rooms. Many hotels are now using NFC-enabled smart locks as an alternative to plastic keycards. Guests use their own smartphones instead of plastic keycards to unlock hotel rooms. This helps hotels follow safety and hygiene protocols. Plus, hotels ditching plastic keycards for NFC can reduce plastic waste.

NFC enables keyless entry and powers IoT-based automation systems. Source: NewAtlas 

NFC-based wellness and fitness apps 

Wearable tech is heavily dependent on NFC tags for fitness-related information exchange. Fitness apps collect data from wearables and track sleep patterns, calories burnt, heart rate, and other metrics in real-time.

All major fitness bands use NFC as an underlying tech to improve user experience and become a part of daily life.

MI Band NFC with gesture-based workout schedule feature. Source: Android Police

MI Band 4 by Xiaomi supports contactless mobile payments and configurable gestures to create a workout schedule, play music, set an alarm, etc.

NFC has other use cases for fitness and healthcare apps, too. Caregivers can monitor patients’ vitals and ensure a safe delivery of genuine drugs. Prescriptions can also be stored in NFC tags.

Many pharmaceutical companies and institutes have started using NFC-powered smart drug labels that store a medicine’s expiry date, dosage information, authenticity information, etc.

Tapp is a smart medicine strip that stores prescription data, medicine information, and dosage schedule. Caregivers and family members can use the Tapp app to set reminders so that no patient misses medication.

NFC-powered strip that reminds patients to take their medication. Source: Yanko Design


stopwatch with a hand

How Time and Materials Contracts Work — Gain Control over Budget and Quality

by
Kasia Gruszka
Kasia Gruszka
,
October 7, 2021

Read about T&M contracts to learn how they work and how they give you control over product development.

Read more

When choosing a vendor for development work, you have to decide on the type of contract: fixed-price or time and materials (T&M). Whereas the mechanics of fixed-price contracts are rather obvious — you pay for the whole project upfront — the T&M model begs a more detailed explanation.

How T&M Model Works

Time and materials contracts are usually woven tightly with the agile approach to software development.

As such, the project follows agile rules of development. After each two-week sprint, a part of the application can be tested and analyzed for feedback. This feedback shapes further development, which means the product’s shape can be adapted based on the learning you get after every demo release.

The core of the T&M model is therefore agility and flexibility.

You’re not locked in the scope of a fixed-price project, where it’s difficult to introduce any changes after kickoff.

In T&M, you can swiftly adjust the scope based on your growing knowledge of the product. The decision-making process is also not sealed at the start of the development, as is the case with fixed-price contracts.

Possible scenarios where scope flexibility is handy in product development:

  • UI tests (e.g., UX Cam) revealed there are too many elements in the interface, but user feedback indicates the need for another feature. This feature can improve ROI because it influences the purchase decision among early adopters.
  • Something happens in the middle of the project, e.g., a global shift to remote work, and you need to pivot and change the direction a notch. It can be done with relative efficiency in T&M contracts.

Now let’s deconstruct how T&M give you control over budget and quality.

How T&M Contracts Help You Control Budget

Predictable monthly cost

When you know the team’s composition and hourly allocation for a month, planning for the development spending in the budget is easier.

Besides, in the T&M approach, you’re being charged only for hours devoted solely to your project. Internal duties like company workshops and meetings shouldn’t be included. That said, you should have access to timesheets and be able to regularly verify the invoice status.

Adjustable design

Once the development begins but the design isn’t yet finished, changes in the design can influence the cost. This can go both ways, either increase or decrease the final cost.

For example, the greater the number and complexity of screens in a mobile app, the longer it takes to code them. So, whenever possible, the team you’re working with should suggest ready-made libraries that take less time to implement.

Good designers consult the design with developers during development. This lets them find solutions that cut development time but retain user experience.

No buffer for the software agency

In fixed-price contracts, software agencies usually add a buffer to set off any losses caused by a variety of internal and external factors.

In T&M contracts, a software agency doesn’t have to add a buffer to the final cost to ensure all unexpected expenses are covered. By principle, you only pay for the actual effort the team does on your project.


nfc enabled devices and a person

What Are NFC Tags? A Beginner's Guide

by
Maja Nowak
Maja Nowak
,
October 6, 2021

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

Read more

The popularity of integrated smart devices has skyrocketed in the last five years. As we get used to connected living, technologies like Near Field Communication (NFC) are streamlining our daily routine.

What Are NFC Tags?

Near Field Communication or NFC technology allows two NFC-enabled devices to communicate wirelessly. NFC facilitates data transfer between nearby mobile phones, laptops, tablets, and other electronics.

NFC is part RFID (radio-frequency identification) and part Bluetooth. Unlike RFID, NFC tags work in close proximity. NFC also doesn’t require manual discovery/sync as Bluetooth does.

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

Mobile wallets like Apple Pay, Samsung Pay, Android Pay, and contactless debit/credit cards are all powered by NFC technology.

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 the last three years.

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

Its popularity soared when companies realized that NFC was best suited for a “contactless” future. Topped with the pandemic that mandated social distancing, usage of NFC payments increased.

Contactless payments registered a 150% increase between March 2019 and June 2020 in the US alone. 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.

people playing with a mobile phone

What Are Push Notifications and How Can They Help Your Mobile App?

by
Maja Nowak
Maja Nowak
,
September 28, 2021

Let’s look at how push notifications can help a modern mobile app.

Read more

We’re exposed to upward of 10,000 ads per day. While this might be surprising news for some, it only proves just how difficult it is to catch a user’s attention. An ever-growing competition doesn’t help, forcing companies to find new ways to interact with users.

In the age of permission-based marketing, carefully executed push notifications are an amazing alternative to engage with customers. Let’s look at how push notifications can help a modern mobile app.

What Is a Push Notification?

A push notification is a short message that nudges a user to act. Introduced by Apple in 2009, push notifications have become a powerful user engagement tactic in recent years. Push notifications help catch a user’s attention in a busy, distracted world with low attention spans.

Push notifications notify users about an update, remind them of something, or prompt them to return to an app.

Push notification by the Calendar app on iOS. Source: Apple

Websites, web apps, mobile apps, and even wearable apps can all send push notifications. With people spending between 5 to 6 hours on average on mobile devices, mobile app notifications are an exciting opportunity for developers, marketers, and app publishers to spur users to action.

Modern mobile marketers utilize different types of push notifications to nudge users and increase engagement:

  • Ecommerce shops use personalized push to increase sales
  • Social media apps send real-time updates to keep users up to date
  • Media companies send content to deliver time-sensitive information

Types of Push Notifications

Time-sensitive push notifications: These push notifications create a sense of urgency among users. Great for launching limited-time deals or announcing flash sales in the ecommerce industry.

Reminders: Reminders help users avoid forgetting something important, like meeting someone, completing a daily task, etc. Great for to-do apps, personal assistants and health and wellness apps.

Personalized notifications: Personalized notifications are used for sending relevant content to mobile devices. For example, a personalized special offer to convince a user to buy something.

Triggered push notifications: These push notifications are a result of the user’s actions. A daily mobile notification about a workout streak after you sign up for a health or fitness challenge is a great example.

Transactional push notifications: Transactional notifications update users about their recent purchases, subscription renewal, order status, etc. Banking apps, fintech platforms, and ecommerce apps all use transactional notifications.

Abandoned cart push notifications: These push notifications remind customers to complete their purchase. Ecommerce platforms also use these notifications to remind buyers of the time-limited nature of a deal.

Rich push notifications: Rich notifications include video, GIFs, emojis, or images for grabbing attention and maximizing engagement. Online food delivery players use food images linked to restaurant menus to make users crave and order directly.

Informational push notifications: Informational notifications deliver information and updates in real-time. Think of news apps sending instant updates with world news, or a weather app updating you about weather.

Promotional push notifications: Apps send promotional and marketing offers to segmented user lists via push notifications. Promotional notifications can increase website hits and conversion rates, and also serve as an affordable marketing medium compared to PPC, social media, and other channels.

Location-based notifications: Users receive location-based notifications when they visit a particular location. Think of Google Maps telling you about the nearest places of interest based on your recent travel history or a dating app reminding you to find your date in a new city.

folder with mobile applications

Who's Using Flutter? App Examples Across Industries

by
Mat Zaleski
Mat Zaleski
,
September 23, 2021

Discover highly popular and successful mobile apps built with Flutter. Learn how Flutter's robust functionalities have contributed to their success.

Read more

Ever since Google introduced the Flutter mobile app SDK, it became the core of many prominent cross-platform mobile apps. With its rising popularity, apps built with Flutter continue to grow in numbers. Let’s look at some of the mobile apps built with Flutter and how Flutter's robust functionalities have contributed to their success.

How Many Flutter Apps Are There?

When Google released Flutter 1.20, reports indicated that the number of Flutter-built apps available on Play Store increased from 50,000 to 90,000. By the time Flutter 2 was released in March 2021, there were more than 150,000 Flutter apps on Play Store, and we can predict that it will continue to rise with its increasing popularity.

What Popular Apps Are Made with Flutter?

Xianyu by Alibaba

If you love shopping for second-hand goods, you might have heard about Xianyu. The Xianyu app, which belongs to Alibaba Group, is a popular shopping app in China that lets people buy and sell second-hand goods. This ecommerce platform has everything that individuals and business owners need. For example, product listings with images and descriptions, product marketing, merchandise browsing, and star rating.

When Xianyu was looking for a better mobile solution, the company looked for a tool that would let it build an app quickly. With their decision to use Flutter, the team created the intuitive Xianyu app for iOS and Android faster. Flutter also helped reduce screen loading time by half compared to the previous app. Moreover, the hot reload feature immensely helped accelerate development.

The Xianyu app now has more than 50 million downloads and 10 million active daily users.

Xianyu app by Alibaba
Xianyu app by Alibaba. Source: Pandaily

Google Stadia

Google Stadia is a cloud-based video game streaming service that lets you stream games on a smartphone, PC, laptop, or tablet. What made this app so popular among gamers?

In 2019, John McDole, the leading UI engineer at Google Stadia, said they used Flutter to build the Stadia mobile app. According to their blog post, the Stadia controller setup was one of the most complicated parts of the mobile app. But Flutter made writing and maintaining Stadia's controller setup a more manageable task.

Google Stadia App video game streaming
Google Stadia app is video game streaming. Source: Dribble

Google Ads

Google Ads is an online advertising platform. The team at Google Ads picked Flutter to ensure the app’s high performance and smooth real-time ad campaign tracking.

Google ads App for advertising

Google Ads app for advertising. Source: SEJ

eBay Motors

eBay Motors is a popular Flutter app among car enthusiasts. eBay Motors lets you buy and sell motor vehicles, purchase accessories and parts, comment on vehicle listings, and connect with other car enthusiasts.

By implementing Flutter into the mobile tech stack, the company managed to provide a consistent user experience across iOS and Android. Their app development team now has a single codebase to maintain and any new features can be deployed rapidly. Choosing Flutter improved the team’s productivity, exceeding their expectations.

eBay motors app built with flutter
eBay Motors app for buying and selling vehicles. Source: Flutter App World

New York Times

The New York Times used Flutter to develop their highly popular puzzle games on iOS, Android, Windows, Mac, and web with a single codebase. Today, millions of daily users play the games, which are one of the company's top revenue sources.

The popular Kenken puzzles from The New York Times.

My BMW App

Any BMW enthusiast knows how useful My BMW App is for any BMW vehicle. The app lets users lock or unlock the car, locate it, and monitor it using a 3-D view. 

Because of the Flutter framework, supporting a single codebase for iOS and Android has been a great experience for the developers at BMW. By March 2021, BMW was able to add new functionalities and make them available across five different continents. Thanks to its Flutter-based architecture, the BMW Group is becoming the leading automotive app developer and provider.

my BWM app
My BMW App gives drivers key info about their cars. Source: BMW

Topline Abbey Road Studios

Topline by Abbey Road Studios is the first music application that lets music creators save their ideas the moment they appear. The users can record music tracks, add lyrics, share and sync them to the cloud. 

The app was developed in ten weeks. And because Flutter made it possible to overcome the audio latency issue in Topline Android app, the achievement was published in Flutter Developer Stories. In 2018, Topline won the top UK app award. 

Realtor.com

Based in Santa Clara, California, Realtor.com is a popular real estate company and  the second most visited real estate listings website in 2021. Until mid-2019, their organizational model had two separate Android and iOS development teams and codebases, which became an overhead later. After recognizing the benefits of having a single codebase, the company started implementing new features using Flutter’s Add to App feature.

Adding Flutter to the existing mobile apps brought many benefits. For example, it freed their web developers from having to learn two new languages and frameworks. Moreover, the ability to develop features for both iOS and Android at once increased their productivity. Feature release and code changes now require only half developers than earlier.

Realtor.com app
Realtor.com app is a top real estate listing app. Source: Google Play

Sonos

Sonos is a popular speaker system that uses your WiFi to stream music from famous music streaming services like Spotify, Apple Music, etc. You can use the free Sonos app on your phone, tablet, laptop, or PC and set up the speaker system. The setting up part is the most daunting task, and Sonos developers have been trying to make that experience better for you.

In 2020, with a new release Sonos announced they integrated Flutter into their existing app. Now Sonos has a modern and reliable interface that includes animations and transitions that show users how to set up and interact with Sonos products.

Sonos App
Sonos app lets you connect your wifi to stream music. Source: The Verge

Fastic

Are you trying intermittent fasting (IF) to manage your weight? The Fastic app makes it easier to track your IF efforts.

With Flutter onboard, Fastic has a clean interface where you can plan and track your fasting tasks. The app has useful progress-tracking features like a fasting timer, nutrition tracker, water intake monitor, and step counter.

Fasting has over 17 million downloads, which makes it the number one fasting tracker app.

The Fastic app lets you track and monitor intermittent fasting. Source: Fastic

Watermaniac

Watermaniac enables you to track your daily water intake. You can see your intake history, set goals for your water intake, and set reminders. Using Flutter, the developers can make updates to the app quickly. Maintenance is also simple with Flutter. Depending on future needs, the application can be extended to work on other platforms, e.g., iOS.

Watermaniac App
Track your water intake using Watermaniac. Source: Ed Tech Fitness

Betterment

Betterment is an online investing company that provides investment and financial advice. The Betterment team needed a solution that would help them better manage their mobile codebase. With Flutter’s add-to-app feature, Betterment connected the new code to its native codebase without impacting the customer experience. 

Today Betterment has over 500,000 user accounts and 26 billion assets under management.

Betterment App
Betterment provides investment and financial advice. Source: Betterment

Music Tutor

Music Tutor helps you learn how to read sheet music and improve your listening skills and sight-reading abilities. You can develop your musical skills during timed sessions.

Thanks to Flutter, Music Tutor could be released to the market quickly. The framework makes the maintenance of the app for iOS and Android easy with a single codebase. Flutter also keeps the performance on an optimal, near-native level.

Music reader App
Music Tutor built with Flutter lets you learn and read sheet music easy. Source: Aptoide


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

For many of us, technology is a staple commodity. It permeates a growing number of households, and factories increasingly rely on highly specialized machinery. 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, and on-site service is often costly. Pandemic-related border closures and travel restrictions also limit the availability of specialists. In this context, 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 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.

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