Skip to main content
Mobile

Engineering Uber Beacon: Matching Riders and Drivers in 24-bit RGB Colors

14 February 2019 / Global
Featured image for Engineering Uber Beacon: Matching Riders and Drivers in 24-bit RGB Colors
With Uber Beacon, riders can select a display color, which we transmit to the Beacon device in a driver-partner’s car, letting the rider quickly identify who is picking them up.
Figure 1: Beacon functionality is broken up into logical managers that reflect Beacon’s state and provide capabilities specific to their domain.
Figure 2: In this subsection of Carbon’s RIB tree, Beacon Workers attach at Active and Online scopes. Managers are injected into the dependency graph at Active and provided to the downstream Workers.
Figure 3: When Beacon is connected to a driver’s app, the capability is relayed to the backend so that when a rider is matched with this driver, they can select a Beacon pickup color.
Figure 4: If there are multiple rides in progress, we maintain a map of those riders’ selected colors.
Figure 5: As riders are picked up, we retrieve their latest selected color from the map.
Kevin Babcock

Kevin Babcock

Kevin Babcock is an Android engineer by trade, with extensive experience developing Bluetooth LE connected devices, their protocols, and end-to-end technology stacks. At Uber, he leads engineering for Uber beacon and sees a future where Uber has the most impactful IoT network in the world.

Posted by Kevin Babcock

Category: