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.
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.
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.