Optimize your apps at scale using Firebase Remote Config

Optimize your apps at scale using Firebase Remote Config

Matthias Friedrich, Android Chapter Lead at electric ridesharing service MOIA, talks about his app development journey and how MOIA uses Firebase tools to optimize their customer-facing and internal apps.

I've been an Android developer since the first Android phone became available in Germany. My curiosity led me to explore the inner workings of my phone, and then I discovered the world of open-source operating systems. I got hooked and started playing around in Android’s development environment. I liked Android because it offered more possibilities for developers to explore new ideas and collaborate on different projects.

Mobility in cities needs to change — when everyone travels with their individual car, it creates congestion and a less than ideal environment for everyone. My passion to create change in this space led me to MOIA. At MOIA, I get the opportunity to be a part of the overall solution that promotes sustainable mobility in cities through research and collaboration with people who work in the transportation industry.

Additionally, I love that we own the whole value chain: the mobile apps used by our customers and drivers, the pooling algorithms used to match customers to vehicles, hiring drivers as full-time MOIA employees, concepting vehicles from the ideation stage, and all the software and infrastructure needed to operate the service. This helps us build equity throughout the whole process and empowers us to provide a service that puts the user and environment first.

We have three mobile applications: the customer-facing app, navigation app, and operations app. Our customer-facing app, available on both Android and iOS, is what our end users use to book their trips, and follow the route of the car on the map.

Inside our vehicles, we have our native Android navigation app, available only to drivers, which shows them the most efficient route to take. However, it goes way beyond a standard navigation app because we tightly integrate the app with the vehicle itself. For example, we designed it to have a redundant internet connection and use the vehicle’s own odometry-enhanced location signal.This integration with and control of the vehicle’s routing behavior is key for us to provide optimal and efficient service to our customers.

The third application is our operations app, which our drivers use on their private phones to maintain their working shifts, locate, lock/unlock vehicles, send damage reports, and more.

Watch MOIA story on the official Firebase YouTube channel.

From the user’s perspective, our product is simple - enter a location, request a trip, reach your destination. However, it isn’t as simple as that in the background. Pooling people into vehicles while optimizing for short wait times, travel times, and an efficient use of our vehicle fleet is a complex mathematical problem that our users don’t have visibility into.

Each newly requested or canceled trip can potentially change the schedule for several vehicles and other customers, who don’t always understand why a certain vehicle is chosen or why the vehicle arrival time has changed.

Optimizing the ride pooling process, and providing a UI which makes the complexity of pooling and the specialties of using shared vehicles understandable to our users is one of our main challenges.

To enhance the ride pooling experience for our users, we use Firebase Remote Config to experiment a lot with different approaches in our UI. Remote Config enables us to test out UI variations such as when and how to show data such as assigned vehicle, estimated time of arrival, or how to communicate vehicle changes. As a result we are then able to evaluate the best user experience based on feedback we get from riders and internal KPIs like the cancellation rate.

To ensure our users don’t run into any issues when booking a ride, we use Firebase Crashlytics to monitor the stability of our three mobile apps. With Crashlytics, we are able to easily identify when and how a feature crashes. Such integrations take away lots of needed investigative work from us, and gives us the time to focus on building new features.

In the near future, we intend to use completely autonomous vehicles in Hamburg and eventually beyond. However, it's a whole new field to solve from a UX point of view without blueprints or established solutions; especially around what a customer expects from a fully autonomous vehicle to feel safe. It’s a lot of unknowns, but we believe Firebase will help us explore these new challenges.

Firebase is a good solution for mobile developers because it offers a whole suite of well thought-out and deeply integrated features, all built with mobile development in mind by people who really know today’s mobile app platforms.

Thanks Matthias for taking time to share your Firebase Story and behind the scenes of MOIA. To hear more of these developer stories, check out our website, follow us on Twitter and subscribe to the Firebase YouTube channel.

Images Powered by Shutterstock