There are some anecdotes that it also happens on Rideshare, but I don't have a car so I can't verify until Uber allows me to pick up passengers on the handlebars of my bike
Previous versions of the app would use the first result returned by Google Directions API, which could have been best not shortest (I'm not sure, anyone know?). Newer version (pending app store review) does shortest always.
The salon article was posted with about 8 hours of data in Google Analytics. Business Insider has more up-to-date numbers, with about 4 days of data from the Chrome Extension.
(b) you can change your tip afterward if your service was not as expected.
Just like in a restaurant: maybe your default tip is 25%, but great service bumps that up, and bad service bumps it down. You go in expecting to pay 25%.
Overpayments are much less frequent than underpayments, and regardless: when someone accepts a trip, who knows if they did it because they thought "that amount sounds fair" or thought "that amount given the distance shown sounds fair." The only fair thing for Uber to do here is to rectify all underpayments, and let the overpayments stand.
Further: just because Uber couldn't find a route as efficiently as the extension could doesn't mean it was an overpayment. The extension uses Google Maps. If the driver used Uber Navigation to navigate, and Uber navigation was twice as long as Google's - is that really an overpayment?
Exactly! That's why it took me (the guy in the article) so many phone calls and emails with Uber before somebody admitted the bug - and I got it on tape (with their consent). Must have spent five hours dealing with support before they admitted it.
I would love if Uber trained and trusted their support staff to identify real bugs, and to escalate appropriately...I was so tempted to just go on LinkedIn, find some engineers, and message them directly.
That's my guess - but only sometimes. Most of the time they correctly compute distance traveled. If they consistently did it as a straight line distance, that's that - it's their stupid algorithm. In this case, it's a bug that pops up occasionally.
Verified this with phone support and the fact that 90% of my payments are correct, not based on the straight-line distance.
I've been cheated. What can I do?
The extension has instructions: call UberEats support (for me, the number is 800-253-9435 - check the app for your number). Ask for a supervisor. Email support and first-line phone support _cannot_ help you. The supervisor can. Explain the problem, be relentless, and you'll get a payment adjustment. Do this for every transaction you've been cheated on.
That's a lot of effort for a few dollars
You're right - it's not realistic to expect everyone who has cheated to call Uber and spend 30 minutes on the phone to get a few dollars back. Worry not - I anonymously track how much each person has been cheated on each transaction. If there are thousands and thousands of people who have been cheated, and I can prove it with data, there might be bigger action we can collectively take.
What next?
Uber can block this app at any time. They can prevent me from checking the GPS coordinates of the pickup/dropoff location, and once they do that, this extension is forever dead. Nothing I can do. So please download it ASAP so we can find out the extent of their cheating before they block the extension!
Point is (and I should clarify in the post): qt doesn't document which functions do and don't update the GUI, and you have no guarantees when calling an arbitrary Qt function that it won't. This is practical advice to stay safe. A seemingly innocuous Qt function might internally update the GUI, as shown in the example.