By Todd Burner, Developer Advocate
In this new series, we feature customers that have used our platform in an innovative way. For this installment, we chatted with the app team at Doodle who used the Fabric and Firebase platforms together to redesign their app to be more user-centric. If you want to participate in this series, please email firstname.lastname@example.org.
Recently, we sat down with Alexander Thiele who is a senior Android engineer at Doodle, a company that helps you find the best date and time to meet other people. As early adopters of Fabric’s Crashlytics and Firebase Remote Config, his team has expert familiarity with our platforms. The focus of our conversation was on how they redesigned their mobile app using analytics and crash data from their Fabric and Firebase dashboards.
Q. How did you approach the redesign?
“The redesign is a complete overhaul of our app. We started by updating our onboarding flow to help people understand the best ways to use Doodle. We wanted to show users how they can poll each other to quickly find the best meeting time. We divided the redesign into three phases, first improving stability with Fabric’s Crashlytics, then A/B testing our poll creation feature with Firebase Remote Config, and finally measuring the results of our tests and production rollout by monitoring our app metrics in Fabric and Firebase analytics."
Phase 1: Finding tricky crashes
The team at Doodle wanted to understand how stability was impacting their app quality. That’s why they first focused on getting their crash-free user rate as close to 100% as possible.
Fabric’s Crashlytics helped them track crashes and prioritize them so they could improve their crash-free user rate. One feature they found particularly useful is adding logs and keys to crash reports.
Q. How did Fabric’s Crashlytics help you improve your app stability?
“Crashlytics saved us a ton of time by surfacing crashes and helping us pinpoint their cause. I remember one really rare crash which we couldn't find the source of ourselves. We also don't have many crashes so we were really eager to find it. We then started to log everything that could be related to this crash, like page visits and the current internal database size. We also recorded those instances when our database couldn’t find something. After a few releases with custom logs, we found the bug. It happened in a really rare case where the user went to specific screens and used some specific features. Without custom logs, we wouldn’t have been able to find this bug.”
The team at Doodle also logs all crashes that they manually catch in the code to Crashlytics as non-fatals. This gives them more insight about what's going on in the app. By taking advantage of these unique Crashlytics features, Doodle has been able to move faster and add new features into production with less anxiety.
Phase 2: User-centric design
The second phase of the app redesign was focused on updating the user experience and design. The goal of this phase was to refresh the look and feel of the app and introduce streamlined flows so users could accomplish their tasks faster (and with fewer screens/steps).
Q. What types of UI changes did you make in the redesign?
“The changes we made during this stage included everything from changing the color palette to introducing new screens and adding new app functionality. By monitoring the 7 day retention metrics in Fabric and Firebase, we saw that some new users didn’t understand the concept of Doodle immediately - so they didn’t return to our app. That’s why we changed the whole onboarding process to make Doodle easier to understand and use from the first time it’s installed.”
Q. How did you test your changes?
“We used Firebase Remote Config. We tested our user onboarding and the flow users go through when creating a poll. We tried 4 different kinds of flows, which we tested using Remote Config. In the end, the data showed that one flow resulted in more polls being created than the others. Our key performance indicator for the A/B test was the numbers of polls created by users, and we tracked this KPI with Google Analytics for Firebase.“
Q. Did you use Remote Config for other things?
“We also used Remote Config to test feature switches. For example a few months ago, we implemented banner ads on our scheduling screen and enabled them through Remote Config. We noticed that these ads didn’t perform well so we turned them off easily with Remote Config. Then, we tried inserting native ads into a few other places in our app. Through Remote Config, we were able to discover the right placement for ads in our app without disrupting our users or requiring them to update their app to see the changes.”
By tracking crashes and non-fatals with Fabric and deploying changes with Firebase Remote Config, the team at Doodle didn’t have to depend on the app store release cycles to understand their users and update their app accordingly. They could see user behavior change in real-time and make appropriate changes to their app before problems arose.
Phase 3: Measuring and going forward with Firebase and Fabric
The team at Doodle plans to keep using both the Fabric and Firebase platforms to monitor and improve their app - and display their metrics throughout every stage!
Q. Now that the redesign is live, what dashboards do you find yourself using the most?
“Our most important metrics are how many polls a user creates and how many people participate in a poll. We monitor these in the Fabric events dashboard and in Google Analytics for Firebase by logging events.
I’m also a big fan of the new TV Mode for Fabric, we have a big conference room and we put up our dashboard on the TV during launches so the whole team can see how we’re doing. The new Crashlytics dashboard looks nice too, especially device and OS filtering. We keep an eye on most of the dashboards daily.”
Q. What Fabric and Firebase features do you plan to adopt next?
“Over the next few weeks, we have plans to adopt Firebase Dynamic Links and to set up more in-depth Fabric custom events. By using Dynamic Links, we’ll be able to make it even easier to share polls. For example, our users will be able to invite other people to participate in polls via SMS and deep link right to the relevant app screen (even if the people they are inviting to the poll haven’t installed the app yet). We’ll track more events, like content views, to understand where our users find value in our app.”
Q. What advice do you have for other app teams who are considering redesigning their app?
“Two things: test ideas constantly and put your app users first. By combining Crashlytics’ real-time crash reporting with the ability to deploy remote changes to a subset of users through Firebase Remote Config, you can learn how valuable a new feature is, identify potential issues, and take action immediately.”
Q. Can you share some results of the redesign?
“This redesign greatly improved our in-app poll creation process so users could create polls faster and more easily. We measured the success of this redesign by looking at our daily active users (DAUs) in Fabric and our retention numbers in Firebase/Fabric, which have risen beyond our expectations!”