Engineering the Future of Maps at Uber


Maps are at the heart of Uber’s services and core to the experience for millions of users. Our cutting-edge cartography makes it easy for drivers to locate passengers, delivery people to quickly transport meals via Uber Eats, and JUMP users to hop on the closest scooter or bike. 

Maps aren’t always flashy (although many of our Uber Movement data visualizations are quite striking), but they’re incredibly important. In fact, the nature of our maps technology means that if our users take them for granted, we’re doing a good job. Underlying the graphical representation of streets and places exists a complex set of data allowing algorithms to calculate optimal routes based on traffic, speed limits, and other properties. Engineering teams from across Uber all collaborate on and contribute to them. 

Below, we highlight articles from the Uber Eng Blog that explore how our engineers push forward the frontier of mapping innovation for customers worldwide:

diagram of map architecture

 

In order to be maximally useful to our users, Uber’s maps should be accurate at any given minute. This is no small task considering the massive surface area our apps cover and the fact that cities can change overnight. For example, if a town adds a new stop sign, or decides to no longer permit right turns on red lights at a particular intersection, our maps need to reflect those changes. 

Software developer Ines Viskic and her team tackle these challenges using metrics computation. In her article, Ines describes how her team divides maps into manageable regions and tests for inaccurate street data using a map quality computation system. Once this system identifies a defect, engineers can determine the source of the problem and correct it. Ines’ team’s work makes it possible for our engineers to constantly iterate and keep our maps up to date. 

diagram of route planning between two gps points

 

Drivers can use Uber’s app to find a route to their next fare or destination. In order to help our users move as efficiently as possible from Point A to Point B, engineers on the Uber Maps team built the CatchMapError, or CatchME, system. This feature uses GPS traces of user behavior to identify inconsistencies between the routes we suggest and which drivers on the ground actually choose. 

CatchME aggregates this driving behavior data to identify places where a majority of drivers consistently choose a different route, indicating a likely change to a street not yet reflected on our map. Similar to Viskic’s map quality computation system, CatchME helps flag errors so our teams can quickly correct them. Within its first three months of release, CatchME found over 28,000 map changes, helping make our in-app maps much more precise and true to life. 

architecture of nlp system for ticket recognition

 

While computerized systems can provide very valuable data to improve Uber’s maps, sometimes our customers provide valuable feedback by filing a support ticket informing us of a city street or infrastructure change. Of course, at the scale of our business, we typically process thousands of customer support tickets per day. Manually combing through these looking for those pointing out map changes would be quite time-consuming. 

Fortunately, our engineers had a solution: use natural language processing (NLP) to automate the process of finding map errors in customer support tickets. This system automatically combs through customer support tickets, looking for words and combinations of words that indicate a map-related issue. Our internal mapping experts can then verify the issue and make any necessary changes to the map.

architecture of Uber app map display

 

In late 2018, Uber released a new version of its driver app. In service of this critical update, we took on the task of improving the map display in the app, making it more scalable. The app’s original map display system was designed in 2013, when the app’s features were much more limited. As Uber scaled and its driver app became more complex, new bugs emerged. We split the maps logic and redesigned the map system’s architecture, making it more adaptable and performant. 

diagram of machine learning workflow for map impovements

 

Uber engineers leverage machine learning techniques to improve many facets of our business, including our maps system. In his article about how machine learning (ML) and AI affect our transportation-based products, engineering manager Chintan Turakhia describes how his team combined mapping technology with ML to provide smart suggestions for user destinations. 

Our destination prediction feature uses a rider’s location, the time of day, past trip data, and aggregated information (especially when a rider has no trip history) to offer potential endpoints for his or her trip. For example, in the morning a rider opening the app might see their work location as a suggested destination. This feature correctly fulfills more than half of all destination entries, freeing users from constantly having to retype the same addresses. 

Guiding the future of transportation  

From ML to metrics, Uber’s engineers utilize a wide variety of advanced methods to keep our maps up to date. As the physical world, our company, and our user’s needs continue to evolve, so too will the complexity and capabilities of our maps, enabling seamless transportation for users across the world. . 

If you’d like to be a part of this process, consider applying for a role engineering novel solutions for Uber’s maps.



Source link