Tag: Android
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.
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.
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.
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.
From Financial Models to iOS Model View Controllers: Making a Career Move to Programming
Joe Zhou, the 7th iOS engineer on the Uber Eats team, offers advice for those considering taking the plunge into programming.
Food Discovery with Uber Eats: Recommending for the Marketplace
Uber Eats engineers describe how they surface restaurant recommendations in the app using multi-objective optimization to give eaters the most satisfying experience while maintaining the health of the Uber Eats marketplace.
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.
Rethinking GPS: Engineering Next-Gen Location at Uber
Uber’s Sensing, Inference, and Research team released a software upgrade for GPS on Android phones that significantly improves location accuracy in urban environments.
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.
Scaling Reliable Transportation for India: Meet Uber Bangalore Engineering
In this article, members of Uber Bangalore Engineering discuss their role in building reliable transportation systems at scale for India—and beyond.
Engineering NullAway, Uber’s Open Source Tool for Detecting NullPointerExceptions on Android
Uber Engineering built and open sourced NullAway, our fast and practical tool for eliminating NPEs, to help others deploy more reliable Android apps.
How to Have Your Software Engineering Job and Eat It Too
Uber Engineering’s Aimee Lucido reflects on how she redefined her career as a software engineer through advocacy and writing.
Deploying More Reliable Apps with Uber Engineering’s XP Background Push
Uber Engineering's XP Background Push mitigates bugs safely and efficiently in real time, facilitating more seamless user experiences on our apps.
Unpacking the Android Bundle with AutoValue Extensions at Uber Engineering
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.
Engineering Scalable, Isolated Mobile Features with Plugins at Uber
Uber Engineering shares our best practices for working with plugins, a powerful tool that enables us to build and ship features quickly at scale.
Driver Profiles: How Uber Engineering Celebrates Drivers
Uber Engineering built a new microservice to power Driver Profiles, an in-app platform that enhances the Uber experience by celebrating drivers.
Building m.uber: Engineering a High-Performance Web App for the Global Market
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.
How Uber Engineering Verifies Data at Runtime with the Annotations You Already Use
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.
Demystifying RxJava Backpressure on Android at Uber Engineering
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.
The Journey To Android Monorepo: The History Of Uber Engineering’s Android Codebase Organization
The monorepo codebase powering Uber Engineering's Android rider app is architected to scale for growth while supporting the IDE, reducing build times, and stabilizing the master during integrations.