back

Artem Rudoi

Android Developer at Badoo

Biographical note

Artem has around five years of experience in Android development. He joined the Android world with a very junior level in programming, but through the years managed to work both in B2B and B2C companies. He's now working at Badoo in London.

    Scalable UI. We implement, test and speed up development

    android
    3 October 2019 | 14:00 | Badoo Room

    We are developing several applications for millions of users across the world, and lots of features are run with A/B tests. Due to the specific nature of this case, a combination of speed and quality of development is critical for us. However, given such a large code base, the large number of A/B tests and several generations of legacy general UI components, it is becoming more and more difficult to keep up.

    We are developing several applications for millions of users across the world, and lots of features are run with A/B tests. Due to the specific nature of this case, a combination of speed and quality of development is critical for us. However, given such a large code base, the large number of A/B tests and several generations of legacy general UI components, it is becoming more and more difficult to keep up.
    We decided to develop a single design system, Cosmos, which would simplify the interaction between designers and developers. It would also significantly speed up and simplify the development process. I am going to tell you how we scaled this approach, how we globally refactored the application, and how our in-house decisions in regards to testing assisted us. I’ll also talk about how we parameter UI components synchronically on all platforms with the help of design tokens, and how this simplifies the structure of UI modules on a scale of several applications. I am going to share the difficulties we encountered during the UI scaling process and how this approach has significantly improved our quality of development.
    I am also going to talk about:

    • design tokens, what they are needed for, how we implement them and how they help us support design in respect of synchronisation
    • About our Remote Icons Pipeline, how we parse icons from the sketch file in a synchronised manner on all platforms
    • How tokens and the Remove Icons Pipeline have assisted us all-round as we have made a global a/b test for redesign
    • And how this is scaled for all the company’s applications to scale development speed. We have a single MVIcore architecture, and this seamlessly leads to the emergence of a single approach to UI development. I will tell you about the architecture of UI modules and how it allows us to share UI between applications almost for free.
    • And, of course, I will tell you about the problems we encountered at each stage

    We decided to develop a single design system, Cosmos, which would simplify the interaction between designers and developers. It would also significantly speed up and simplify the development process. I am going to tell you how we scaled this approach, how we globally refactored the application, and how our in-house decisions in regards to testing assisted us. I’ll also talk about how we parameter UI components synchronically on all platforms with the help of design tokens, and how this simplifies the structure of UI modules on a scale of several applications. I am going to share the difficulties we encountered during the course of the UI scaling process and how this approach has significantly improved our quality of development.

    I am also going to talk about:
    – design tokens, what they are needed for, how we implement them and how they help us support design in respect of synchronisation
    – About our Remote Icons Pipeline, how we parse icons from the sketch file in a synchronised manner on all platforms
    – How tokens and the Remove Icons Pipeline have assisted us all-round as we have made a global a/b test for redesign
    – And how this is scaled for all the company’s applications in order to scale development speed. We have a single MVIcore architecture, and this seamlessly leads to the emergence of a single approach to UI development. I will tell you about the architecture of UI modules and how it allows us to share UI between applications almost for free.
    – And, of course, I will tell you about the problems we encountered at each stage