nomtek's blog

Looking for something more specific?
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
machinery working on a mobile app written in Flutter

Flutter Development — Great Pick for Digital Products

by
Maja Nowak
Maja Nowak
,
September 26, 2022

Learn why Flutter is a good choice for cross-platform apps that run on mobile, desktop, and web.

Read more

Flutter is a cost-effective choice for businesses that want to quickly validate their ideas but also need a long-term tech stack to scale in the future. You can use Flutter to reach a broader audience across devices, using a single codebase.

What Is Flutter?

Flutter is an SDK (software development kit) that developers use to write cross-platform apps. It means that a single codebase can work on multiple platforms — for example, mobile and web — without the need to build separate apps for each of these environments. 

Cross-platform development frameworks can be used to create high-quality digital products in a shorter time with smaller teams. Flutter has been a favorite among these tools, appreciated by many industry professionals. According to the 2022 Stack Overflow Survey, Flutter is the top most loved cross-platform technology.

Created by Google in 2017, Flutter quickly outraced its biggest competitors, React Native from Facebook and Xamarin from Microsoft. The main reasons why it’s the preferred environment by many developers are high performance, hot reloads, a big library of UI components and widgets, faster time-to-market, a helpful community, and a productive development process.

Is Flutter a programming language?

Flutter lets you create cross-platform apps using Dart, the programming language created by Google in 2011. Dart is object-oriented, has relatively easy syntax, and offers a set of handy tools that make the mobile app development process more productive. So, Flutter isn’t a programming language but an SDK that uses Dart to create cross-platform apps.

Dart is a relatively niche programming language compared to Java or JavaScript. However, it’s not difficult to learn and start working in Dart, especially for developers who already have a grasp on the syntax of other object-oriented and class-based languages.

Is Flutter frontend or backend?

Flutter is a framework that can be used for both frontend and backend development. However, most Flutter developers use it for the former. This is because Flutter makes it easy to create beautiful, interactive user interfaces. Since there are many great BaaS (backend-as-a-service) solutions that cooperate with Flutter, building the backend from scratch makes sense only in particular cases. For example, if the project has many custom features, a BaaS might not cover them all. But for most projects, the Firebase backend will be more than enough. Firebase is also a Google solution, so it complements Flutter well.

Which Companies Use Flutter?

Being a Google product, Flutter is the staple technology behind many of the company’s products: Google Pay, Stadia, and Ads. But the list of companies who trusted Flutter with mobile app development is much larger, encompassing brands such as Alibaba Group, eBay, Toyota, BMW, iRobot, and Tencent.

Want more examples? Here’s our list of 15 brands that trusted Flutter with their software needs.

logos of companies who use Flutter
Many companies trusted Flutter to build their apps. Source: Flutter.dev
folder with mobile applications

Companies Using Flutter to Build Their Products in 2022

by
Mat Zaleski
Mat Zaleski
,
August 1, 2022

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

Read more

When Google introduced Flutter in 2017, many companies picked the framework to power their applications across platforms (e.g., Android, iOS, desktop, web). 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.

If you want to know this technology better, read about Flutter development.

How Many Flutter Apps Are There?

With every major release, the number of Flutter apps increases. When Flutter 2 was released in March 2021, there were over 150,000 Flutter-based apps on Play Store alone. At the time of Flutter 3 launch in May 2022, we had 500,000 Flutter apps already out there. That's a 455% jump in usage over two years.

By comparison, in August 2020, there were “only” 90,000 Flutter-made apps.

Here’s Flutter’s evolution with key improvements to the framework:

Flutter’s roadmap from first release to Flutter 3
Flutter’s roadmap from first release to Flutter 3. Source: Tim Sneath’s Medium

What Popular Apps Are Made with Flutter?

Xianyu by Alibaba

Xianyu by Alibaba is an ecommerce app for buying and selling second-hand goods. The app is built in Flutter and is available on both iOS and Android.

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

In 2017, the team at Xianyu conducted an in-depth comparison between available cross-platform development platforms. The analysis favored Flutter, which offered a better development experience and faster testing capabilities compared to, for example, React Native.

At the time, Xianyou was struggling with hiring challenges and the shortage of talented iOS engineers, which hindered the company’s app development efforts. Flutter helped the team solve their recruitment problems. With Flutter, the company could adopt a flexible team structure. Also, apps built with Flutter performed better according to Xianyu’s internal test results.

Easy implementation, minimal learning curve, and hot reload feature helped Xianyu launch new product pages quickly. After initial success, Flutter became a standard part of Xianyu’s tech stack, speeding up development and improving the cross-platform experience for end-users.

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

More about Flutter and Xianyu by Alibaba

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?

Google Stadia App video game streaming app screen
Google Stadia app is video game streaming. Source: Dribbble

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.

John McDole google stadia twitter entry
John Dole's original tweet about implementing Flutter. Source: Twitter

According to the official blog, Flutter was instrumental in speeding up the development of the controller setup flow. Writing code in Flutter was faster and almost doubled the team’s productivity. Flutter also helped maintain cross-platform consistency for Google Stadia.

Google Stadia used the available custom Bluetooth plugin logic, which reduced the quantity of code to be written. The team was able to deploy features quickly across iOS and Android versions. Flutter’s shared codebase and hot reload capabilities increased the speed of development. Also, automated testing using Flutter was fast and reliable.

More on Stadia and Flutter

eBay Motors

eBay’s automobile portal eBay Motors, is one of the most popular apps built with Flutter. The app lets you buy and sell vehicles and accessories, discover new listings, and connect with car buyers and sellers.

ebay motors app screenshot
The eBay Motors mobile app. Source: Google Play

Hot reload and automated testing allowed them to test functional prototypes quickly. The development experience was seamless, and apps delivered a consistent user experience.

Flutter’s code-sharing capabilities sped up the platform-specific integration deployment process. The team used available Flutter plugins to integrate device APIs quickly.

comparison of flutter to native ios/android development at ebay
Flutter offered eBay motors the speed it sought. Source: eBay Tech Blog

According to the team, Flutter’s capabilities (shared code, hot reload, and “write-once use forever” philosophy) let the team deliver new features in record time.

benefits of flutter use in ebay app development
Flutter’s benefit analysis according to the eBay Motors team. Source: eBay Tech Blog

More on eBay Motors and Flutter

Google Ads

Google Ads is one of Google’s flagship products, and its mobile app is a great extension of the desktop version. Google Ads mobile lets ad managers track and control their campaigns on the go.

As the creator of Flutter, Google actively uses the framework to build its own products. Google Ads mobile has just the right ratio of desktop features to satisfy the needs of millions of users across the world. The app is fast and responsive, rendering graphics quickly for an optimal user experience.

Google also chose Flutter to tap into convenient scaling options and reduce the need to maintain two codebases for iOS and Android.

google ads screenshots of campaigns
Google Ads dashboard on a mobile app. Source: Play Store

New York Times

The New York Times used Flutter to create a cross-platform app for their readers. Read by millions every day, NYT was looking for new ways to engage their readers and improve the user experience.

screenshots of NYT KenKen puzzles that launched across multiple platforms in 2019
NYT KenKen puzzles launched across multiple platforms in 2019. Source:  YouTube

Flutter’s cross-platform capabilities helped NYT launch a platform-independent app — the popular KenKen puzzle.

Offering a seamless experience across platforms is always a challenge for developers. Flutter’s single codebase allowed the team to launch KenKen Puzzles for iOS, Android, Windows, macOS, and the web, simultaneously.

Flutter facilitated real-time iteration and saved time on building and running multiple betas. This let the NYT team launch a seamless version of KenKen puzzles across platforms quickly.

The app became the first commercial Flutter web prototype to debut at Google I/O 2019.

More on NYT and Flutter

Hamilton Muscial

The Hamilton app is great for all fans of the musical. By giving users additional ways to interact with favorite characters, Hamilton keeps engagement at a high level, ensuring fans stay active long after shows. 

The Hamilton team built the app in three months with Flutter. Flutter made it possible to release the app for iOS and Flutter with eye-pleasing designs and fast performance. The team considered other frameworks such as React Native or Xamarin but both lacked the tools available in Flutter.

screens from the hamilton app for musical
The Hamilton app features many user engagement features such as a lottery, trivia, or stickers. Source: Play Store

My BMW App

MyBMW app lets BMW owners interact with the car — lock, unlock, locate, monitor, and navigate using their mobile device. The app serves as a single-point solution for managing car ownership with good user experience.

MyBMW App screenshots where the app serves as a smart vehicle companion for BMW car owners
MyBMW App serves as a smart vehicle companion for BMW car owners. Source: BMW

My BMW app was primarily built for iOS for different vehicle models and variants. Though it had an Android version, feature discrepancy was a major challenge for BMW. BMW ownership experience was inconsistent for iOS and Android users affecting the brand image.

The company had two fundamental goals to tackle the “platform disparity” problem:

  • Launch a seamless app with the same functionalities across platforms without increasing costs.
  • Build a development platform for consistently releasing features without reducing development speed.

Flutter helped them tackle both challenges. BMW had several car models and brands under its umbrella, each requiring a dedicated app.

With Flutter, the BMW team launched the new MyBMW app to deliver a cohesive and seamless ownership experience. An internal platform powered automated builds and testing of unique app versions for different platforms, markets, and sub-brands. This saved BMW thousands of hours every month.

Thanks to Flutter, BMW deployed more than 10000 versions of 96 different variants of the My BMW app in record time. Plus, the problem of managing multiple code bases was resolved after migrating to Flutter

MyBMW App offered a consistent user experience across iOS and Android for all models. This improved app reliability and preserved the brand’s image in the eyes of the customers.

More on MyBMW App and Flutter

Topline Abbey Road Studios

Topline is a music production app for artists to save their music ideas. Artists can record tracks, add lyrics, compose creations, anywhere, anytime. The app saves everything on the cloud, so artists are never worried about losing their record-breaking beat.

screenshots of Topline Abbey Road Studios app
Topline app allows artists to record or compose creations, on-the-go. Source: Google Store

The app was launched by Abbey Road Studios for iOS, originally. The ideas' novelty and utility made the app an instant hit. Though an Android version was not planned initially, persistent demand made the developers look for options.

Building a music production app on Android is trickier than iOS due to audio latency issues. Limited resources and a small team added to their problems.

Choosing Flutter for cross-platform development made sense to the Topline team as they could launch both Android and iOS versions with a single codebase.

According to the Topline dev team, Flutter helped them quickly build, launch, and deploy without much hassle. The team added a neat swipe menu and launched Android and iOS versions in just 10 weeks — a seemingly impossible ordeal if they’d developed natively. The app became immensely popular and was officially featured on Google I/O 2018 and Flutter Live 2018. In 2018, Topline also won the Top UK App Award. 

More on Flutter and Topline

Reflectly

Reflectly supports mental health by encouraging users to write daily entries as a vent to nagging feelings or thoughts. The app uses AI to give personalized insights and ask users specific questions to help them dig deeper into the entries. Reflectly is more than a journal app and mood tracker — overtime it creates graphs with feelings analysis and sends personalized quotes to inspire users. 

screenshots with different features of the Reflectly app
Reflectly has smooth designs and swift screen transitions that create a pleasing user experience. Source: App Store

Reflectly was built in 2017 using React Native. The team had big expectations, which React Native didn’t meet. The animations were sluggish and the cross-platform development experience was subpar. In 2018, the team decided to try Flutter. Initial experiments delighted the team and Reflectly migrated to Flutter.

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 screenshot
Realtor.com app is a top real estate listing app. Source: Google Play

Sonos

Sonos lets you listen to music from popular streaming services like Spotify, Gaana, or Apple Music on any speaker. People use the free Sonos app on their mobile, tablet, PC, or laptop to connect their home speakers to streaming services.

screenshots of the sonos music app made in flutter
Sonos app streams music to any speaker. Source: The Verge

Sonos started using Flutter in 2020 for their app development endeavors. Their existing app had several issues, including a confusing (and buggy) speaker setup wizard.

Flutter increased the development capabilities of the Sonos team. The framework saved hundreds of hours and helped launch a refreshed and intuitive cross-platform app quickly. 

They solved all existing issues and developed additional features that improved the user experience. Sonos revamped the UI and offered assistive features for end-users across all platforms. Integration of sound, animations, transitions, and walkthroughs was easy with Flutter. 

The new features and UX solved the problems and delighted the app’s existing and growing user base.

More on Sonos and Flutter

Nubank

Catering to 48+ million people around the globe, Nubank is one of the largest independent digital banks on the planet. The app improves access to banking by reducing complexity in underserved markets.

screenshots of nubank Nubank gives people control and detailed overview of their finances
Nubank gives people control and detailed overview of their finances. Source: Google Play

As the company grew, it couldn’t find enough native mobile developers to roll out new features. The lack of quality talent led to disparities between features on different platforms.

After carefully evaluating options for seamless development across platforms, they chose Flutter. Flutter outperformed all platforms in terms of development experience, documentation, or stability. 

Choosing Flutter, Nubank hired local talent easily and onboarded them into the dev team within days instead of weeks. With Flutter, the team could launch new features simultaneously across platforms. 

The hot reload feature and an internal developer tool built using Flutter helped speed up testing capabilities. According to Reinaldo Moreira, Nubank’s mobile engineer, Flutter enabled them to launch life insurance solutions within just three months which would have taken at least a year.

Flutter brought consistency to their product development efforts. It also improved their build time (from overall 70.45 minutes to just 9.9 minutes) and increased the team’s performance. Also, a single codebase made it easier to manage bugs, monitor the app, and correlate app metrics with other systems.

More on Nubank and Flutter

Beike — Real Estate

Beike supports people in finding their dream home and enjoying a great virtual house hunting experience in China. Beike lists 187 million properties in China and offers virtual property tours via a mobile app.

screenshot of Beike app for real estate in china
People can use the Beike app to discover properties for rent or sale in China. Source: South China Morning Post

The company wanted a seamless app experience for its diverse user base. They aimed for a beautiful design with near-native performance on iOS and Android.

With Flutter, the company increased developer efficiency by up to 100%. Thanks to a single codebase, they could build essential features for iOS and Android simultaneously. Fast development shortened launch to a month.

According to the Beike dev team, Flutter let them scale without hiring a large team. Relying on the Flutter community, the team saved a lot of time thanks to several plugins, widgets, and solutions that sped up the development.

Today, the company has more than a dozen apps operating under the Beike umbrella. Together, the apps have helped 300 million families find and visualize their dream home.

More on Beike and Flutter

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.

a screenshot of betterment app dashboard made in flutter
Betterment provides investment and financial advice. Source: Betterment

Google Pay — Digital Payments 

Google Pay is one of the world’s most popular digital payments apps with more than 100 million users across the globe. The app allows users to pay for goods and services and adopt digital payments in some of the remotest corners of the world.

screenshots of Google Pay app
Google Pay lets users send and receive money and manage their finances. Source: Google Play

Every region or country expansion required its own set of unique features. An increasing user base on iOS and Android led to a wastage of development resources due to the duplication of efforts for every feature. Also, finding and hiring more engineers was a constant challenge, too. Choosing Flutter for development made natural sense.

Flutter helped Google Pay consolidate engineering resources and save on building dedicated teams. With a team of 150 engineers, the team could rewrite and test the existing app with 300+ features. Google Pay, built on Flutter, was launched to 100 million monthly active users in the US and Indian markets.

Thanks to Flutter, Google launched a slick, beautiful, and efficient app, with a 35% smaller codebase. According to Google, they were able to save 60-70% on development time due to a single codebase.

More on Google Pay and Flutter

woman making an app in flutter

How to Build a Flutter App in 30 Days

by
Maja Nowak
Maja Nowak
,
July 11, 2022

Rapid MVP development in Flutter lets you validate your idea quickly while minimizing development time and costs.

Read more

Rapid MVP development has one big benefit for entrepreneurs and companies — you get feedback quickly. When you know what your users think about your product, you’re that much better at refining the product and making it serve your users’ needs.

Below is a recipe for rapid MVP development without compromising quality.

Flutter Cuts Months of Development Time

Flutter and other cross-platform mobile development frameworks are excellent tools for code reuse.

Flutter also supports web app development, so the code can be reused in the Android, iOS, and web versions of the app.

From our estimates in Flutter projects, Flutter lets us reuse approximately 20% of the code for the mobile parts of the app (iOS & Android) and around 60% for the backend in a glue-code format.

Now how to put the Flutter development features to practice and build an MVP in Flutter in less than 30 days.

Step 1: Analyze the End User

First, do a detailed and thorough analysis of who the end users will be. When you know exactly who will be using the product, you can create a very small list of features, crafted in a way that helps the user achieve their goals.

This means, for example, limiting the number of login and account setup options.

Also, consider the first environment the app will be released to. For example, if it’s an internal product initially, limit login options to one and simplify account registration. You can have the app’s admin take care of new users via email address sign-up.

Ditch including a password reminder or a password reset feature. This will shave off plenty of development hours.

woman with hair color change via augmented reality app

Augmented Reality in Business: How and When to Use It

by
Maja Nowak
Maja Nowak
,
July 7, 2022

Check how your business can use augmented reality to improve customer experience, increase engagement, and boost brand promotion.

Read more

With relatively cheap implementation costs and easy accessibility, mobile AR is a great choice for a goal-oriented tech asset. Businesses can use augmented reality to increase customer engagement, improve brand promotion and awareness, and facilitate the creation of product demos.

Multiple high-profile companies are investing in AR tech. Among them are Qualcomm, Apple, Facebook, and Google. The two smartphone giants, Apple and Google, are particularly invested into developing their respective AR software development kits (SDK).

Update July 2022: There are almost 3.5 billion AR-enabled devices of any type, with 891 million Android smartphones and 1.25 billion iOS phones. However, the number of active users of AR is significantly lower. The potential for commercial adoption of this tech is still untapped

a graph with market penetration for mobile AR
Global market mobile AR penetration for 2021. Source: ARtillery

The AR market alone is blooming, with various forecasts projecting it to reach between 30 to 80 billion USD in the upcoming years (1, 2, 3).

No mainstream implementation of costly technology necessary to bring it to the users makes augmented reality that much more accessible. On the other hand, virtual reality or mixed reality headsets are still too expensive for such widespread adoption.

But what is all the fuss about? Can AR apps transform businesses and add tangible value? Check out how augmented reality is helping businesses.

How Is Augmented Reality Used in Business?

Businesses across industries are already using augmented reality solutions for a variety of purposes.

For example, AR is used to:

  • Improve brand awareness
  • Showcase product demos
  • Increase customer experience
  • Streamline workflows

How to Implement AR in Your Business Strategy?

Before jumping into the world of augmented reality tech, there are a few questions you have to answer.

If you want to include AR in your business strategy, first ask yourself what it is specifically that you want to achieve through an AR solution.

To give you an example: a problem can be something missing in the workflow.

Let’s say quality assurance at your company takes a lot of time to complete. The reason why might be that QA professionals need to comb through stacks of paper instructions to complete the process.

This inefficient approach results in a waste of time: seconds turn into minutes and minutes into hours. In the long term, it amounts to a significant drop in productivity.

Augmented reality could come in handy here by feeding all the steps and actions necessary to conduct a QA test into a mixed reality headset. The application would interact with and respond to the actions of the tester in real-time.

Here’s Renault’s road to quality assurance supported by mixed reality:

Wondering what companies use augmented reality? Let’s look at some of the use cases of augmented reality across industries and sectors.

Manufacturing

The manufacturing sector is expected to be one of the biggest beneficiaries of cross-reality solutions. Combined with the rollout of 5G connectivity that offers speeds 100x faster than 4G LTE, augmented reality can be a huge opportunity for manufacturing facilities to improve a number of their processes and workflows.

The upside of using AR in manufacturing facilities is that it’s a fraction of the cost compared to investing in complex hardware.

Besides, augmented reality is much more convenient to exchange information since there are no physical restrictions such as cables, devices. Data is fed to the AR application virtually.

Onboarding. With AR, employees just starting out in a manufacturing plant could see interactive hints and instructions on how to use machinery, with all important information layered over the physical equipment. AR onboarding can increase employee safety and shave off ramp-up time.

See an example of using AR for training purposes at BMW:

Productivity. AR headsets equipped with AI technology could help employees get from point A to point B in the most efficient fashion, leading to potential productivity gains in the long term. Moreover, engineers could send a request for a specific part by simply pointing at it.

Operational information. With AR elements overlaid in a factory, manufacturing employees could have easy access to information about the performance of existing equipment and infrastructure. For example, interactive gauges over different areas on the assembly line offer real-time insight for employees.

Safety. Mixed reality solutions can inform employees about dangers (e.g., areas closed for maintenance/cleaning). And when an emergency happens, workers in need of help or assistance could transmit an interactive beam with their whereabouts.

Automotive

Relying on complex technology and hardware, cars are becoming increasingly difficult to maintain for mechanics, who may not yet have the know-how necessary for servicing. The pace of the digital evolution in the automotive industry calls for improvements in various workflows and processes.

Remote assistance. AR-based remote assist lets engineers show other employees how to conduct complex repairs and service maintenance on vehicles.

Mercedes-Benz US is using Microsoft HoloLens 2 and Dynamics 365 Remote Assist to help technicians perform maintenance activities remotely with the assistance of an expert engineer.

Training. Cross-reality workshops are a safe and efficient way to share information. Engineers can enroll in digital training where they learn the workings of complex machinery and how to assemble various parts. Instructors show trainees how to disassemble an engine without actually putting it apart.

Porsche says it has tripled the usage of augmented reality in their workshops. “Tech Live Look” is Porsche’s in-house app for connecting technicians with experts to help solve complex car repairs. Porsche has been using augmented reality for years.

Tech Live Look from Porsche
Tech Live Look from Porsche. Source: Porsche

Tech Live Look speeds up car service per vehicle by up to 40%, significantly improving Porsche’s customer experience.

See how augmented reality can be used in education.

Prototyping. Every new iteration of a prototype can be costly for an automotive company. Car prototypes can cost upwards of $100,000. Immersive designs aid in iterating and improving on product designs without companies having to spend anything on expensive prototypes.

Now, $100,000 might not seem like a lot for big automotive companies, but when we’re talking about multiple iterations, it can amount to a nice sum.

BMW is already using AR in vehicle prototyping. AR lets workers know faster if a component will fit once the production starts. Using AR in that way decreases the need for performing many test setups.

Entertainment

Content consumption. Enhanced with augmented reality, written content can be expanded to include immersive experiences. AR can also serve as a visual aid in non-fiction writing to better illustrate concepts and events.

Board games. Traditional board games could use augmented reality to enhance the level of immersion for gamers. Physical boards can be transformed from 2D experiences into interactive 3D adventures — the board stays the same while the elements turn virtual.

people playing a real world board game with augmented reality elements
A real world board game with augmented reality elements. Source: Tilt Five via Kickstarter

Military

In the military, soldiers can use augmented reality that transforms sensor data into visual input to gain greater insight into their surroundings as well as to improve navigation.

Situational awareness. Sensors and cameras implemented in AR tech provide soldiers with more information regarding their surroundings. Other critical information can also be fed into a headset from headquarters.

Since 2018, the US Army has been looking into AR when developing the Integrated Virtual Augmentation System (IVAS). The IVAS provides mission-critical information to soldiers on the battlefield, for example, the system performs a quick object identification check.

Navigation. In aviation, augmented reality blends complex charts and maps into a pilot’s field of view, decreasing the need to check the information on displays.

An example of heads-up display (HUD) in aviation
An example of heads-up display (HUD) in aviation.

The US Army is exploring the possibilities of augmented reality goggles for combat dogs. The idea is to give dogs in the field more contextual information, along with visual indicators that tell dogs where to go.

Ordinarily, soldiers guide their dogs with lasers or hand gestures. During a mission, however, it might not be possible for the soldier to be close enough to the dog to give it commands. This is where AR goggles step in, letting soldiers guide their dogs through visual cues rendered in the glasses. Additionally, the goggles attached to the dog’s head transmit what the dog sees back to the soldier.

AR goggles for dogs — augmented reality technology in military
AR goggles for dogs. Source: US Army

Travel

Tenant instructions. Landlords renting apartments can use augmented reality to provide tenants with instructions. For example, to help tenants orient themselves around the apartment or explain how to use and locate different utilities.

Along with smart locks that eliminate the need for the landlord to hand the tenant the keys, augmented reality further decreases the necessity for contact.

Virtual AR Map Concept for rentals
AR Map Concept for rentals. Source: Isil Uzum via dribbble

Tenants simply put on a headset or turn on an app and explore the flat themselves with detailed instructions.

Immersive experiences. To advertise offered destinations and facilities, travel agencies can turn to augmented reality to create AR tour presentations. This way, customers get to experience interactive content and learn more about a destination. AR tour presentations also help travel agencies prepare offers with content customized to cater to different target audiences.

Moreover, to improve customer experience, travel agencies can equip their customers with advanced digital tour guides. These augmented reality guides can be further tweaked to include memorable and personalized experiences to tourists in a given location. For example, an AR guide could contain sightseeing places that match customer needs and preferences.

person carrying a phone with different hardware addons

Mobile Development Technologies

by
Maja Nowak
Maja Nowak
,
June 15, 2022

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

Read more

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

What Major Trends Are Occurring in Mobile Apps?

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

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

Here are some of the top mobile app development trends.

Beacon technology

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

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

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

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

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

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

Enterprise mobile apps

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

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

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

Geolocation-based apps

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

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

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

Folding display phones and apps

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

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

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

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

Mobile wallets

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

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

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

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

M-commerce

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

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

Biometric authentication

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

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

On-demand mobile apps

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

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

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

What Is the Future of Mobile App Development?

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

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

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

Are mobile developers in demand in 2023?

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

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

Low-code and no-code software might.

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

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

Which technology is best for mobile app development?

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

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

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

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

doctors viewing an augmented reality heart

Improving Clinical Practice with Augmented Reality

by
Maja Nowak
Maja Nowak
,
May 16, 2022

The healthcare industry is projected as one of the greatest beneficiaries of augmented reality tech. Learn how AR is already reshaping clinical practice.

Read more

Over the past century, clinical practice has undergone an almost unthinkable transformation. Just over 150 years ago, doctors didn’t even know they could transmit germs on their hands.

On maternity wards of the past, doctors would move from one female patient to the next, examining each without washing their hands in between, much less wearing gloves.

Needless to say, maternal death ran rampant.

So to think we can now use augmented reality during reconstructive surgery to locate bone fractures and blood vessels is quite an astonishing advancement.

Check out what else augmented reality makes possible in healthcare.

Fast Forward to the Twenty-First Century

The potential of AR is visible across industries. From education to manufacturing to automotive, augmented reality fills gaps in workflows, offering tangible opportunities for improvement.

For example, AR can be used to eliminate inefficiencies in manufacturing — the constant loss of focus and time necessary for the engineers to refer to paper instructions amounts to considerable losses over time.

If you've ever struggled with a paper instruction for a shiny new IKEA bookshelf, quality assurance in the automotive industry is like the IKEA situation times 1,782.4.

For extremely precise and complex tasks, the help of computers is invaluable. And the better the augmented reality technology gets, the more advanced its use cases in clinical practice.

In fact, the healthcare industry is projected to add a $47.9 billion boost to the global economy by 2022.

The role of AR/VR in the global economy
The role of AR/VR in the global economy. Source: PwC

The current clinical practice is evolving at light speed, but the sector still has multiple areas in need of solutions that can benefit from technology.

AR is an entirely new concept to you? Read our AR guide to learn the basics of augmented reality.

AR in Surgery

Augmented Reality Reconstructive Surgery

Reconstructive surgery calls for a high precision to yield the expected results and improve a patient's recovery time.

Augmented reality goggles can be used to feed information from CT scans and MRI images directly into a surgeon’s field of vision. This way, the surgeon knows where blood vessels and bone fractures are and can increase the precision of the incision during reconstructive surgery.

How Does It Work?

First, surgeons perform diagnostic imaging on the patient. Then, the data from CT scans, MRI, and X-rays is digitized and transformed into a 3D model, which shows the location of soft tissues, blood vessels, and bones.

This rendering is then fed into the AR device. During the surgery, the 3D rendering is mapped on a patient’s body, providing the surgeon with critical information.

CTA images of a leg rendered into an AR model
CTA images are rendered into an AR model. Source: European Radiology Experimental

Thanks to this approach, surgeons don’t have to look back and forth between the patient and the images, or rely on audible Doppler ultrasound, which is currently the prevalent method during reconstructive surgeries.

The technology is far from mature, with many challenges waiting in line before mainstream adoption is possible.

For example, transforming information from CT scans and MRI into 3D models is time consuming — the ER won’t benefit from AR, at least for now.

Aumented Reality in Neurosurgery

Neurosurgeons at Johns Hopkins used augmented reality during spinal fusion surgery on June 8, 2020. Two days later, surgeons relied on an AR headset during the removal of a cancerous tumor from the spine of another patient. Both procedures were conducted using a pilot augmented reality headset from Augmedics.

AR in Spine Surgery

In 2021, Dr. Harvinder Sandhu at Stamford Health performed a successful spinal surgery using AR goggles. The AR technology uses data from MRIs to overlay critical tissue around a patient's spine. Provided with detailed data projected directly on the retina, the doctor is able to perform more precise surgeries that speed up recovery and decrease the likelihood of infection.

a prototype of a mobile phone

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

by
Maja Nowak
Maja Nowak
,
May 9, 2022

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

Read more

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

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

POC vs. MVP vs. Prototype: Short Definition

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

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

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

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

What Is a Proof of Concept?

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

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

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

Features of a proof of concept

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

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

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

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

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

Example of a proof of concept

PONS XR Interpreter

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

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

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


two people playing with a mobile phone

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

by
Maja Nowak
Maja Nowak
,
April 12, 2022

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

Read more

Successful products that solve user problems can create significant user demand over time. Apps with many users and heavy traffic should cater to a growing user base with flawless performance and user experience. If the app fails to withhold the demand with expected quality, it most likely won’t stay on the market long.

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

What Is Scalability in App Development?

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

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

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

Vertical scaling

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

Horizontal scaling

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

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

How Do You Scale a Mobile App?

Identify the scalability requirements

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

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

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

Identify where the scalability issues arise

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

Choose the right tech stack

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

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

Decide on the right infrastructure

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

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

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

Use caching wherever possible

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

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

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

Choose the right architectural pattern

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

The three-tiered architecture

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

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

The microservice architecture

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

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

Scaling databases

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

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

Use Mobile Content Delivery Networks (CDNs)

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

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

node.js vs ruby on rails

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

by
Maja Nowak
Maja Nowak
,
March 30, 2022

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

Read more

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

What Is Ruby on Rails (RoR)?

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

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


waterfall design thinking lean startup agile

What Is Waterfall vs. Design Thinking, Lean Startup, and Agile

by
Maja Nowak
Maja Nowak
,
February 22, 2022

There are many methodologies to choose from in software development. Learn the principles of Waterfall, Agile, Design Thinking, and Lean Startup.

Read more

Today’s software development utilizes many methodologies to facilitate building applications and software solutions. We have Waterfall, Agile, Design Thinking, or Lean Startup as well as their combinations and variations. What are the principles of these methodologies? How do they support software development? Let’s explore the differences between the Waterfall methodology and a combined approach that includes Design Thinking, Lean Startup, and Agile.

Waterfall

The Waterfall approach to software development describes a sequential process for building software—i.e., one step has to be completed before the next can begin.

In the Waterfall methodology, the project scope, outcome, and requirements are documented fully before any development begins. The documents, among many other aspects, include functional specifics, user interfaces, architecture, data structure.

The traditional Waterfall project structure is split into six phases:

  1. Requirements and analysis. Collect client requirements pertaining to the product. The information collected during this phase should be enough to validate the product idea and let developers grasp the client’s intended vision of the product. The following is established: budget, risks, completion date, dependencies, and success metrics.
  2. Design. Agree on a programming language, specific design elements, system design. Documents produced during this phase will be the framework for the implementation (coding) phase.
  3. Implementation. Turn client requirements and design documents into the software.
  4. Testing. Test the software for bugs and check if the goals from the requirements document are met.
  5. Deployment. Release the software to the client.
  6. Maintenance. Fix any problems found once the software has been released to the customers.
step-by-step waterfall methodology
In the Waterfall methodology, a project's structure is split into six phases.

Benefits

  • Better manageability. Because each step is documented and deliverables outlined upfront, it’s easier to manage the project.
  • Fixed price and deadline. The cost and delivery date can be determined with a high degree of accuracy.
  • Clear instructions. Developers and designers involved in the project know exactly what to do and when to do it. With detailed documentation available, the project can be completed by different teams.

Drawbacks

  • Once the development begins, it’s difficult to adapt the project to any changes in requirements or new market insights. Whenever significant changes are needed, the project has to go through the requirement and design phases.
  • Requirements don’t always reflect real user needs.
  • Because users receive the software only once it’s finished, it’s difficult to gather any actionable feedback beforehand and adjust the product to better align with user needs. This increases the risk of project failure caused by a potential lack of market need or low satisfaction.
  • Projects relying on technologies that have frequent release-cycles need to be updated often to reflect the changes. As a result, the estimations in documentation will be less accurate.

Use Cases for Waterfall

Taking into consideration the principles of Waterfall and its resulting pros and cons, this methodology is best for building projects with clear specifications and client requirements. We can think of using Waterfall with projects that are simple, predictable, and well-defined.

For example, the Waterfall approach can be used when adjusting an application to meet specific regulations (e.g., when developing medical systems), or when integrating software with existing infrastructure—e.g., banking systems. In both cases, clear and detailed documentation and specifications are critical to successful project completion.

Here are specific project features that determine if the Waterfall approach is a good fit:

  • Product definition is stable.
  • Technology is understood.
  • There are no ambiguous requirements.
  • Ample resources with required expertise are available freely.
  • The project is short.

The Need for Different Software Development Methods

The Waterfall methodology has been around for decades, initially serving as an essential and structured approach to software development. In the 1990s, however, the Internet technology began evolving rapidly — the Waterfall approach proved inefficient in the increasingly dynamic and complex environment.

There was a pressing need for software development methods that could address the inefficiencies of Waterfall’s linear approach to building software. As a result of that need and through years of refinement, a combined approach for the entire product development life cycle was created.

The combined approach includes methods and processes that come from different backgrounds to together form a mindset for the adaptive building of products, as opposed to following a rigid project plan.

  • Industrial design -> Design Thinking
  • Manufacturing -> Lean Startup
  • Software development -> Agile

Below is a brief description of each and a summary of how they complement one another in the software development paradigm.

human and robot hands touching

Technology Trends for 2022

by
Maja Nowak
Maja Nowak
,
February 2, 2022

The technology trends for 2022 are likely to be the continuation of the technological evolution and adoption that started in 2020.

Read more

One thing in 2021 was certain — the uncertainty. All the trends and projections announced for 2021 have either been modified or their emergence delayed. But in technology, we’ve seen an unprecedented evolution.

E-commerce sales soared, online education matured, and on-demand services rose to huge popularity. To meet the sudden customer demand, companies across the globe have increased their spending on digital transformation.

This demand has in turn spurred the growth and branching out of multiple related services. Will 2022 be the continuation of that expansion or maybe other technologies will see increased adoption?

5G Fuels the World

5G is a gateway to the realm of a mind-bending technological revolution. That’s not an overstatement — most of the technology trends of the future will be relying on that connectivity.

According to the annual state of the global mobile economy report by GSMA, by 2025, 5G will amount to 20% of global connectivity. And while the rollout pace isn’t yet astonishing, the hype around 5G keeps the public’s interest and curiosity up.

5G is rolling out for good
5G is rolling out for good.

In 2022, we’re likely to see the expansion of 5G networks and the doubling of devices with 5G capability.

Internet of Behavior

Activity trackers, phones, smartglasses, cars, cameras, and plenty of other devices collect data about you and your close ones. From your physical geographic location to your browsing history to even face recognition, companies have data galore about you.

The analysis of this highly personal data (your behavior, interests, and preferences) gathered by the Internet of Things devices is dubbed the Internet of Behavior (IoB).

internet of behavior and internet of things
Connected everything — an increasing number of devices can collect and share data.

The more we use online services and connected devices the larger amount of personal data we leave behind. Companies know very well about our political preferences, where we live, what we do, what we believe in, what our interests are, who we associate with, etc.

This data along with a slew of information coming from devices that are yet to enter the market (e.g., smartglasses that know exactly where you look at any given moment) will give businesses an unprecedented wealth of information to use to influence our behavior.

But the IoB also means several customer benefits — for example, the more data about driving patterns is collected from connected cars, the better driving experiences the automotive companies can build.

In 2022, we’re likely to see companies use the data from connected devices to create extremely personalized offers and products.

a digital city in the metaverse

Explaining the Metaverse — All You Need to Know

by
Kasia Gruszka
Kasia Gruszka
,
January 14, 2022

What is the metaverse, and what does it mean for the internet, brands, and people.

Read more

Dubbed by many as the future of the internet, the metaverse combines the visual with the immersive. The term has entered the tech industry boldly, skyrocketing in popularity in the last two years. And while the metaverse doesn’t exist yet, we already have many platforms with metaverse characteristics. So what is the metaverse, and what does it mean for the internet, brands, and people? Let’s find out.

What Is the Metaverse?

The metaverse doesn’t have a finite definition (yet).

“While defining the term is not easy, one thing is probably true. The term will not be defined by one single person or company, it will be defined by many, and it will evolve,” says Cathy Hackl, tech expert at Forbes.

That said, here’s a bulleted summary of what the metaverse is shaping up to be:

  • The metaverse is a network of persistent and interoperable worlds and experiences with real-time 3D content.
  • The metaverse might become a new way of experiencing and interacting with life enriched with a virtual layer.
  • Many see the metaverse as the successor of the internet.
  • The core concept behind the metaverse is decentralization — users and user-generated content are the driving force of the metaverse.

The metaverse as the internet:

Likening the metaverse to the internet makes it easier to explain what the metaverse is. There’s only one metaverse, and there’s only one internet. There can be numerous worlds in the metaverse (just like websites on the internet). Users will enter the metaverse to socialize, gain information, shop, communicate, work, play, and all other things that can be done over the internet today.

What isn’t the metaverse?

To simplify what the metaverse means, it’s worth explaining first what the metaverse is not. Contrary to what many believe, the metaverse is not only virtual reality and doesn’t have to be delivered solely via an immersive headset. In fact, the metaverse is device agnostic, meaning it can be accessed through a smartphone, laptop, augmented reality glasses, or headset.

Main Characteristics of the Metaverse

  • Trustless and decentralized
  • Open
  • Social
  • Interoperable
  • Persistent

Trustless and decentralized — the metaverse shouldn’t have a single company as the decision-maker and the holder of rights. The users should be in control of the metaverse — it’s no longer about the Big Tech to deliver and maintain the infrastructure. In essence, the metaverse should be co-created and co-governed by the users.

Open — the technology powering the metaverse should be open-source and enable users to participate in the creation of it. Many see the metaverse as an opportunity for people of all backgrounds to not only express themselves and communicate but also create and profit from the content they create (without intermediaries).

Interoperable — one of the core components of the metaverse is creating and using assets that can be run across platforms operating within the metaverse ecosystem. For example, an item of digital clothing should be transferable between metaverse experiences — there’s no platform lock-in for digital items.

Social — the metaverse enables social interaction with other users regardless of their age, background, or financial status. The social aspect of the metaverse gives people the opportunity to fully experience the world no matter their location.

Persistent — the reality in the metaverse is persistent and doesn’t stop after the user logs out. In other words, the sun rises and sets at the same hour for every user.

Is the metaverse a game?

No, the metaverse is not simply a game — it’s a digital world with gaming experiences. But the metaverse will most likely rely on the tech built by gaming giants — they have the technology that enables real-time 3D and user interaction with that virtual layer.

For example, MMORPGs (massively multiplayer online role-playing games) share many metaverse characteristics. Fortnite, Roblox, or Minecraft are platforms where users can interact, socialize, trade, and have fun.

However, users can’t migrate freely from one platform to the next without first signing out and logging in. Even when playing Roblox levels users have to switch between them.

Is the metaverse Web 3.0?

The discussions of the metaverse go hand in hand with the concept of Web 3.0 — where the internet as we know it today transforms into a decentralized experience not governed by tech giants. In web 3.0, data ownership is distributed among users. However, the metaverse isn’t synonymous with web 3.0.

Web 3.0 defines the next iteration of the internet as owned and created by users, but the metaverse is only one way how it can be achieved.

the backend communicating with the frontend

What Is a Mobile App Backend and Does Your Mobile Application Need It?

by
Mat Zaleski
Mat Zaleski
,
December 23, 2021

Learn what a mobile app backend is and whether your mobile product needs it.

Read more

A rocket is nothing without a powerful engine. The same goes for a mobile app — without a functional backend, an app will have a limited capability and user experience, no matter how engaging the UI. The backend facilitates data exchange and communication, helping a mobile app perform compute-intensive tasks.

Let’s look at what a mobile application backend is, how it works, and what types there are. We’ll also answer the question when your mobile product needs a backend.

What Is Mobile App Backend?

A mobile app backend is the brain of a mobile app. Among other things, the backend takes care of data processing, storage, and security. 

The backend operates on the server, and it’s that part of the app that you don’t see, but your mobile app depends on it for functionality.

A mobile backend takes care of:

  • Data processing and storage independent of a smartphone’s capabilities
  • Data sync and sharing across multiple devices and platforms
  • Content updates within the mobile app
  • Management of the app’s business logic
  • Authorization and authentication that control access to data

Heavy processing operations (e.g., retrieving songs when you open a Spotify playlist) need a mobile app backend because of the limited capabilities of smartphones.

The mobile backend runs on a remote server and communicates with the mobile app to deliver a feature to end-users.

iceberg depicting the frontend and the backend
The backend works behind the scenes while the frontend is visible to end-users.

The backend, unlike the frontend, runs without a graphical interface. A backend is an app designed for communication among machines and servers. 

The mobile app backend server performs remote tasks and processes information to make the frontend app experience better. A hosted backend stays on remote servers that developers access via APIs (application public interface).

How Does a Mobile Backend Work?

A mobile backend communicates with the app’s frontend to answer user requests. Together, they’re the soul (backend) and the body (frontend) of any modern mobile app.

backend architecture explained
Communication chain between frontend and backend of a mobile app. Source: YouTube 

Without the backend, the frontend is non-functional and without the frontend, an app wouldn’t be understood by the end-user (because there’s no visual layer).

But how does the communication happen? How does a machine-based backend understand what a human needs?

The answer lies in two-way communication via APIs.

When a user taps on the screen, the frontend sends a request to the backend. The backend retrieves the information required to perform a function via an API and sends back the final output to the frontend. 

Let’s take an example.

Say, you want to buy your favorite pair of shoes on Amazon. You click the buy now button and go to a checkout page to pick the payment option.

The frontend (Amazon app) sends a request to its backend servers to connect to the external payment gateway. The result: you see a banking payment page asking for your payment credentials like credit card information, address, CVV, etc.

The API connects the backend and the frontend to the external service (payment provider) to display the payment page and pay for the order. The two-way communication ensures that the app keeps functioning seamlessly and offers the desired solution to the end-user, which in this case is to buy a pair of shoes.

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:

  • When you want a vendor to develop the product and support you during the ideation and design phase.
  • 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 github screenshot

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 services. 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 2022?

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.

a forecast with consumer spending in 2021 and 2022
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.

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 in product discovery

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:

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

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


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 a T&M contract gives 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.