Birdie Measures 80% Mobile App Performance Improvement With Help From Datadog Real User Monitoring | Datadog
Case study

Birdie measures 80% mobile app performance improvement with help from Datadog Real User Monitoring

Healthcare

50~200 Employees

London

About Birdie

Birdie is a UK-based technology developer working to transform the lifestyle and healthcare support experience for those who are aging. To accomplish its mission, Birdie created a powerful home healthcare technology app.

“Datadog RUM immediately allowed us to measure the impact of the changes we were making.”

case-studies/marin_godechot
Marin Godechot
Software Engineer
Birdie
case-studies/marin_godechot

“Datadog RUM immediately allowed us to measure the impact of the changes we were making.”

Marin Godechot
Software Engineer
Birdie
Why Datadog?
  • Easier to implement and more user-friendly than other solutions they examined
  • Allowed Birdie engineers to see how changes they made to the app affected end users
  • Improved visibility helped them make changes that enabled the company to improve app performance by 80%
Challenge

Birdie’s flagship care delivery app suffered from poor performance. Despite extensive efforts, the company’s engineers could not see whether changes they made to the app improved performance or not.

Key Results
40s → 4s

Reduced app actions

80%

Mobile app performance improvement

Improved visibility

Easily measure impact of app changes

Scaling during a critical growth phase

Birdie is dedicated to developing technology to transform the lifestyle and healthcare support experience for those who are aging. The company’s flagship care delivery app helps home healthcare managers and caregivers deliver the right care to elderly patients at the right time. The app is a critical tool for ensuring medication doses are correct and timed appropriately to prevent any problems or complications. Caregivers also use the app to record observations about a client during home visits to ensure they receive the best care possible.

Marin Godechot, software engineer at Birdie, wanted to ensure the care delivery app scaled flawlessly as the company entered a critical growth phase. “We have one main organizational-level goal: to be a secure, stable, and safe technology platform,” says Godechot.

But after four years of continuous improvements and strong user growth (Birdie supports more than 700 care providers in the UK and over 1.7 million care visits are recorded through Birdie every month), the app’s performance began to suffer. Godechot and his team launched a concerted effort to find the root cause of the latency and fix it as soon as possible.

birdie_team.png

The search for an elusive bottleneck

Birdie software engineers spent a month examining various aspects of the app in an attempt to pinpoint its performance issues. Along the way, they made multiple changes to streamline and optimize the app. “After a month, it was a little better,” says Godechot. “But because we lacked the tools and processes to see the impact of the changes we were making, we were still in the dark.”

Birdie engineers looked into multiple monitoring solutions, but none provided adequate insight into why performance was suffering. Birdie was already using Datadog Application Performance Monitoring (APM) and Datadog Log Management, so Birdie engineers decided to look into Datadog Real User Monitoring (RUM) as well. “Datadog RUM was easier to implement and more user-friendly than some of the other solutions we looked at,” says Godechot.

“Datadog RUM immediately allowed us to measure the impact of the changes we were making.”

Godechot and his team imported Datadog's RUM SDK into their React Native code and began looking for ways to compare the performance metrics of specific UX flows before and after changes. They used multiple devices on multiple versions of the app to go through specific flows multiple times. They were then able to compare them by finding their recorded sessions in Datadog RUM. “Datadog RUM immediately allowed us to measure the impact of the changes we were making,” says Godechot.

Based on their findings, Birdie engineers tried several approaches to improve performance. Unfortunately, the app was still slow. Finally, they examined user permissions. Birdie uses two types of permissions, one for the agency level and one for the client level. These user permissions were introduced when the app was launched four years ago. At that time, they had approximately 15 permissions per user. Four years later, they had more than 10,000 permissions per user. Those permissions were read throughout the app by most components and actions. That data structure made reading and finding permissions very slow, which impacted all pages in the app. “Once we realized the problematic code that was looking through permissions was used throughout most redux functions, we instrumented those functions and used RUM to measure the impact of the change and prove that it was indeed our bottleneck,” says Godechot.

Birdie engineers then performed a simple change to turn the permissions array into an object. “Making that change reduced some app actions from 40 seconds to four seconds when we used it with a test agency that has much more data than our largest agency has.”

“Making that change reduced some app actions from 40 seconds to four seconds when we used it with a test agency that has much more data than our largest agency has.”

Better visibility allows Birdie to realize 80% mobile app performance improvement

Once they addressed the permissions issue, Birdie engineers used Datadog RUM to assess the performance of other areas of the app, including frames per second, CPU usage, memory usage, and frozen frames. “Using Datadog for monitoring, we can see what a user did on a single page and also what happened in the background,” explains Godechot. “Using RUM, we saw a massive improvement in the average duration of Redux processes after our permissions update: about a 92 percent decrease for selectors, a 90 percent decrease for reducers, and a 64 percent decrease for sagas. Overall, our app performance improved by 80 percent.”

Godechot says using Datadog RUM to pinpoint performance issues taught him an important lesson. “You need to validate your assumptions before investing in solutions. We were always in the dark, so we mistook other issues as the main performance bottleneck,” he says. “Performance improvements without tooling is simply a guessing game, and it's a game that you are not likely to win.”

Resources

case-studies/resources_sevenoneentgrp_casestudy@2x

case study

Learn how Datadog helped Seven.One Entertainment Group adopt a DevOps mindset and deliver real-time interactive shows at a massive scale.
apm/product_heros_APM

product

Datadog Modern Application Performance Monitoring (APM)
security-monitoring/security-hero-2

product

Datadog Real User Monitoring