It’s often the case that when improving a digital product, there’s an understandable reluctance to introduce big technical improvements as such changes come with a risk of destabilizing the existing product.
There’s a solution to that risk, and we’ll show how we handled it for a B2B chat product for emerging markets.
In this product, the ability to send attachments like photos, videos, and files is crucial. However, the technical backbone supporting this feature in our application was outdated and lacked offline capabilities for sending attachments. This posed a significant risk as the existing solution, while stable, needed an update to meet modern needs.
The challenge was deciding whether to enhance the existing solution or implement a significant change by integrating Android's WorkManager, which supports task scheduling until internet connectivity is restored. The decision was fraught with risk due to the imprecise documentation and previous stability issues of WorkManager. The dilemma was whether the potential benefits of adopting a modern, automated solution outweighed the risks associated with changing a stable system in a critical part of the application.
To mitigate the risks associated with implementing new technical changes, we utilized A/B testing—a method commonly applied in UI/UX validation—to assess the new technical implementation:
Key metrics for the A/B test included the success ratio of sending an attachment, the number of attachments sent per user, the percentage of users who successfully sent at least one attachment, and the crash ratio. This method allowed us to objectively measure the impact of the new implementation against the existing one without affecting the overall user experience.
After two weeks of testing, we saw that:
These results validated the effectiveness of the new implementation, leading to a decision to roll out WorkManager to all users, thereby enhancing the functionality without increasing technical debts or user disruption.
The A/B testing framework thus proved essential in reducing the risks associated with technical changes, providing a reliable basis for decision-making based on data rather than assumptions. This approach ensured that the new functionality was not only theoretically better but also proven in a live environment.