Learn why Flutter is a good choice for cross-platform apps that run on mobile, desktop, and web.
Read moreFlutter 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.
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.
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.
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.
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.
Discover highly popular and successful mobile apps built with Flutter. Learn how Flutter's robust functionalities have contributed to their success.
Read moreWhen 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.
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:
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.
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 is a cloud-based video game streaming service that lets you stream games on a smartphone, PC, laptop, or tablet. What made this app so popular among gamers?
In 2019, John McDole, the leading UI engineer at Google Stadia, said they used Flutter to build the Stadia mobile app. According to their blog post, the Stadia controller setup was one of the most complicated parts of the mobile app. But Flutter made writing and maintaining Stadia's controller setup a more manageable task.
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.
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.
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.
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.
More on eBay Motors and Flutter
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.
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.
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.
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.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Rapid MVP development in Flutter lets you validate your idea quickly while minimizing development time and costs.
Read moreRapid 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 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.
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.
Check how your business can use augmented reality to improve customer experience, increase engagement, and boost brand promotion.
Read moreWith 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
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.
Businesses across industries are already using augmented reality solutions for a variety of purposes.
For example, AR is used to:
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.
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.
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 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.
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.
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.
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.
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.
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.
Explore the trends in mobile technologies in 2022 and what they have to offer for mobile app developers and smartphone users.
Read moreThe 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.
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.
Here are some of the top mobile app development trends.
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 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.
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.
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.
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.
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.
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.
Integrating mobile wallets into apps enables users to checkout quickly and seamlessly, with just a single tap.
The goal of an online retailer is to make their products available to buyers no matter where they are. M-commerce, or mobile commerce, is the buying and selling of goods and services through a mobile device, which helps online retailers reach their customers. M-commerce already accounts for over half of global online retail, which comes as no surprise given that mobile usage and searches are steadily taking over desktop.
Looking at these statistics, we might posit that m-commerce will dominate online retail in the nearest future. This calls for retailers to either optimize their websites to work on mobile devices or release m-commerce apps that offer much more in terms of customer engagement and experience.
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 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.
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.
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.
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.
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.
The healthcare industry is projected as one of the greatest beneficiaries of augmented reality tech. Learn how AR is already reshaping clinical practice.
Read moreOver 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.
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 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.
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.
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.
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.
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.
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.
Learn the differences between a proof of concept (POC), prototype, and minimum viable product (MVP) to know how to approach product development.
Read moreBuilding 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?
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.
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.
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.
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.
Learn what scalability is in mobile development and how to factor it into product creation.
Read moreSuccessful 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.
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.
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 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.
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.
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.
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.
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.
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.
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.
Your app’s architecture can have a big impact on app scalability. For example:
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.
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.
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:
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.
Ruby on Rails and Node.js are two popular mobile backend technologies that help developers build reliable and highly available apps.
Read moreChoosing 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.
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.
There are many methodologies to choose from in software development. Learn the principles of Waterfall, Agile, Design Thinking, and Lean Startup.
Read moreToday’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.
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:
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:
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.
Below is a brief description of each and a summary of how they complement one another in the software development paradigm.
The technology trends for 2022 are likely to be the continuation of the technological evolution and adoption that started in 2020.
Read moreOne 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 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.
In 2022, we’re likely to see the expansion of 5G networks and the doubling of devices with 5G capability.
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).
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.
What is the metaverse, and what does it mean for the internet, brands, and people.
Read moreDubbed 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.
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 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.
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.
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.
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.
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.
Learn what a mobile app backend is and whether your mobile product needs it.
Read moreA 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.
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:
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.
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).
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.
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.
Developing a project’s scope can be a challenge. Learn what to know before creating a scope for your product.
Read moreJust 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:
This article talks about the first example: when you need your idea to be translated into a more tangible form.
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.
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:
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.
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.
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.
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 moreIs 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?
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:
Taken together, these requirements translate into a system that consists of three loosely coupled subsystems:
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.
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.
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.
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.
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.
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.
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 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:
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 is a hotword wake word detection framework based on deep neural networks. The tool provides an option to create two types of models:
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 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.
Online services marketplaces have bloomed with the shift in consumer preferences toward digitally delivered services. Discover more about services marketplaces.
Read moreGlobal 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.
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.
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.
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.
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.
Mobile app development process is a multi-step journey. Find out what's involved in it.
Read moreWhile 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.
There are basically six steps involved in developing a mobile app. In the agile approach, they are repeatable — each iteration helps refine the product.
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.
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:
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.
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:
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.
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.
Read our guide on choosing a good software agency for more details.
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:
Read why flexibility in time and materials contracts can improve your product's lifetime value.
Read moreYour 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.
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.
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.
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.
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.
T&M contracts ensure cash flow and keep the software agency healthy. It’s the foundation for business continuity that promotes long-lasting partnerships.
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.
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.
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.
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.
Learn what makes estimating fixed-price projects practically impossible if you want to target shifting customer needs.
Read moreIn 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Read about T&M contracts to learn how they work and how they give you control over product development.
Read moreWhen 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.
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:
Now let’s deconstruct how a T&M contract gives you control over budget and quality.
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.
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.
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.