Building the New Uber Freight App as Lists of Modular, Reusable Components

Building the New Uber Freight App as Lists of Modular, Reusable Components

  • September 8, 2019
Table of Contents

Building the New Uber Freight App as Lists of Modular, Reusable Components

As Uber Freight marked its second anniversary, we went back to the drawing board to redesign its app. The original carrier app was successful for owner-operators with one or two drivers, but it wasn’t optimized for larger fleets—feedback we were hearing directly from our carrier base. It let carriers find and move freight from point A to point B, but did not support multi-stop loads with multiple pick-ups and drop-offs.

On the engineering side, our team was growing in size. Each piece of technical debt became another unnecessarily complex example in our codebase. Our engineering velocity decreased—simple features took weeks to deploy.

Efficiency was not scaling with increased headcount. We saw the app redesign effort as a great opportunity to rethink how our app was built. Internally, we wanted to ensure that the sum of our team was greater than the individual parts.

Externally, we wanted to quickly give our carriers new features and improved user experiences without compromising quality. In 2016, Uber’s Mobile Platform team rewrote our rider app on a new (now open source) mobile architecture called RIBs. In 2017, the Driver team rewrote our driver app and adopted that same architecture.

In an effort to future-proof the app, The original Uber Freight app was written using the RIBs architecture from the very start. For Uber Freight’s launch in May 2018, the app was built by combining multiple RIBs, structures consisting of routers, interactors, and builders that make up the architecture of Uber’s open source, cross-platform, mobile architecture. It had good code isolation, a well thought out RIB tree with deep scopes, and decent separation of concerns.

Source: uber.com

Tags :
Share :
comments powered by Disqus

Related Posts

Smartphones Are Killing the Planet Faster Than Anyone Expected

Smartphones Are Killing the Planet Faster Than Anyone Expected

A new study from researchers at McMaster University published in the Journal of Cleaner Production analyzed the carbon impact of the whole Information and Communication Industry (ICT) from around 2010-2020, including PCs, laptops, monitors, smartphones, and servers. They found remarkably bad news. Even as the world shifts away from giant tower PCs toward tiny, energy-sipping phones, the overall environmental impact of technology is only getting worse.

Read More
Flutter 1.0: Google’s Portable UI Toolkit

Flutter 1.0: Google’s Portable UI Toolkit

Today, at Flutter Live, we’re announcing Flutter 1.0, the first stable release of Google’s UI toolkit for creating beautiful, native experiences for iOS and Android from a single codebase. Cross-platform mobile development today is full of compromise. Developers are forced to choose between either building the same app multiple times for multiple operating systems, or to accept a lowest common denominator solution that trades native speed and accuracy for portability.

Read More