Detangling error management for mobile application development

Improving how developers triage, trace, and resolve critical mobile errors within a unified platform experience through strategic Information Architecture redesign and deep workflow integration.
Product thumbnail
Cross-platform UX
Incident response
Developer workflows

TL;DR

Problem
Problem: Fragmented triage obscured root cause and slowed response, especially for mobile errors.
Solution
Solution: Unified IA + single triage flow; clear type indicators; focused, actionable metadata.
Impact
Impact: Faster path to fix and fewer support tickets; adoption moved meaningfully.
~10%
Support ticket reduction
4
IA models developed
3
All nighters pulled

Context

New Relic's Errors Inbox had become fragmented, with different experiences across the platform. The challenge was to consolidate mobile errors, like network request errors and application crashes, into a unified, insightful experience. This project was a complete re-architecture of mobile error data flow, aiming to create a single source of truth and simplify developer workflows.
Company
New Relic Inc
My Team
One PM, two engineers, one content designer, one QA developer
Timeline
Project start: January 2024 | GA launch: June 2024
Tools used
Figma (for mocks and flows), FigJam (for workshops), Slack, Confluence
My Role
Senior lead UX designer
Impact
Reduced time to resolution, improved correlation between errors and telemetry, and launched a redesigned grouping experience

Problem

The main issue was the varied data structures of mobile errors. Crashes and request errors each had unique data, like stack traces or HTTP details, often handled separately. The challenge was to unify these datasets without overwhelming users or reducing the effectiveness of existing triaging tools, which previously led to fragmented workflows and hindered error resolution.

Solution

My design strategy focused on preserving the user’s mental model of error analysis while seamlessly integrating a comprehensive suite of triaging capabilities. I re-architected the underlying information architecture for mobile error data within the Errors Inbox, creating a single, powerful, and intuitive triage experience for all mobile error types.

The deep dive

Jobs to be done

In enterprise and technical design, we rarely have fully detailed personas for each feature. Instead, I focus on jobs to be done: the specific tasks and outcomes real users need. They’re here to get something working, solve the problem, and move on with their day.
  • Developers: When a new error spikes right after a deployment or config change, I want to confirm the correlation and jump to the exact code location from the error, so I can identify the root cause and fix it quickly.
  • Network Engineers: When request failures or high latency suggest a network-level issue, I want to inspect consolidated request details and isolate the failing hop, so I can diagnose routing, timeout, DNS, or TLS problems fast.
  • System Administrators: When the same error reappears across services or environments, I want to group duplicates consistently and filter by release, environment, and version, so I can cut noise and address the underlying infrastructure issue.
  • Engineering Managers: When error volume trends change and the backlog grows, I want to see clear trendlines and assign ownership and status by team or service, so I can get the right people triaging the right issues.
  • Project Managers: When work must align with project timelines and ticketing workflows, I want to sync errors to existing tickets and keep status updates in both systems, so I can track progress without double entry.

Constraints and considerations

Mobile error data structures differed significantly from other parts of the platform, requiring careful alignment in the UI.
Users needed to filter and triage errors by type without losing context.
Consolidation had to happen without disrupting existing workflows for teams already using Errors Inbox.

Key contributions and design approach

I conducted a thorough audit o existing errors inbox views for other error types (APM, Browser, Serverless, Otel) and the previously separate mobile error tracking flows. Recognizing the fundamental differences in mobile error data structures. For example, the distinct details of a MobileRequestError event (request attributes, response body) versus a mobile crash (thread details, stack trace, device environment). I partnered closely with engineering to align these data structures at the foundational level.

My design process was deeply iterative:

   ◦ I developed four distinct IA models through iterative sketching and information architecture diagrams, meticulously exploring how diverse mobile error data could be presented coherently within a single view.

   ◦ I implemented unified mobile error tracking across all types into a single triage flow with consistent filtering and grouping mechanisms, enabling users to efficiently isolate and analyze issues across various attributes (e.g., error type, device, app version) without losing critical context.

   ◦ I reworked the detail panel for mobile errors to intelligently display only the most relevant metadata, preventing user overwhelm while ensuring comprehensive troubleshooting capabilities.

A core component of the solution was integrating and refining a comprehensive suite of "useful triaging tools" that users expected from Errors Inbox directly into the mobile experience:

Efficient Error Management: Empowering teams to assign errors to specific team members and update their status (e.g., Resolved, Resolved in specific version) directly within the inbox, streamlining issue ownership and resolution tracking.

Deep Troubleshooting Context: Providing critical debugging views such as user journeys, all occurrences charts, error type breakdowns, error profiles, distributed traces, response bodies, chronological event trails (for both request errors and crashes), and comprehensive attribute details. For mobile crashes specifically, I ensured seamless integration with features like exporting crash details to Xcode and resymbolicating source code. The ability to query and share error data using NRQL from charts was also integral.

Streamlined Third-Party Integrations: I ensured the consolidated mobile error experience fully supported and enhanced integrations with vital team services:

       ▪ Slack: Enabling new and resurfaced mobile error groups to be sent directly to Slack channels, providing immediate, actionable links to stack traces for rapid team notification and response.

       ▪ Jira: Facilitating the easy creation of Jira tickets directly from error groups, with pre-filled error details and direct links to stack traces and other relevant data, significantly improving alignment between technical issues and business workflows.

       ▪ CodeStream: Supporting the "Open in IDE" integration, allowing developers to jump directly from an error group to the offending code in their development environment, accelerating root cause identification.

An exercise around the different layers of information architecture for errors inbox embedded in mobile.

Impact and outcomes

My work led to tangible improvements in developer efficiency and platform usability:

Unified Mobile Error Tracking: Successfully brought together disparate mobile error types into a single, intuitive triage flow with consistent filtering and grouping, drastically reducing cognitive load for users.

10% Support Ticket Reduction: The enhanced clarity, actionable insights, and integrated tooling empowered developers to self-serve and resolve issues more effectively, leading to a 10% reduction in support tickets. This demonstrates a direct business impact from improved UX.

Improved Correlation: Enhanced the correlation between mobile errors and other telemetry data, providing developers with richer context for debugging and faster root cause analysis.

Redesigned Grouping Experience: Launched a more intuitive and effective grouping experience for errors, intelligently cutting down on noise and ensuring critical errors were detected quickly and efficiently.

Future vision

Looking ahead, the next step for this project would be a comprehensive exploration and audit of all Errors Inbox data types across the entire platform, identifying further opportunities for consolidated architecture. My design approach emphasizes an iterative process, continually refining the structure based on user feedback and usage patterns to best serve our users.

What I learned

This project profoundly sharpened my abilities to resolve signal overload by refining core information architecture and to build around real user paths without fragmenting shared UX surfaces. It demanded close collaboration with engineering on UX-preserving compromises mid-flight, deepening my empathy for developers working under pressure.

Other case studies