Pickup in 3 minutes: Uber’s implementation of Live Activity on iOS

This post details the engineering challenges and solutions for integrating Apple's Live Activities into Uber's Rider app. Key technical contributions include: a strategy for handling dynamic image assets by serializing them to disk due to Live Activities' lack of networking; a fallback mechanism using a backend service and push notifications to ensure reliable updates when the main app is not running in the background; an estimation of backend API impact and the use of feature flags passed via disk; and the development of a server-driven language (DSL) to ensure content consistency between iOS Live Activities and Android push notifications. It also quantifies the impact on user behavior metrics like driver and rider cancellations at pickup, and discusses the challenges of collecting engineering metrics for Live Activities due to incomplete data.