5 Things To Consider When Monitoring Your App
|Amir Rozenberg in Programming Friday, October 17, 2014|
Mobile is explosive in nature. That being said, it has been shown more than once that across verticals, it’s very expensive to be naïve as to the expected user adoption when it comes to mobile applications.
You quickly come to realize you need to understand the behavior of the application in production. Mobile monitoring is materially different from web monitoring, mainly due to the nature of the highly capable thick client. At the same time, the trends repeat. In the same way web monitoring quickly evolved to adopt the end user perspective through specific browsers and browser versions, mobile monitoring is irrelevant if you’re not opting to adopt the end user perspective.
With that in mind, there are more than a few choices when selecting your mobile monitoring solution. Here are some principles you want to keep in mind as you decide about your initial foray into this space.
1. Real Devices Matter
Adopt your end user perspective. This is a very simple, core principle. Browser emulation is equivalent to network monitoring. Imagine one user with iPhone 4S, and 10 applications running in the background. Another user with iPhone 6 and no applications running in the background.
Will the server respond to both at the same time? Of course. Will the customer experience be the same? Absolutely not. Further, commonly it’s not even possible to record and replay the calls from the device to the backend correctly; you almost need to recreate the application in your script, not to mention complex encryption that is usually applied to the backend calls. Long story short, if you’re not using what your users are seeing, you’re blind. It’s as simple as that.
2. Real Devices Drive Triage
Are your existing tools able to provide you with sufficient data of what happens on the application? With so much happening inside the thick client, you may want to understand the CPU, memory consumption, etc. when things go south. You will want to contrast this data across different devices, versions of the application, geographies and carriers. You will also want to have access to clean data that’s devoid of noise from the crowd, because it’s important for you to get to the root cause fast. We’ll come to it a bit later, but also your ability to extract UI elements will help you understand better what happened.
3. Know Early
Probably the one thing you really want to avoid is seeing your brand showing in the media with the word ‘outage’ next to it. The key is to know early there’s an issue and eliminate it quickly. To know early means that you can’t wait on your users to tell you. You need to proactively exercise the application and complete delivery chain frequently through the key user scenarios that are important. You want to setup and fine tune alerts that give you the information you need so that you can be aware of problems and act quickly.
4. Independence is Key
If you made it so far with this article, you’re serious about finding a solution, and you need to show impact quickly. Going to the IT organization and asking them to install an agent inside the firewall to report metrics? Going to the developer and convincing them to embed a 3rd party SDK into the application? Maybe not the best strategy to achieve the desired outcome quickly.
5. Continuous Integration Schemas Mandate Insight Ahead of Launch
It’s no secret the mobile ecosystem is leading the ‘Shift-Left’ paradigm change. With a two-weeks release cycle there is no room for error, nor is there room for finding a performance issue just before going to production.
Many organizations are breaking ground by monitoring the next release of the application based on the nightly build. This is good measure to ensure there are no surprises on the launch of a new version of the application, perhaps even on new devices, such as iPhone 6, or new OS such as iOS8.
The practice of mobile monitoring is evolving the way people art thinking about monitoring applications. There are new users with challenging expectations, new people involved in monitoring (such as DevOps) and new tools. It’s important to pick the right tool to achieve insight into the application in production before your users share their frustration with friends and the media.
Read more: http://www.perfectomobile.com/
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.