Skip to footer

Mobile

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.
Uber driver app and RIB tree

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.
Uber driver

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.
Subway platform

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.
Uber Beacon app screen

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.
Uber Lite pickup screens

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.
Uber driver app screen

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

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 - feature_image

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.
Carbon: Optimistic Mode article feature image

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 feature image

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.
Why We Decided to Rewrite Uber's Driver App

Why We Decided to Rewrite Uber’s Driver App

Uber engineers outline how we came to the resource-intensive decision to rewrite, rather than migrate or update, our driver app.
A JUMP bike rider at the Golden Gate Bridge

Building a Multi-Modal Transportation Platform with JUMP Bikes

Making JUMP Bikes' semi-dockless electric bicycles available on Uber's platform not only added a popular new transportation type for Uber riders, but also marked an important step in how we can use our technology to broaden transportation options.

Introducing Nanoscope: An Extremely Accurate Method Tracing Tool for Android

Uber's Mobile Engineering team open sources Nanoscope, a new method tracing tool for Android that enables developers to more accurately debug difficult performance issues.

NEAL, Uber’s Open Source Language-Agnostic Linting Platform

Not Exactly a Linter (NEAL) takes code reviews one step closer to full automation by allowing engineers to write custom syntax-based rules in any language.

Playing the Perfect Game: Building Uber Eats on Android

To mark the two-year anniversary of Uber Eats, Android engineer Hilary Karls discusses how her team's commitment to "playing the perfect game" resulted in one of Uber’s most successful products.

Harnessing Code Generation to Increase Reliability & Productivity on iOS at Uber

Uber's mobile engineers leverage code generation to make our applications more reliable and boost developer productivity.

Popular Articles