One reason avid hikers and outdoor enthusiasts hit the trails is to enjoy nature and escape the constant noise of the modern world. They probably aren’t thinking much about the irony that technology enables them to access up-to-date information they need to navigate the woods. Alex McLean, director of engineering at the popular hiking app AllTrails, thinks about that technology all the time. AllTrails aims to be the definitive guide to all the resources users need to explore the world around them. Its web and mobile apps provide trail maps, ratings and reviews, and more. To do so, it must be able to withstand bugs and challenges of the wilderness, without interrupting users’ outdoor experiences.
Alex’s team at AllTrails relies on the BugSnag tool from SmartBear to manage the backend and web application. The data is maintained by the company’s data integrity team and input from users in the AllTrails community. After just a couple of weeks of using BugSnag to dig into errors, Alex’s team was able to increase session stability by 8%. Today, the Alltrails team has grown to count on BugSnag to identify, prioritize, and fix bugs throughout their app, including key functions like the AllTrails+ checkout experience.
The BugSnag tool was already in use when Alex joined AllTrails more than six years ago, and he says it’s been a big part of how the company monitors its web and API releases.
“We use it to catch errors that we wouldn’t expect,” he says. “We also use it as a high-priority reporting channel. “The Jira integration has definitely helped,” Alex continues. “You can link straight into a ticket, and from the ticket you can monitor the error itself. That’s probably the biggest way that we’ve increased visibility on the ownership of some of these errors.”
“You can link straight into a ticket, and from the ticket you can monitor the error itself. That’s probably the biggest way that we’ve increased visibility on the ownership of some of these errors.”
- Alex McLean, Director of Engineering
Additional integrations, such as Datadog and Slack, make it easy for the team to work with BugSnag. “If we have developers who are touching multiple different apps, they have this shared understanding already of how BugSnag works and how it integrates with the code,” Alex explains.
“So if you come into a new service, there’s already this understanding of where to look for errors, which is definitely a big help.”
The consistent reporting has facilitated a broader organizational understanding of how errors are reported and where to find them. “When you’re looking at performance, you can see if there are spikes in any different particular kind of error, things that might not show up in like average response time; bugs, potentially serious bugs, that you could differentiate there,” Alex says.
Having an easy way to monitor stability has allowed team members to see the big picture, and lets them identify if, when, and where they need to drill down to find out more. “It’s a very fast way for us to catch issues that we’re introducing,” Alex says. “Releasing every day is quite a commitment, so inevitably things pop up and we might have to roll things back or fast follow with fixes. But it’s a very quick feedback cycle to be able to see that in the new release.” With BugSnag, the team can make sure stability hasn’t fallen below their expectations.
“It’s really one of the go-to items in our toolkit for people that are trying to see how the app is doing,” Alex says.
The work to identify the problems and prioritize solving them has produced impressive results for AllTrails.
“We spent a month or so digging into some of the errors, and we increased the session stability by 8% in just a couple of weeks, which was pretty significant.”
– Alex McLean, Director of Engineering, AllTrails
“Our session stability shot up after that,” Alex says. “We spent a month or so digging into some of the errors, and we increased the session stability by 8% in just a couple of weeks, which was pretty significant.” The benefits of the increased visibility didn’t stop there. “It allowed us to look at some of the more browserspecific errors more closely,” he says. BugSnag has provided more value over time as its application infrastructure has increased in complexity.
“We’ve definitely continued to adopt BugSnag, even with different SDKs. We had some node apps that we spun up that are using BugSnag. There are benefits in having that organization-wide adoption. It has definitely grown as our infrastructure has expanded,” Alex says.
“For us on the backend, it’s been particularly helpful to have the metadata of a request embedded in the actual BugSnag report,” Alex says.
“Sometimes we’ll have very specific bugs that are difficult to reproduce and having the entire payload of accessible requests is extremely convenient,” he says. “You can reproduce it very quickly on your own using the exact payload. So that’s definitely a big help.”
With metadata added to events in BugSnag reporting, AllTrails can see who the errors affect and triage them. “One of the things that we started doing within the last year was adding a lot more custom metadata to some of our events,” Alex says. “Whether it’s a user who ran into an error, a member of our staff, or a subscriber. “Bits of metadata help us cut through the noise and filter so that we can see in the dashboard all the errors that are affecting subscribers, helping us prioritize those,” he says. Now, the team can identify where there are errors that hit the company’s bottom line.
“BugSnag made it easy for us to identify bugs that were related to the AllTrails+ checkout experience. Once we were able to identify those bugs, we were quickly able to prioritize and resolve them.”
– Alex McLean, Director of Engineering, AllTrails
“We are using some analyses to try and determine which of these errors are directly related to revenue,” Alex says. “Are there any cases where people are trying to pay for AllTrails+, for example, but something is happening that is keeping them from subscribing? “BugSnag made it easy for us to identify bugs that were related to the AllTrails+ checkout experience,” he says.
“Once we were able to identify those bugs, we were quickly able to prioritize and resolve them.”
The engineering team at AllTrails is still relatively small, so for Alex and his team, one advantage is that it’s pretty straightforward to bring in somebody new and get them up and running on BugSnag.
“I think the tool is fairly intuitive, once you get an idea of how to look completely at an error and see the different pieces of metadata,” he says.
The BugSnag report is also easy to understand, giving the AllTrails team members insights that let them focus on solving challenges that will have the biggest impact for users. “When we have bug bash weeks, our engineers will pull up BugSnag and look for the most frequent item and make a ticket out of it or dig into it more,” Alex says. “It’s definitely allowed some of our engineers and our engineering managers to be proactive about monitoring their work as it goes out.”