Glassbox support of the Flutter framework
What is Flutter?
Flutter is a free and open-source mobile UI framework created by Google and released in 2017. It allows developers to create native mobile applications and is popular because it provides a single programming language and one codebase to develop apps for both iOS and Android.
Flutter consists of an SDK and a UI library based on widgets (a.k.a framework). One of the reasons for Flutter’s popularity is that it allows developers who are migrating their web applications to native mobile to support a hybrid mode, enabling them to migrate their app through multiple iterations as opposed to a single one.
The challenges of supporting Flutter in digital experience analytics
Digital experience analytics solutions are required to capture, analyze, replay and provide insights into customers’ digital journeys. As such, their SDK is needed to capture and analyze all the screen/view elements and the end user’s interaction with them. This requirement faces several challenges when supporting Flutter, which are outlined below.
The Flutter hierarchy element structure is not designed and exposed the same way as other hierarchical UI interfaces, such as the web dom or native mobile UIKit / Android views or native mobile structures. This means that digital experience analytics solutions are challenged with automatically identifying mobile elements and being able to analyze them. The following can’t be identified unless the elements are tagged at the code level:
- Sessions that tapped on the submit button
- Sessions where customers entered a sum above $1000
- Sessions with multiple back and forths, pinches and other gestures
It is difficult to identify sessions in the Flutter SDK with a low level of experience due to technical struggles (e.g. rage taps and dead taps). Session experience can not be reported on and therefore fixed.
Because it’s impossible to mask PII fields automatically, there is a significant risk of exposing this data. This results in many digital experience analytics solutions not capturing entire screens to prevent them from being exposed to the risk of capturing sensitive data by mistake and being held liable.
When working with hybrid solutions that are composed of both Flutter and web components, digital experience analytics solutions are challenged with identifying hybrid sessions as a single one–even those that support both web and native mobile sessions. Instead, many times a single session will be split into a web session and a mobile session, making it difficult to understand the customer’s entire experience.
Some of the digital experience analytics solutions that support the Flutter environment do so at the expense of the performance of their customer’s app. It is not uncommon to see a difference of X30-X40 on app performance between Glassbox SDK and other competing digital experience analytics SDKs.
Glassbox’s approach to Flutter
Glassbox realizes the importance of supporting the Flutter framework and SDK and has developed a unique approach to support Flutter-based applications. Glassbox SDK has been designed to support the Flutter hierarchy at the rendering level so that all elements are automatically available for analysis with no data instrumentalization or tagging required. With Glassbox, you can ensure:
- All session elements are captured, analyzed and available for analysis, just like native mobile applications and web applications.
- The customer’s interaction with the view elements, such as rage taps, is captured and analyzed so that sessions are scored based on customer struggles and experiences.
- Sensitive data is automatically detected and masked. Views with personally identifiable information (PII) data are still fully captured except for the PII elements. This doesn’t require any tagging at the code level.
- The playback of sessions of hybrid applications as a single session is fully supported and does not split the sessions into two separate components. This means you can view and understand the customers’ experience throughout the entire session.
So where from here?
Regardless of the digital experience analytics solution you choose, if your app is using the Flutter SDK / framework it is recommended you understand how your vendor intends to support your environment and the implications this will have on your app’s performance and your customer’s experience and privacy. Learn how Glassbox can help.