Learn why Flutter is a good choice for cross-platform apps that run on mobile, desktop, and web.Read more
Flutter is a cost-effective choice for businesses that want to quickly validate their ideas but also need a long-term tech stack to scale in the future. You can use Flutter to reach a broader audience across devices, using a single codebase.
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.
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 more
When Google introduced Flutter in 2017, many companies picked the framework to power their applications across platforms (e.g., Android, iOS, desktop, web). With its rising popularity, apps built with Flutter continue to grow in numbers. Let’s look at some of the mobile apps built with Flutter and how Flutter's robust functionalities have contributed to their success.
If you want to know this technology better, read about Flutter development.
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.
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.
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 more
Rapid MVP development has one big benefit for entrepreneurs and companies — you get feedback quickly. When you know what your users think about your product, you’re that much better at refining the product and making it serve your users’ needs.
Below is a recipe for rapid MVP development without compromising quality.
Flutter 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 Flutter’s 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 more
With relatively cheap implementation costs and easy accessibility, mobile AR is a great choice for a goal-oriented tech asset. Businesses can use augmented reality to increase customer engagement, improve brand promotion and awareness, and facilitate the creation of product demos.
Multiple high-profile companies are investing in AR tech. Among them are Qualcomm, Apple, Facebook, and Google.
Both Apple and Google are heavily developing their respective AR software development kits (SDK). ARInsider projects that by the end of 2020, there will be over 2.5 million AR-compatible mobile devices out there compared to only 500 million active users. There’s a huge potential for commercial adoption of this tech.
Update October 2021: As of 2021, there are roughly 2 billion AR-enabled devices, with 851 million Android smartphones and 1.25 billion iOS phones.
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.
Houzz enhances its selling and reach capabilities with AR, to help customers better visualize how a product would look like in their house. A growing selection of products available for an AR viewing helps Houzz fuel sales and increase engagement.
The 3D view features tiles, furniture, lighting, and other accessories. Houzz’s CEO Adi Tatarko said that users who used the My Room 3D tool were 11 times more likely to make a purchase.
Once you’ve set up AR capability inside an ecommerce app, creating and adding 3D models of products is a relatively inexpensive way to bring AR to your customers.
Great-looking shoes don’t always look equally great on feet. Wanna Kicks gives its customers a chance to try how a pair of sneakers would look on their feet before making a purchase.
There’s still a huge opportunity in retail AR that will most likely be explored in the upcoming years. For example, customers could create a 3D image of their body to be used across shops for better fitting experiences. And I’m not talking here about a simple superimposition of an image of a shirt onto the picture of your body. A 3D scan would reflect how the material flows on different body shapes.
Now that’s a piece of app that I absolutely love. When I first downloaded Google Lens, I had this nagging urge to g-lense everything around me. And even if not all the stuff I g-lensed was properly identified (for some reason, my sleeping cat’s paw got tagged as a rat), Google Lens has proved to be really useful in real-life situations where you need to translate or identify something.
But that’s just one side of Google Lens. The app can also be used as a powerful marketing tool. For example, by scanning a product, customers can check product reviews, product information, or price comparison. Brands can offer coupons or promos hidden inside ads. The key is to provide plenty of info that can be delivered to your customers via Google Lens.
Moreover, ads can be further explored and give a greater background when a user simply scans a billboard, no QR codes involved.
Learn what NFC tags are and how they are used beyond contactless payments.Read more
The popularity of smart devices has skyrocketed in recent years. And the more powerful smart devices become, the more we can use them to interact with our environment. A seamless user experience for connected living needs efficient solutions to transmit data and trigger events — near-field communication (NFC) is one of the elements that enables devices to connect with each other to exchange data.
Near-field communication technology allows two devices to communicate wirelessly. The technology can be embedded in a small tag to facilitate data transfer between nearby mobile phones, laptops, tablets, and other electronics. NFC tags are often compared to RFID, but the two are different.
The RIFD technology (radio-frequency identification) is the predecessor of NFC. RFID tags are most commonly known from anti-theft systems attached to the more expensive products in stores. RIFD has been successfuly used to track inventory in a variety of sectors and industries, e.g., manufacturing, healthcare, automotive, or apparel — wherever there's a need to track items.
NFC is part RFID (radio-frequency identification) and part Bluetooth. Unlike RFID, NFC tags work in close proximity, giving users more precision. NFC also doesn’t require manual device discovery and synchronization as Bluetooth Low Energy does. The biggest difference between RFID and NFC is the communication method.
RFID tags have only a one-way communication method, meaning an RFID-enabled item sends a signal to an RFID reader.
NFC devices have a one- and two-way communication capability, which gives the NFC technology an upper hand in use cases where transactions are dependent on data from two devices (e.g., card payments). Mobile wallets like Apple Pay, Samsung Pay, Android Pay, and other contactless payment solutions are all powered by the NFC technology.
So in essence, RFID tags are great for inventory tracking and NFC tags work well for enhanced communication.
NFC has been on the technology scene for years — Nokia launched the first NFC-enabled phone in 2006. But this technology only gained momentum in recent years.
NFC popularity soared when companies recognized NFC as a enabler of a contactless future.
Contactless payments registered a 150% increase between March 2019 and June 2020 in the US alone, partially caused by the pandemic. Contactless tech, originally designed to handle small purchases, is now one of the most popular mobile payment methods.
Today, there are more than 2 billion NFC-enabled devices and 20% of the world’s population has access to NFC.
But what is an NFC tag? How does NFC work? What are the advantages of using NFC? Are NFC payments secure? How are businesses using NFC technology?
Let’s look at all these questions and explore some common applications for NFC tech.
Flutter and React Native are two leading tools for cross-platform mobile development. Learn about their differences and the best use cases for each.Read more
Flutter and React Native are two leading tools for cross-platform mobile development. Learn about their differences and the best use cases for each.
Flutter is a user interface (UI) software development kit released by Google in 2018. Flutter lets you build cross-platform applications for a number of platforms.
As of May 2021, Flutter was getting closer to overtaking React Native in terms of popularity and usage. But let’s look at the stats.
Interestingly, in 2019, Flutter was almost at the bottom of the popularity contest. So the technology is catching up quite nimbly.
UPDATE, June 2022:
Submissions for the Stack Overflow Survey 2022 have closed for this year so we can soon expect an update of the Flutter vs. React Native debate among developers using these technologies in commercial projects and beyond.
A look at Google Trends results reveals a fierce battle between the two.
After gaining on React Native for over two years, in April 2020, Flutter became a more frequently searched query globally and continues to be so in 2022.
And yet, in the US, the battle still goes on and is as fierce as ever, with axes and gunpowder spoiling the air galore, especially when you look at the trend curve starting from January 2021. However, Flutter currently has a slight lead over React Native.
Statista seemed to confirm the global trend in the Flutter vs. React Native battle in 2020. In the survey made with almost 20,000 respondents, Flutter was going head to head with React Native.
UPDATE, July 2021:
The latest research from Statista places Flutter as the leading cross-platform mobile development framework in 2021. Flutter surpasses React Native by 4% (42% for Flutter against 38% for React Native). Still, it's fair to say the two technologies are almost equally popular.
What makes these two technologies so popular? Let's see.
The healthcare industry is projected as one of the greatest beneficiaries of augmented reality tech. Learn how AR is already reshaping clinical practice.Read more
Over the past century, clinical practice has undergone an almost unthinkable transformation. Just over 150 years ago, doctors didn’t even know they could transmit germs on their hands.
On maternity wards of the past, doctors would move from one female patient to the next, examining each without washing their hands in between, much less wearing gloves.
Needless to say, maternal death ran rampant.
So to think we can now use augmented reality during reconstructive surgery to locate bone fractures and blood vessels is quite an astonishing advancement.
Check out what else augmented reality makes possible in healthcare.
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 more
Building good digital products is a combination of being innovative and following tested mobile app development methods. A proof of concept (POC), prototype, and minimum viable product (MVP) help test a product idea before you spend funds on product development.
What are the differences between a POC, prototype, and MVP, and how to choose the one that fits your project best?
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 more
Successful products that solve user problems can create significant user demand over time. Apps with many users and heavy traffic should cater to a growing user base with flawless performance and user experience. If the app fails to withhold the demand with expected quality, it most likely won’t stay on the market long.
To make sure your app can serve a large number of users, you have to include scalability in your app’s discovery stage to keep it highly available and reliable as it grows. Learn what scalability is in mobile development and how to factor it into product creation.
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 more
Choosing a tech stack for a mobile application backend is key to building a product with great performance. Ruby on Rails and Node.js are two popular mobile backend technologies that help developers build reliable and highly available apps. This article will explain the differences between them with example use cases for each.
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.
Explore the trends in mobile technologies in 2022 and what they have to offer for mobile app developers and smartphone users.Read more
The future of mobile is bright and the market seems resistant to saturation. In 2022, almost 1.4 billion smartphones are expected to be sold worldwide. In this blog post, we look at the trends in mobile technologies in 2022 and what they have to offer for mobile app developers and smartphone users.
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 2022, it's projected it'll reach an astonishing $6.3 trillion or higher.
One of the likely reasons for this growth is that people turn to mobile devices for an increasing number of activities.
With new advances in mobile tech and other areas that can be incorporated into mobile environments such as 3D printing, machine learning, or ARM-based systems, there’s still plenty of disruption to be observed.
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.
There are many methodologies to choose from in software development. Learn the principles of Waterfall, Agile, Design Thinking, and Lean Startup.Read more
Today’s software development utilizes many methodologies to facilitate building applications and software solutions. We have Waterfall, Agile, Design Thinking, or Lean Startup as well as their combinations and variations. What are the principles of these methodologies? How do they support software development? Let’s explore the differences between the Waterfall methodology and a combined approach that includes Design Thinking, Lean Startup, and Agile.
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 more
One thing in 2021 was certain — the uncertainty. All the trends and projections announced for 2021 have either been modified or their emergence delayed. But in technology, we’ve seen an unprecedented evolution.
E-commerce sales soared, online education matured, and on-demand services rose to huge popularity. To meet the sudden customer demand, companies across the globe have increased their spending on digital transformation.
This demand has in turn spurred the growth and branching out of multiple related services. Will 2022 be the continuation of that expansion or maybe other technologies will see increased adoption?
5G 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 more
Dubbed by many as the future of the internet, the metaverse combines the visual with the immersive. The term has entered the tech industry boldly, skyrocketing in popularity in the last two years. And while the metaverse doesn’t exist yet, we already have many platforms with metaverse characteristics. So what is the metaverse, and what does it mean for the internet, brands, and people? Let’s find out.
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 more
A rocket is nothing without a powerful engine. The same goes for a mobile app — without a functional backend, an app will have a limited capability and user experience, no matter how engaging the UI. The backend facilitates data exchange and communication, helping a mobile app perform compute-intensive tasks.
Let’s look at what a mobile application backend is, how it works, and what types there are. We’ll also answer the question when your mobile product needs a backend.
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 more
Just like it takes time, perseverance, and patience to build your character, developing a project’s scope can sometimes be similarly challenging.
There are two most common ways of cooperation with vendors:
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 more
Is there a better way to experience the convenience of a smartphone than through a mobile voice assistant? Not really. Mobile voice assistants are extremely useful. But they can also be tedious — I mean, how many times a day do you have to say “Ok Google” or “Hey Siri” to prompt the assistant?
From a business perspective, these prompting commands are also generic. Before using your product, customers have to say the name of someone else’s brand. An obvious alternative is a custom mobile voice assistant with specific prompts that lets companies create a branded experience. The key question is whether such a solution can be built and what does it take to develop a custom mobile voice assistant?
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.
Online services marketplaces have bloomed with the shift in consumer preferences toward digitally delivered services. Discover more about services marketplaces.Read more
Global village, ocean of talent, or the universe of opportunities — however you want to call it, we’re sailing away from the physical world toward the digital. People shop on mcommerce platforms, consume digital goods, and work and communicate on mobile devices. The digital shift is palpable, and the demand for online services is at an all-time high.
Building an online services marketplace can be an inspiring business opportunity, letting you tap into an increasing number of markets.
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.
Learn about mobile marketplaces, their types, and opportunities in the mcommerce industry.Read more
Despite the global drop in consumption during COVID-19, the rapidly shifting consumer behavior gave online commerce a boost. Mobile commerce sales in particular experienced a significant increase as the preference toward remote transactions continues.
Businesses of all sizes have focused on developing their mobile commerce channels, with some companies experiencing online sales that outperformed even the most optimistic forecasts. But the opportunity is still available for newcomers who want to capitalize on this financially stable industry.
As much as 67% of internet users engage in digital window shopping. Of that number, 77% end up making impulsive purchases on their smartphones.
While the 25-34 age group is the most active in purchases on mobile, mobile shopping is popular across all age groups.
M-commerce is changing shopping habits and offering consumers the ultimate shopping convenience. Inclination towards mobile commerce is expected to increase the share of m-commerce in online ecommerce by 72.9%. In 2020, consumers spent $2.67 trillion on the top 100 mobile marketplaces alone.
A mobile marketplace is a digital store designed with a mobile-first strategy in mind. Consumers download the marketplace mobile app to shop online, find a new service, or simply window shop and explore goods. The marketplace hosts multiple vendors and allows shoppers to buy different products or services on a single platform.
Mobile marketplaces are a natural progression from ecommerce platforms and online stores. A mobile marketplace brings sellers closer to buyers and simplified the online shopping and selling experience for smartphone users.
Marketplace apps offer several features to facilitate product discovery and mobile payments.
Amazon, Alibaba, Etsy, and eBay are all examples of mobile marketplace apps that have done phenomenally well in recent years.
But marketplace apps aren’t limited to physical goods and the retail industry.
A marketplace can host services, courses, websites, apps, other businesses, and skills. For example, Flippa sells affiliate websites, SaaS businesses, and online stores. Gumroad sells a plethora of products made by contributing users. Humanoo has a whole package of fitness-related services and courses.
Mobile app development process is a multi-step journey. Find out what's involved in it.Read more
While this guide outlines the steps in mobile application development, the process isn’t the same for every project simply because no project is the same. Companies come with different product ideas, bringing different assets (graphics, designs, existing apps that need a revamp). Some steps in this guide will be skipped for those that have designs, for example. Also, not every step is necessary or mandatory — the development process should never be rigid and set in stone (just like your assumptions).
Look at this guide as a general outline of what’s involved in the mobile app development process, but by no means treat it as definitive.
The key to building successful products is flexibility and skill with which you and your vendor can target customer needs and solve their problems.
This guide is meant to show you what’s usually involved in the mobile app development process.
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: