Maps and routing, therefore, are crucial to Uber. As more drivers and passengers join the service, keeping track of all those cars, pickups and drop-offs, and routes has become a monumental undertaking. With that in mind, the company built its own mapping system. That means it's built its own navigation into the drivers' app. With that app, Uber can detect where a driver is; cross-reference that with current traffic situations, historical traffic data and how close they are to a potential passenger in relation to other drivers; and share the best route to pick that person up. That's all before we get in the car, so it needs more than just the directions offered by Google Maps and Waze.

"If you look at the way maps have been designed up until now, they are designed for navigation. But if you look at the ride-sharing industry, this sort of changes a lot, because it's not so much about your navigation and you going somewhere yourself but it's about things like pickups and drop-off's," Manik Gupta, director of product, maps, at Uber, told Engadget.

With that in mind, one thing that's important to the company (and to you, the rider) is the ETA. There's nothing more frustrating than seeing that the car will arrive in four minutes and it shows up after 12. To calculate that correctly (and not piss you off), Uber needs to find a driver and figure out the best route to pick you up. And then keep doing that thousands of times per minute. According to the company, it calculates enough routes per second to go around the Earth 15 times.

The ride-hailing company uses its own in-house routing tech, Garafu. That system's algorithm is 43 times faster than off-the-shelf solutions, according to Uber. But if you've ever used Uber, you know that its ETAs aren't always correct.

Uber chalks this up to drivers not using its mapping solution (there are a lot of Waze and Google Map fans out there), incorrect GPS locations and traffic events. Because GPS is line of sight, it's understandable that a car in an urban valley or surrounded by tall buildings would sometimes appear where it's not. The company does use a dead reckoning (tracking something based on an expected course) algorithm to help determine where a car is if it's bouncing all over the map.

Finally, there are real-world events: an accident, an unexpected road closure, construction work or a concert/sporting event. In San Francisco, one thing that throws ride-hailing into chaos is Outside Lands, a yearly music festival in Golden Gate Park that results in security yelling at drivers and passengers to head to a particular spot for pickups and drop-offs. As you can expect, it doesn't fit neatly into a predicted model.

The company is aware that it's not doing the best job during these situations but has an events team working on it. This, then, brings up an issue about partnering with municipalities. Uber's relationships with cities can be tenuous. From lawsuits to laws, it's either made partnerships with cities or used the courts (and the court of public opinion) to get drivers on the road.

In 2016, Austin, Texas, voted to require fingerprint-based background checks for ride-hailing drivers. Uber and Lyft balked and left the city. Then the Texas state legislature created a law in 2017 that superseded local restrictions, and the two companies returned to the city of bands and breakfast tacos. Now imagine how willing a city like that would be to help Uber during SXSW.

In 2015 Uber put a fake feature into its app in New York to blast Mayor Bill de Blasio about a proposal that put a cap on ride-hailing vehicles. Not exactly subtle.

It's easy to say, "Well, that's old Uber under toxic management." But cities and politicians remember.

It'll probably be a while before some of these cities and the people who run them are ready to work closely with Uber: Public opinion is also an obstacle.

Before he passed away, San Francisco Mayor Ed Lee proposed dedicated pickup and drop-off spots in the city. With cars double-parking and dangerously blocking bike lanes, having riders and drivers meet at a designated spot seems like a win-win. But both the mayor's reputation as being a bit too friendly to tech and Uber's string of bad press meant that some residents saw this as another way the city was placating the extremely well-off tech sector.

Meanwhile the company itself it working to optimize its system regionally. San Francisco -- where the company is based -- has it own set of solutions for issues that crop up, but the company is learning that what works in the Bay Area won't necessarily work in other places. For example, in India, a lack of street signs and addresses predictably make pickups tricky. To try to solve these types of issues, the company has teams around the world that tweak the system's algorithms as needed to meet the unique demands of each area.

It's a lot of work to make sure a car shows up when it says it will and drops you off in a timely manner. To keep up with our demands (and stay in business), Uber will continue to fine-tune its impressive routing and map algorithms. But it can't work entirely in a vacuum if it wants to be part of an evolving public-transportation system. For that, its needs partnerships with the cities it serves -- and there's no amount of processing power or algorithms that are going to solve those issues.