Embrace’s iOS and Android SDKs are now built on OpenTelemetry!

Read the release
Error Tracking

Mobile breadcrumbing best practices

Mobile breadcrumbing is a way of adding more context to session logs. Learn more, including best practices, here.

Mobile breadcrumbs, a term frequently used in mobile engineering, significantly differ from the user interface breadcrumbs familiar to many.

These are not mere navigational aids in an app’s interface but crucial elements in mobile application monitoring and debugging.

Understanding mobile breadcrumbs in the context of mobile engineering is essential for anyone looking to enhance their app’s performance and user experience.

What are mobile breadcrumbs?

In mobile engineering, breadcrumbs are lightweight log messages that provide a detailed trail of user interactions and system behavior within an app.

They are a subtle yet powerful way to enrich session details in mobile monitoring solutions. Unlike traditional logging mechanisms, mobile breadcrumbs are designed to be unobtrusive and efficient, adding minimal overhead to app performance.

This makes them particularly effective in preproduction environments and during debugging phases, where understanding the user journey and application behavior is crucial.

When to use mobile breadcrumbs

Understanding when to effectively use mobile breadcrumbs is key to enhancing your app’s debugging and monitoring capabilities. Breadcrumbs excel in providing additional context within user sessions, allowing for a deeper analysis of user interactions and app behavior.

When leveraged with a mobile user experience monitoring platform like Embrace, breadcrumbs can offer a clearer view of the user journey. For example, you can inspect all breadcrumbs in a session’s timeline and directly access them in the activity log. This feature is invaluable for comprehensively understanding user actions and app responses during specific sessions.

A screenshot of a user session timeline from the Embrace mobile platform.

At Embrace, we generally use the mobile breadcrumbing for our logging, and not the Log Message API, to add relevant information to sessions. That’s because breadcrumbs are a lightweight way to add logging to your session. They add no CPU or memory overhead, and trigger no networking calls.

On the other hand, the Log Message API is a much heavier mechanism. Logging a message using the Log Message API makes a network request immediately, and sending too many logs can easily impact application performance or battery life.

Key use cases for breadcrumbs

Tracking local user states: Breadcrumbs are adept at recording user interactions such as taps on sidebars, navigation bars, or carousels. This tracking helps in understanding how users navigate and interact with various app elements.

Monitoring general app state: They are useful for noting changes in the app’s state machine, providing insights into the app’s operational flow and user-triggered changes.

Observing complex actions: Breadcrumbs are particularly useful for tracking the progress of complex user actions like loading a map, scrolling through content, or completing forms. This level of detail is crucial for identifying usability issues and optimizing user flows.

It’s important to note the limitations of breadcrumbs. Unlike traditional logs, they are intimately tied to their respective sessions and are not aggregated. This means breadcrumbs do not support custom properties, alerts, or monitoring outside their specific session. Consequently, they are not the right tool for tracking critical failures, optimization opportunities, or key user actions like purchases.

In essence, mobile breadcrumbs are best suited for mapping the complete user journey and understanding the intricate technical details of individual sessions, making them an indispensable tool for mobile engineers focused on enhancing user experience.

Best practices for using mobile breadcrumbs

To maximize the effectiveness of breadcrumbs, considering the following best practices is crucial:

  • Keep breadcrumbs simple: The essence of using breadcrumbs lies in their simplicity. They are meant to provide context and not to serve as complex analytical tools. If your needs involve searching, filtering, aggregating, or alerting, logs are a more appropriate tool.
  • Focus on critical (but not too critical) events: Breadcrumbs should capture essential events or interactions within your app that are not easily observable. They shine in providing deeper technical insight into a user session.
  • Avoid overloading with breadcrumbs: While lightweight, an excessive number of breadcrumbs can clutter session data. Use them judiciously to maintain clarity in your session timelines.
  • Know when to use logs instead: Understanding the difference between logs and breadcrumbs is pivotal. Logs, unlike breadcrumbs, are suitable for capturing events that require real-time alerts or detailed analysis. They are more resource-intensive but necessary for tracking more significant, potentially problematic events in your app.

Mobile breadcrumbs are one piece of monitoring and debugging

Mobile breadcrumbing is an invaluable tool for mobile engineers, especially in the stages leading up to a launch, such as during a bug bash. It offers a nuanced understanding of the app’s functioning and user interactions without burdening the system.

As mobile applications become more complex, leveraging breadcrumbing in addition to other efficient debugging tools becomes more essential.

Learn how Embrace can help you help you build better mobile experiences and never solve the same crash twice, here.

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.