Context can dramatically affect the meaning and significance of something. Something said in one situation can have a dramatically different meaning when said in a different context. The press is notorious for quoting small portions of politician’s speeches “out of context” to grab the public’s attention, but after you read the entire speech, you easily see the intended meaning of the quote.
The same is true in Mobile APM. The context of what a user is doing in a mobile app can have a dramatic impact on the perception of performance of an app. A request handled gracefully in the background can often take a great deal of time and the user will not even notice, but one that freezes the screen and causes the dreaded “spinner” can get annoying after as little as 400 ms in some cases! It also depends on the user’s expectation of the amount of work required to do something. A simple “like” on Facebook should be instantaneous, but doing a search across dozens of airlines and thousands of flights to find the best price we have no problem waiting a few seconds for, as long as we get good feedback that the search is indeed happening.
In Foglight Mobile Application Analytics we made a conscious choice to try to surface context as one of the elements available for simplifying triage of mobile app performance issues. A typical mobile app often makes hundreds, if not thousands of http requests during an invocation by a user. Image requests, data requests, update requests, analytics data.
The amount of chatter can often be overwhelming.
Many mobile APM tools will give you http request times over time like this, or in some cases, aggregated into average response time over time or by URL, which is even more cryptic. What does this actually tell me? Which requests annoyed the user and which ones were they totally unaware of? No way to really know.
To combat this problem, Foglight Mobile Application Analytics automatically captures and groups requests made by the name of the application screen that the user was on when the requests were made. This gives context to what the user was doing.
Contrast the above with this view:
I can see what the user was trying to do, how long it took, which request was the reason behind the slow performing screen, and which requests were processed in the background and probably not noticed by the user at all. The power of context.
Want to learn more about common areas where mobile apps suffer performance problems and how to track and improve performance? Check out our new eBook “How to Become a Mobile Application Performance Genius."