Case study

Canonical Embraces Flutter, Guided by Invertase

How Canonical collaborated with Invertase to modernise core Ubuntu apps with Flutter.

3 minutes readCanonical Embraces Flutter, Guided by Invertase

The Challenge:

Canonical, the company behind Ubuntu, needed to modernise key desktop components for a better user experience and streamlined development. They chose Flutter for its cross-platform capabilities and modern UI but needed to quickly build internal expertise and establish best practices, with a strong emphasis on reliability and thorough testing before releasing new versions and features. This included the desktop installer and a new app centre.

Our Approach:

Canonical partnered with us. Our focus is on empowering client teams to own their cross-platform development. We provided senior Flutter engineers, embedded within Canonical's Ubuntu desktop engineering team, to focus on knowledge transfer and establishing a sustainable workflow.

What We Delivered:

  • Collaborative Development and Mentorship: Our engineers worked directly with Canonical's team, contributing to the Flutter installer and the new Flutter App Centre. This provided hands-on learning for Canonical's engineers, allowing them to absorb best practices and gain confidence in Flutter.
  • Infrastructure and Tooling: We introduced and implemented industry-standard tools and practices, including Melos for repository management, CI/CD pipelines, and linting rules. These streamlined the team's workflow, improved code maintainability, and provided a foundation for future Flutter projects. This focus on engineering best practices is core to what we do.
  • Building In-House Expertise (Including Robust Testing): A key objective was to empower Canonical's internal Flutter developers with comprehensive expertise, including robust testing practices. Through mentorship, code reviews, and knowledge sharing sessions covering testing methodologies and best practices, we ensured a smooth transfer of knowledge. This enabled the team to build, test, and maintain Flutter applications independently, aligning with our goal of building client self-sufficiency.

The Impact:

  • Modernised User Experience: The collaboration directly supported the development of the new Flutter installer and App Centre, providing Ubuntu users with improved and modern experiences.
  • Improved Development Workflow: Implementing best practices like Melos, pipelines, and linting improved the team's development efficiency, maintainability, and scalability, creating a foundation for future Flutter projects.
  • Empowered Internal Team: Through focused knowledge transfer and mentorship, we built Canonical's in-house Flutter expertise, enabling them to own and drive future Flutter development, reducing reliance on external vendors.

Key Outcomes:

This engagement demonstrates the value of our approach to empowering client teams with cross-platform expertise. We provided development expertise and, more importantly, empowered Canonical's team with the tools, processes, and knowledge for long-term success with Flutter. This resulted in tangible improvements for Ubuntu users and positioned Canonical to effectively use Flutter for future projects, demonstrating our effectiveness in building in-house cross-platform capabilities.

Next Steps:

Explore our Cross-Platform Development service

Talk to us about your needs