What is recorded and how: Screen Recording and Event Tracking
This section describes what different kinds of data Smartlook SDK records and how the level of recorded data details can be controlled.
Smartlook records two interconnected types of data:
- a video of the application UI as the user sees it.
- metadata about the user interaction with the application.
These two information sets are then used for two main purposes:
- to replay the user sessions in the form of a screen recording video with visual indications of user interaction.
- to provide material for analytical functions that helps with understanding the bigger picture of the users’ behavior.
While it may seem that more data is always better, there are trade-offs between the amount of recorded data and, among other things, technological limits of mobile devices and, most importantly, users’ privacy.
Smartlook defaults offer a balanced setting and robust protection of user privacy that are suitable for a typical mobile application. To finely tweak the settings to be best suited for a particular application, there are several areas to look after.
Screen recording quality is primarily a technologic decision, with an obvious trade-off. The crisper and smoother the video, the higher the Smartlook footprint in terms of CPU, battery and memory usage, and the more data is generated and transported over the network. Further details are provided in Screen Recording Quality.
The level of recorded visual details is given by the rendering mode. The default mode is native, when Smartlook takes screenshots of the device screen, removes sensitive data from it, and then composes video out of it. Alternative rendering modes construct the video recording by sketching the UI structure in one of several wireframe styles, as described in Rendering Modes documentation.
Smartlook tracks two interconnected types of events. User interaction events, i.e., finger touches, gestures and such, and analytics events, by which Smartlook understands button clicks, navigation between screens, and similar events that initialize an action in the application.
The default setting is to track all these events (with the exception of events on the keyboard, for obvious user privacy reasons). If this is not desired, it is possible to limit the kind of tracked events using event tracking modes as described in Handling Sensitive Events.