Configuration-driven UI – Fast Track
the UI Development

Scenario

Measured has seen tremendous growth in terms of providing accurate marketing spend reports with its core in incrementality. However, they were running these services with Tableau dashboards as an MVP. To extend its range of services, Measured took to transitioning from Tableau to native dashboards. This meant there was a need to develop complex custom dashboards consisting of multiple charts, data-heavy tables, quick access buttons, and multiple other UI elements, as well as integrations with backend and data platforms.

With Measured’s wide range of products and services, there was a need to implement a solution that would ease out the same problems for multiple products at the same time and enable Customer Success teams to build custom dashboards out of the box.

Solution

Keeping in mind the product’s complexity and delivering the features and dashboards more systematically and faster, a configuration-driven UI built for reusability was the most suitable solution to cover overall use cases and development.

This implementation came with its own set of challenges. One is Reusability. If a component is reusable, it will have multiple use cases across the product, and the built component should fit the bill for all of it. Not just that, there is also a need to have flexibility to the extent that the components can be interdependent and still perform and manage heavy data. Ex – A “Filter component” (Read about reducing load time by 20x using a Framework level feature) and a “Table Component” are interdependent on each other’s functionality.

Few key behavior flags could be configured in the backend, and each configuration would impact its behavior. The solution would cater to multiple data sources and return different data types of various sizes. It would be primarily decoupled with other platform features and driven by explicit configurations. Such a solution would be scalable in the future as the data sizes would vary mainly between different types of clients.

The design ensured that the complex logical data processing was done at the server end and not at the front end, making the front end really snappy, even for large datasets. The front end would become more responsive and performant, positively impacting usability and adoption.

Once a technical solution was found, to build consensus, we took ownership to explain the repercussions of this problem growing in the future in all areas of the product. Multiple teams need to be convinced of such a significant architectural upgrade. As product management teams managed the roadmap, convincing them that the architectural change was worth the effort was also necessary. We needed to enroll these non-tech stakeholders in a future-proof technical proposal, which wasn’t easy.

During implementation, given multiple teams required to coordinate, we proposed a preliminary design and got it reviewed, and took inputs from each one of them. Later, we developed a detailed development rollout plan,  communicated it to all stakeholders, and got it approved by them.

Benefits

Configuration Driven Development enables both tech and non-tech teams to respond much faster to customer queries and requests. Listed here are some of those benefits:

 

Customer success teams were able to quickly create and demonstrate complex visualizations and build more ambitious dashboards to increase product stickiness using pre-existing components.

Developers reported they were now at an almost 3 times faster pace increment in delivering new features by reusing and benefitting from the component library.

Especially in the case of handling large sets of data, configuration-driven UI established a rather smoother interaction between the UI elements and the backend.

With a central library of UI components, anything built using these components resulted in improved code quality and consistency across the products.

ETA on bug fixes was significantly reduced

Minor changes, like nomenclature changes were made more systematically across the products whenever necessary.

Configuration-driven development made room to address changes and bug fixes based on sections ensuring product uptime.

Let's talk

Get in touch with us by filling in the form below and one of our experts will be in touch shortly.