There are two categories of performance errors that engineers must worry about. The first are visceral issues: those that actually stop the experience altogether and abruptly. These include crashes, which are fairly easy to diagnose and stop, and things like memory issues, CPU pegging, and too many concurrent network calls, which are more difficult.
The second category deals with issues that inhibit the user and make them leave : a key moment taking too long, a spinner (of death) appearing, an error pop-up b/c of a broken purchase mechanism, a video not starting — things that impact an app’s ability to run fast or impede the user’s ability to interact with your app and perform the actions you intended. Outside of crashes, every one of these whether abrupt closes or frustrating experiences are tough to identify, diagnose and resolve quickly.
With desktop web, which is obviously a more mature ecosystem than mobile, engineers have a full complement of tools to manage every performance scenario from ‘The website crashed’ all the way to down to optimization (e.g. making a page load faster). So, when you do get a complaint for an experience-based performance issue that may or may not be code-based, like a page not loading quickly or a purchase mechanism failure, it’s fairly straightforward to identify, recreate and solve the problem. Unfortunately, that’s not the case with mobile.
The Embrace.io team cares deeply about this stuff because we’re developers too. We’ve felt your pain. That’s why we’re on a mission to eliminate the frustrations of building and running large-scale apps. No more duels with the Spinner of Death. No more time wasted trying to reproduce issues, or answer questions, that have nothing to do with your own code. We’re all about providing you the tools and data to move past the pain and get back to coding cool stuff. We’re rising to that challenge by creating a platform for mobile performance management as good, or even better, than what’s out there for desktop.