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.
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.
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.
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.
Uber engineers outline how we came to the resource-intensive decision to rewrite, rather than migrate or update, our driver app.
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.
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.
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.
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.
Uber's mobile engineers leverage code generation to make our applications more reliable and boost developer productivity.
By unifying mobile onboarding experiences for our new rider app, Uber Engineering made it easier than ever before for users to "get moving."
Uber Engineering built and open sourced NullAway, our fast and practical tool for eliminating NPEs, to help others deploy more reliable Android apps.
Uber Engineering's XP Background Push mitigates bugs safely and efficiently in real time, facilitating more seamless user experiences on our apps.
Uber Engineering's new open source tool, AutoValue: Bundle Extension, decreases the likelihood of encountering bugs by enabling Android engineers to quickly unbundle data into value classes.
In this article, members of Uber’s Mobile Platform team introduce Startup Reason Reporter, our new open source tool for detecting startup reason on iOS.
Uber Engineering shares our best practices for working with plugins, a powerful tool that enables us to build and ship features quickly at scale.
Uber Engineering built a new microservice to power Driver Profiles, an in-app platform that enhances the Uber experience by celebrating drivers.
In this article, we discuss how Uber Engineering designed m.uber, a lightweight web app that delivers a native app experience for riders on mobile browsers.
In 2016, Uber Engineering built and open sourced RAVE, a data model validation framework for Android that leverages Java annotation processing to protect against crashes caused by invalid data.
In this article, Uber Engineering shares our best practices for relieving RxJava backpressure on Android through targeted operators, more forgiving RxJava 1.x configurations, and RxJava 2.x.