Engineering Failover Handling in Uber’s Mobile Networking Infrastructure
Millions of users use Uber’s applications everyday across the globe, accessing seamless transportation or meal delivery at the push of a button. To achieve...
RxCentral: Uber’s Open Source Library for Seamless Bluetooth Integrations
Uber introduces RxCentral, an open source library to reliably and repeatedly connect Bluetooth devices using a platform-agnostic, reactive design.
Introducing Menu Maker: Uber Eats’ New Menu Management Tool
To simplify the Uber Eats experience for our restaurant-partners, we built Menu Maker, a web-based tool for seamlessly managing menus on the Uber Eats app.
Introducing Cyborg, an Open Source iOS Implementation of Android VectorDrawable
We built Cyborg, an open source implementation of VectorDrawable for iOS, to more easily implement designs across our apps.
Best Practices for Unit Testing in React Version 16
Uber ATG Web Platform intern Anat Kleiman shares her advice for testing React version 16 components when altering application logic.
Building the New Uber Freight App as Lists of Modular, Reusable Components
We redesigned the Uber Freight app with RIBs, our open source plugin architecture, to enable quicker feature rollouts and an improved user experience.
Introducing Uber Poet, an Open Source Mock App Generator for Determining Faster Swift Builds
Uber Poet, an open source mock application generator, helped us determine if refactoring the application part of our code into a few large modules would make our overall Swift build times faster.
Activity/Service as a Dependency: Rethinking Android Architecture for the Uber Driver App
Architecting the Uber driver app for Android, which needs to run for extended periods of time in the background, involved a unique idea where Activities and Services were not included in the structural foundations.
Employing QUIC Protocol to Optimize Uber’s App Performance
Implementing QUIC protocol against TCP over cellular networks on our apps led to a reduction of 10-30 percent in tail-end latencies for HTTP traffic.
Measuring Kotlin Build Performance at Uber
To determine if it made sense to adopt Kotlin for our Android monorepo, Uber's Mobile Engineering team measured Kotlin build performance at scale across a variety of project structures.
Scaling Mobile Device Management for macOS with Chef at Uber
Uber's IT Engineering team scaled mobile device management on macOS by leveraging open source tools and custom API-driven Chef cookbooks.
Building a Real-time Earnings Tracker into Uber’s New Driver App
What began as a means of showing Uber's driver-partners their real-time earnings quickly became an extensible means of communicating not just earnings, but also incentives and other useful information within our new driver app.
Architecting a Safe, Scalable, and Server-Driven Platform for Driver Preferences with RIBs
Our driver app's new server-driven preferences section enables driver-partners to customize their experiences to make the app better fit into their lives.
Engineering Uber Beacon: Matching Riders and Drivers in 24-bit RGB Colors
In our ongoing series about rewriting the Uber driver app, engineer Kevin Babcock explains how we built the connection between the app and the Uber Beacon device, which displays a color remotely selected through a rider's app.
Expanding Access: Engineering Uber Lite
Many people around the world use Android phones based on hardware developed in 2015 and earlier. Uber engineers explain how they developed a lightweight rider app to serve this global audience.
Building a Scalable and Reliable Map Interface for Drivers
In our ongoing series about rewriting the Uber driver app, engineer Chris Haugli explains how we designed the map display to be resilient, and always show the most useful information.
How to Ship an App Rewrite Without Risking Your Entire Business
Rather than shipping out our new driver app as a simple update to Android phones, Uber engineers delivered a dual binary package, enabling a safe and structured rollout of the new app while maintaining support for the previous version.
Scaling Cash Payments in Uber Eats
Uber's new driver app leverages its offline mode along with a cash-drop system organized around restaurants so that Uber Eats customers can pay for deliveries with cash.
How Uber’s New Driver App Overcomes Network Lag
In our continuing series about building our new driver app, Uber engineers discuss building its Optimistic Mode feature, which lets the app continue functioning while traversing network lag areas.
Architecting Uber’s New Driver App in RIBs
In our continuing series about building our new driver app, Uber engineers discuss designing the architecture of the mobile app using RIBs, our open source mobile development framework.