NEW REPORT! Overcoming key challenges in mobile observability: A guide for modern DevOps and SRE teams

Download now
Case Study

Farm Dog uses Embrace to eliminate crashes caused by poor network connection

Embrace helped us reduce developer time spent on networking problems by 100%. We have completely eliminated user complaints and support tickets to fix broken experiences stemming from poor network connections.
Liron Brish CEO of Farm Dog

Customer

Farm Dog is a pest and disease management platform that helps improve operational efficiency and agronomic decision-making. The platform helps farmers and agronomists to document what they’re finding when they visit their fields, to easily share that information, to receive insights on that information, and ultimately to make treatment recommendations.

Challenge

The Farm Dog mobile app is used by farmers and agronomists in areas with poor network connection. Farm Dog developers lacked visibility into the precise network conditions their users had and under which circumstances those conditions caused app failures

Results

Farm Dog no longer spends time debugging crashes caused by network conditions. Embrace’s network monitoring allowed Farm Dog to look up individual users and see how their particular network problems affected app performance. With this information, Farm Dog was easily able to simulate and reproduce these conditions in order to build and test offline functionality so that poor network connection would not lead to app failures.

Farm Dog is on a mission to reshape how farmers use chemicals

The mission of the company is to protect crop yields, reduce pesticide use, and promote environmental sustainability. By recording field information in an app instead of with pen and paper, farmers and agronomists gather more reliable data. In addition, the data from many farms can be aggregated and analyzed to provide actionable insights on more effective field treatment options.

The main problem Farm Dog struggled with was that oftentimes farms have very poor network connectivity. Since the app requires location information to tag specific field areas, bad network connections prevented the app from properly updating as users moved around. This resulted in app freezes and crashes.

Farm Dog knew they needed visibility into the network conditions their users had in order to build functionality to prevent app crashes. But their debugging tool, Crashlytics, wasn’t particularly helpful.

Crashlytics did not provide enough visibility into networking issues

Farm Dog has apps on iOS and Android that use the cross-platform framework React Native. Their previous tool, Crashlytics, struggled to present the context they needed for understanding the issues their users were facing.

The app would frequently crash when network response times were really slow or when devices couldn’t determine whether they were connected. As an example, they sometimes noticed Google Maps response times between 18 – 22 seconds when they should be a few seconds.

Crashlytics only provided infrequent and basic notifications that were lacking in depth. And because React Native abstracts so much away from the system level, it was difficult to know at what point users started experiencing problems.
Liron Brish CEO of Farm Dog

In addition, Farm Dog relied on direct user reports to be notified of any problems. In order to speed up the identification and resolution of issues, they needed an automated alerting system.

Farm Dog knew they needed a new tool that could help them solve three problems:

  • How to get proactively alerted to any issues
  • How to gain visibility into users’ network conditions and the effects on the app
  • How to reproduce network conditions to build features to allow the app to function in poor network conditions

Embrace was able to help them solve all of these problems.

Embrace provides proactive alerting on all issues

With Embrace, Farm Dog is automatically alerted over Slack the instant an issue surfaces. These immediate notifications allowed Farm Dog to reach out to users to let them know they were working to fix problems before the users had to contact them about it.

Sometimes we fix problems before we get a single user complaint.
Liron Brish CEO of Farm Dog

Farm Dog is thus able to greatly speed up the time to identification and resolution of issues with immediate and actionable alerts.

Embrace provides visibility into network problems

Though Farm Dog’s users would actively reach out about issues, these reports frequently lacked the information needed to reproduce issues.

With Embrace, Farm Dog’s mobile developers could examine every user session, including all the user actions and technical details involved. All network calls can be easily examined for performance and duration, in addition to the context in which the calls fired.

That means when a user submits a bug report, the developers could look up the exact session the issue occurred on and easily get the context needed to reproduce the issue.

Embrace enables efficient feature building and testing

With the visibility into the network conditions that Embrace provided, Farm Dog knew they had to build features to enable the app to go into offline mode in poor network conditions to prevent app crashes.

Before Embrace, we had to do weird things with a proxy to try and simulate a bad network connection. With Embrace, we could see the conditions users had in the field and simulate them to build a solution to identify when those conditions were present and go into offline mode.
Liron Brish CEO of Farm Dog

They built a custom React Native function to test the network condition by pinging their load balancer on AWS every ten seconds. If the request fails or takes too long to return, they can take the app into offline mode until the connection improves.

In addition, under bad network conditions, they force the map to go into vector mode as opposed to satellite mode, which lowers the data being sent. They also adjusted how much data syncs back and forth to the cloud to prevent hanging calls from triggering crashes.

Farm Dog no longer spends any developer time on networking issues

Before Embrace, Farm Dog spent months of developer time trying to gain visibility into network conditions in order to successfully reproduce them to build features to allow offline mode. With Embrace, they were able to build this functionality and release it to astonishing success. For almost a year now, Farm Dog has not had any users suffer app failures due to poor network connection. The app successfully moves to offline mode when needed, and sends collected data to the cloud whenever the app comes back online.

Farm Dog has more time to build new features and acquire new customers

Since resolving their networking issues, Farm Dog has been named a top 10 app “You Shouldn’t Farm Without” by Agriculture.com and a top 20 app “You Should Know in 2020 and Beyond” by CropLife magazine. Farm Dog developers now have more time to build new features, such as data APIs to access where chemicals are applied to farmland, down to the square centimeter.

They can spend less time worrying about the end user experience and more time on signing up new farmers. As Liron explains, “The sales cycle for farmers is so brief. We have from when the harvest is completed in the Fall until they start planting in the Spring, and that’s it. That’s when they have time to learn about new technologies they can add for the next year. So we’re pretty busy during that time.” With Embrace, Farm Dog can rest easy knowing it will be proactively alerted to any mobile issue, and given the context needed to quickly identify and resolve it.

React Native abstracts away so much from the system level that it can be difficult to know at what point users start experiencing problems. With Embrace, we have visibility into how all our users experience the app, and that lets us immediately fix issues and contact users to let them know we’re aware when bugs surface.
Liron Brish CEO of Farm Dog

Embrace is happy to help Farm Dog and other teams improve mobile experiences everywhere with complete observability into performance and stability, starting with the individual user experience.

Embrace Deliver incredible mobile experiences with Embrace.

Get started today with 1 million free user sessions.

Get started free

Build better mobile apps with Embrace

Find out how Embrace helps engineers identify, prioritize, and resolve app issues with ease.

icon-mouse

Embrace is how you make mobile mission-critical.

Understand what people need to fall in love with the things you build.
Go bigger, move faster, and don’t break things. With Embrace.