Posted by the Android workforce
Clue is a freemium menstrual well being utility based in 2012 and was among the many earliest builders in femtech. The app helps girls and individuals who menstruate monitor their cycles and serves 11 million month-to-month energetic customers in over 190 international locations. Further options, together with instruments for monitoring prenatal and postpartum well being, can be found by means of the app’s subscription tier, Clue Plus.
Gaining access to streamlined and simply digestible menstrual well being knowledge might be a useful useful resource for individuals who menstruate, and Clue has supported these insights for Android customers for over a decade. As with all codebase, nonetheless, the Clue app inherited technical debt. This restricted the workforce’s potential to push adjustments and options shortly, scale developer efforts, and supply a contemporary UI to its customers.
Clue beforehand relied closely on customized views that made extending the present codebase tough and required time-consuming testing strategies that slowed the event course of. Clue’s codebase had moreover amassed UI inconsistencies from hard-coded theme values resembling colours and sizes, and in 2022 Clue’s engineers acknowledged that they wanted a extra environment friendly and versatile resolution. They in the end landed on migrating to Jetpack Compose, Android’s trendy toolkit for constructing native UI.
“We determined {that a} full rewrite of the appliance, with a particular emphasis on the UI layer, can be the very best plan of action,” stated Moctezuma Rojas, an Android developer at Clue. “This choice was based mostly on the truth that it will allow us to have a extra environment friendly and quicker growth cycle, shortly implement options that may have taken for much longer to develop utilizing views, and make our code extra testable.”
Constructing a quicker and extra environment friendly codebase with Compose
The Clue workforce noticed quick advantages by rewriting its app with Compose. For one, a quicker, extra environment friendly testing and growth cycle considerably lowered the effort and time vital to enhance the codebase whereas lowering bugs and errors. Compose additionally enabled Clue’s engineers to implement options quicker than they may with Views.
Migrating the app to Compose resulted in improved testability for screens, quicker growth from ideation to launch, and higher standardization processes that aligned with the very best practices really useful by Android developer assets. Compose additionally helped the Clue workforce double—and in some circumstances, triple—their growth pace when in comparison with the previous codebase.
“With the normal view system, including new options, visible representations, or consumer interactions was tough because of the want for customized view creation and upkeep. Nevertheless, by using Jetpack Compose, we have been capable of effortlessly develop and develop the Cycle View characteristic with none limitations in including parts,” stated Moctezuma.
Compose additionally helped Clue’s builders shortly overhaul a number of different vital options throughout the utility, together with Calendar View, Evaluation View, and the account administration and settings screens.
Extra creativity made doable with Compose
Compose enabled builders to make Clue screens extra intuitive, enhance scrolling, and deploy a customized colour system and part library that aligned with the model—an enormous win for the workforce. Beforehand, including new options, visible representations, or consumer interactions was sophisticated as a result of they required making a customized view and ongoing upkeep.
Compose APIs made it a lot simpler to check UI so Clue builders felt extra assured about what they have been transport to customers. As an additional advantage, Clue builders now have more room for exploring UX innovation.
“The customized dynamic theming permits designers to freely discover their creativity with out being restricted by technological constraints,” stated Moctezuma. “It offers a versatile and scalable strategy to styling that may be simply tailored as our app evolves and grows, leading to a visually interesting and cohesive consumer expertise.”
All of those adjustments vastly improved the consumer expertise for Clue subscribers, leading to fewer error messages and bug reviews. The Clue workforce additionally says that utilizing Compose has enabled them to establish areas of enchancment within the app’s code that would have probably impacted its customers.
“Compose will increase developer velocity by eliminating boilerplate code, works seamlessly with the present code base because of its Interoperability APIs, and improves UI testing—which has all the time been painful in Android growth,” stated Tilbe Saltan, a senior Android developer at Clue.
Continued success with Jetpack Compose
Compose has improved every subsequent app launch and made preview and dwell modifying options extra dependable for Clue engineers, permitting for a extra versatile growth expertise from begin to end. Since implementing Compose, the Clue workforce has additionally seen pleasure from potential candidates taken with engaged on the app to allow them to work with extra trendy growth applied sciences.
“The way forward for Compose holds many potential growth areas that would profit builders and corporations. As Compose continues to evolve, we will anticipate to see extra enhancements in efficiency, stability, tooling, and cross-platform assist, which can make it an much more compelling alternative for constructing high-quality UIs,” stated Tilbe.