iRobot Uses Flutter to Expand Access to Coding
increase in monthly active users
Although best known for its Roomba® Robot Vacuums, iRobot also creates programmable robots that teach coding skills in a fun, hands-on way. Developed by the iRobot Education division, the iRobot Coding App lets coders of all skill levels control a virtual robot — or, with the companion Root® coding robot, a real-life one.
However, because the App was originally developed in Swift, it was only available for iOS devices. To make STEM education available to a broader and more diverse audience, iRobot Education wanted to release Android and web versions of the App as well. That meant finding a cross-platform solution that was easy enough to be managed by a small team, but powerful enough to support high-quality performance and user experience.
The team chose Flutter because it offered a single codebase, a modern language, and an advanced graphics framework to support the App’s highly visual and interactive experience. Plus, the scope was manageable without requiring an enormous amount of resources.
Because the team was already familiar with Google’s Firebase cloud platform, they felt confident that the Flutter documentation would be similarly helpful and easy to use, which also played a role in their decision.
Within weeks, the team was writing production code with Flutter and—in a fraction of the time it had taken to write the original iOS app—they released a multiplatform version of the iRobot Coding App on Android, iOS, and web. This was all the more impressive considering most of the team had never used Flutter or Dart before.
“With Flutter, we’re able to accomplish with one or two developers what would take other teams 10-20 people to pull off!”
-Julián da Silva Gillig, Lead Software Developer, iRobot Education
Since launching with Flutter, the iRobot Coding App has expanded to 170 countries and three major platforms, quadrupling the number of monthly active users. Because the App is now much easier to maintain, the team has been able to focus on rolling out new features across all three platforms, including an ambitious new 3D simulator environment. The iRobot Education engineering team now includes 2 full-time Flutter developers to help them maintain and develop new features for the future.