196 comments

[ 12.9 ms ] story [ 711 ms ] thread
Nice hack. I imagine using it to see if a driver gave me a good rating or not based on the delta between my new score and old score.
lol, that's a great idea.
5.0 (I've never used the service - so it looks like it's all downhill from here...)
What kind of details do you think go into this rating? My guess: how long driver waits for you to get in the car, how drunk and annoying you are, how much you tip (do they see this before rating?), how profitable your ride is.

I suspect most drivers, like most passengers, give a 5.0 to almost everyone, but dock points for being a dick. It just seems there's no other way to differentiate passengers, since they'll be paying the fee regardless.

You don't tip Uber drivers.
Tip is included in the ride, you can't adjust it.

This is not very scientific. I got 4.8 which means absolutely nothing to me.

It means nothing to you but remember that you're not supposed to see these - a 4.8 probably means something to the driver.
For what it's worth, drivers with a rating of less than 4.3 or so are booted from the service.

I've heard of people in my city having trouble and getting a driver to accept, most probably due to him having a low rating (whereas I never have trouble finding a driver)

Low ratings are not the only reason that could happen. Uber drivers run businesses. They are not universal service taxis (which often flout the universal service rule, to be true).

Your request for service includes several non-price elements to it, one of which is your perceived likelihood to be a hassle (and reflected in your star rating), one is the amount of unpaid travel required to get to you, and one is what the driver perceives as likely to be your destination. All else being equal, drivers would prefer to end up in portions of the city with a high density of quality fares (say, an airport, the startup district(s) in SF, etc) as opposed to portions of the city with a low density of quality fares (say, the outer edge of the service area).

If drivers make a habit out of taking "bad" trips, their Uber business gets meaningfully less lucrative. Accordingly, expect them to actively avoid "bad" trips. If one's travel patterns routinely result in drivers perceiving you to require "bad" trips, one is going to have a far different experience with Uber relative to a high-frequency no-hassle business traveler.

You can email Uber and ask for your rating. What I meant is that 4.8 without any context means nothing to 'me'.

If I knew why somebody rated me below 5 that would be a different story.

I had one driver tell me "if you didn't vomit in my car or swear at me, you get a 5."
> how much you tip (do they see this before rating?)

You don't tip with Uber - 'gratuity' is already included. Regardless, the rate-the-customer screen is seen immediately after stopping the trip

Ah my mistake. I haven't used Uber in a while but seemed to remember a screen where you can optionally increase gratuity. I guess I'm confusing it with the Square interface. Who can keep up nowadays...
This is a lot easier than the Charles MITM proxy I used to intercept the Uber iPhone API calls to determine mine. I feel kind of silly now that I didnt bother checking the web API.

I also made a web scraper to get my uber trip details (incl. route driven), save it to JSON and map the trips all at once. http://i.imgur.com/Q1W59rD.jpg. Here's a quick dump of the code https://github.com/joshhunt/uber. It's pretty rough and it makes a lot of assumptions (e.g. metric system and AUD). I never really plan on looking at it again, so your milage may vary.

I also found their API structure to be quite unusual: They make a call to something like `api.uber.com/` with POST data of something like

    {
        url: '/api/user/123123123',
        method: 'get',
        location: [lat, long]
    }
and you'll recieve a response back of something like

    {
        responseData: {
            username: 'madeofpalk'
            ...rest of requested data...
        },
        vehicles: [
            ...list of all vehicles and their locations...
        ]
        ...other data that wasnt explicitly requested but comes through with every request...
    }
I had never seen this pattern before, and thought it was quite unusual (especially for a 'new hip startup' that uses Python and Node.js). Anyone care to comment on why they may have choosen something like this?
Love to see more of your web scraper. Could make cool tools such as send you a text / notification each time your rating changes.
Here's a quick dump of the code https://github.com/joshhunt/uber. It's pretty rough and it makes a lot of assumptions (e.g. metric system and AUD). I never really plan on looking at it again, so your milage may vary.
doesn't seem that strange to me. in the old SOAP days it was easier to run everything through a set of filters and just have what server code specified by a field.

in this case it is pretty clear they sped up requests by returning some generic data every request needed to update the app all at once as well. that's a pretty common requirement. netflix even allows client code to upload server code to pack responses into the least number

> in the old SOAP days

What I thought was strange is that we're not in the 'old SOAP days' any more.

I get what they wanted to do - speed things up by including common data in every request, and avoid state in apps. What I found strange was the way they solved it, esp. given they're (apparently) using Python and Node.js - writing a middleware to insert the common data would be far easier than implementing their own routing layer or whatever they've done.

Of course I'm making a lot of assumptions about what kind of stack exactly they're using (assuming they're using a web framework that we've heard of)

I did a similar hack in an app I wrote where I basically always wanted/needed a fresh copy of a user's account data. Literally halved the number of API calls necessary in early versions of the app. Now the gain is maybe 30% but the code is a lot cleaner regardless.
Is there a term for that? Maybe something like "opportunistic delivery"?
If you're curious, I put together a Python library for that: https://github.com/tals/uber.py

Some of this is remainders from when they just had consultants working on this. Look at hash_password() at client.py :)

Oh that's fantastic! I'm definitely very interested in giving that a try!
This has so many MD5s, it must be ultra secure!
If, as another commenter mentioned, they want every request to update all the data in an app, this is quite an elegant pattern.

They don't have to modify any of their restful APIs to fetch or serialize more data than intended. Instead, the / endpoint might act as a wrapper, which does three things:

1. gets the entire app state

2. makes an internal API call of its own (proxies the one from the request)

3. merges the two results and returns them

This pattern is standard within SOA (Service Oriented Architecture).

You have two classes of services:

1. Technical Services

2. Business Services

The technical services may be REST, SOAP, etc. These deal with the nuts and bolts of: update this one thing, fetch a load of these things (where they are the same thing).

The business services are usually some flavour of RPC JSON or XML, and only occasionally are REST (think of a resource that is actually a composite of other resources, it's usually a business service).

The business service wraps the underlying technical service with the orchestration of which granular services to call, and returns something useful to the user (the client, in this case an app which is also made by the company).

What you quoted was the result of a business service, but you can imagine that behind that are services that individually fetch vehicles, user info, etc. The business service is just wrapping it and doing a useful thing for the user by returning the composite.

It should be noted, there's an idea of a "service catalog". Some people think this is wholly comprised of the business services, but actually it's the superset of both business and technical services. You might have 2 catalogs, one external and one internal... but both are made up of a mix of business and technical services. The goal is simple: Help users to get shit done. In the scenario given, "get shit done" means "perform multiple calls, and because it's mobile and calls are expensive return everything in one call".

The window.Uber variable has a lot of interesting information, like "isAdmin," data about the last vehicle I rode in (interior color, exterior color, model year, capacity), last driver's phone number, "activeExperiments" which I assume are multivariate tests being run against me, etc
The experiments data was the most interesting thing I found. I am in the treatment of an experiment involving driver referral emails
(comment deleted)
I've only had a few rides and ive 4.9 (ie someone didnt rate me 5.0). Meh.

Then again, I don't feel bad rating drivers because they sell me a service, I'm rating that (it wouldnt even have to include their name - it probably shouldn't. then again I'm european, we seem to have slightly different ethics).

I feel bad that they rate us because we don't provide them with anything.

That rating is going to be saved, sold and shared eventually.

Not necessarily. Drivers rating the passenger is a defence against passengers rating the drivers low, and also a way for Uber to keep quality standards high by stopping 'bad' passengers from using the service.
>Drivers rating the passenger is a defence against passengers rating the drivers low

I don't see how this it the case, assuming that drivers don't know what passengers rated them before rating the passenger.

Reciprocal bad ratings from several drivers could indicate a bad passenger who is being fussy etc and trying to take it out on drivers.
But as I say in the GP, I am assuming that the drivers don't know that they are given a low rating prior to giving the passenger a rating.
It's not a low rating that triggers a reciprocal low rating. But an obnoxious and fussy person who gives out low ratings should be discounted if in turn multiple drivers have given him/her low ratings (for being obnoxious).
Just like any other marketplace transaction, we the buyers do provide the suppliers (drivers) with value. Equal value, of course.

Much of that value is automated in the form of our credit card details in our Uber app. But we do provide value in a few other forms: not being obnoxious, not trashing/puking in their car, not harassing them physically or verbally.

All these things happen to taxi and Uber drivers regularly, so there IS a need to keep the demand-side riders in check. It's analogous to eBay or AirBnB's two-sided rating systems.

Also, it's not fair to state as fact that our consumer buyer ratings will be "saved, sold and shared eventually." If Uber were a free consumer app with an unclear revenue source, that'd almost certainly be the case. But Uber isn't in the business of needing to sell that data. On the contrary, any marketplace data they hold is competitive advantage over other driver/rider services. They have at least some incentive to keep that proprietary.

>Equal value, of course.

Both people in a transaction value the thing they have less than the thing the other person is offering, otherwise there's no reason to bother making the transaction.

At least, in theory.

every company eventually goes to the dark side and does something like that, unless it dies before and then nobody knows if the data is gone or not. I'm not sure how its unfair. Pretty sure their 10000 lines clauses will indicate something saying they own all this data, including your location data, etc and reserve to use whatever they want with it.

also at the minimum they should make clear the passenger (you) is going to be rated IMO. Maybe that'd solve the issue of passengers not being courteous or whatever.

>I feel bad that they rate us because we don't provide them with anything.

You provide them with the "I didn't vomit in your car" service.

I feel bad that they rate us because we don't provide them with anything.

In rough order of importance to drivers:

1) Not causing damage to their vehicles.

2) Giving good enough directions on pickup such that they waste a minimum of (unpaid) time getting to you, and exiting the car in an expeditious manner. An Uber driver's KPI is "number of minutes per day with the car in motion with a passenger in it." (This is the biggest reason why many of them keep multiple phones with multiple apps open -- minimizing time between trips maximizes the number of trips they take per day and, thus, revenue.)

3) Not contravening the usual covenants of civil society.

Are there any drivers in the audience who can tell us what different ratings mean?
I'm not a driver, but I know enough about Uber to answer this...

Drivers are prompted to rate their passenger immeditely after the trip, in the exact same manner as riders rate their driver. Then, when a trip is offered to a driver, they're shown the potential customers rating (and other details), then the driver will choose to accept the job or not

I ask a lot of questions: The Uber training, apparently, is that driver's should only ever rate their customers a 5, or a 1. That's it. A customer is either great and a 5, or an asshat and a 1.
Then why didn't Uber make it binary?
I don't know who told you that, because that's not what I was told. I drive for Uber, and there aren't specific 'codes' for ratings.

On lyft, on the other hand, 5 means good, 4 means needs work, 3 means "don't match us up again" and 2 and 1 mean "recommend deactivation", 1 means "dangerous".

I spoke with a driver yesterday about it and he says he will basically pick up anyone above a 4. This was in NY so might mean different things in different places and to different people.
it's actually really hard to tell what the passenger rating is. It only flashes on the screen momentarily. Lyft, on the other hand shows it up until you pick up the passenger. This is helpful, one time I called a passenger as a courtesy and got a really really belligerent tone, and i noticed his passenger rating was really low, and so I told him, "sorry, not worth the effort".
So if you check this after every ride, you'll know exactly what everyone rated you, right?
If you keep track of the total number of rides.
And you assume that there's no weighting or discarding of ratings that goes into the average.
Not necessarily. It shows you only the first decimal.
There's no guarantee that it's a simple arithmetic mean. They could weight by recency or do any number of more complicated calculations.
At the very least, if you're like most users who rate between 4 and 5, you can most likely tell if the driver rated you a 5 (rating goes up) or below a 5 (rating goes down). It would take a pretty strange algorithm to violate that. Of course, this only helps if your rating changes at all
While this is likely to work much of the time, it wouldn't take a particularly strange algorithm to break it. Consider an average rating that is just the arithmetic mean of your last 10 rides. Your rating going up would just mean your most recent rating was better than the rating 11 rides ago that it displaced. If you got a 2 11 rides ago and a 3 on your last ride, your average rating would go up despite getting a below-average rating.
Sure. But to clarify, it seems like for most people, the ratings they receive consist of mostly 5s, with rare outliers (anecdotally in this thread, it seems most ratings are >= 4.5 and most are ~4.8). In that case, the odds of one outlier pushing another outside the moving average window is pretty low.
(comment deleted)
I don't get why Uber doesn't tell me the exterior color of UberX cars coming to pick me up. I have no idea what a "Nissan Versa" is; knowing it's a blue minivan would be helpful.
I agree - it seems like much better design to tell you the color of the car picking you up :)
For those people able to see colours.
So because some people are colorblind or just blind lets not do it. Great logic.

I think we should also disable voice calls. Some people are deaf.

Agreed. I also think we should remove the displays on phones. Some people are blind.
We should remove this thread because some people can't read. Goodbye internets :(
As opposed to currently giving no indication to anyone, colour-blind users included.
I think everyone can see colors, even color "blind" people. Those folks just have a hard time distinguishing between shades of particular colors.

I don't think anyone's literally living in greyscale.

there are but it is very rare and comes with drastically limited eye sight anyways.

Red/Green confusion is quite common though, there are estimates of up to 8% of ("western") males. Definitely a number to consider if you want your whatever to cater as many people on the market as possible.

The commoner kinds of red/green colorblindness, though, are by no means absolute. Most red/green colorblind men can tell highly saturated reds and greens apart -- they only have difficulty with low-saturation refs and greens.
> there are but it is very rare and comes with drastically limited eye sight anyways.

As one of those very rare individuals you allude to (see everything in greyscale), you should be aware that my eyesight (and many people with a similar condition to me) is "limited" but not to the point where i can't cross the street or need to use a screen reader.

Having said that, even for me knowing the colour would be useful even if I can't exactly distinguish it (e.g. I'm waiting for a white station wagon, its definitely not that black hatchback that slowed down in front of me)

They seem to display the license plate number now. That works perfectly.
Displaying the license plate number is less useful when the car is across the street or approaching from a distance.

I also had a fun "gypsy black car running uber app trying to extort me" experience in NYC last trip, and a bunch of black cars who took 15-20 minutes to arrive (despite initially saying "3 minutes" and showing as around the corner). In a few cases I had the driver call me and give me useless directions to where he was, so I cancelled the trip and booked another Uber, and got someone dramatically better.

I apparently have a 4.6 rating.

Can you talk more about the extortion?

Given that Uber apparently drops drivers that get below a 4.5 or something, I wouldn't expect much trouble from them...

Just guessing what he meant:

The black cars in NYC with an iPhone on the dashboard running the Uber app aren't necessarily getting 100% of their fairs via Uber. If they see you as a potential client, they'll still try to pick you up off-network.

If you already hailed an Uber, an unscrupulous driver may potentially tell you "Yeah, I'm from Uber". Although I'm not sure how they'd convince you to pay cash.

I had a similar experience in Palo Alto. Once I realized I was not in the right car, I just got out at the first red light.
I was at W NY finishing my talk for HOPE X with my cospeaker; we were speaking at 2300h Friday so we took an Uber Black from the W to the Hotel Penn around 2100h. An Uber came within 2min of us calling it, approximately the right time, and we were a bit distracted. Walked over to the town car displaying the U logo, and I don't recall exactly, but somehow "You're Marc, right?" got exchanged, and we got in.

The driver was confused about "Hotel Pennsylvania", which was funny since it is a huge hotel, but he said there was a smaller Penn Hotel or something nearby which he thought we'd meant.

We got closer to the location, but still maybe halfway, and Marc got a call from the real Uber driver asking where the fuck he was. He pointed out we'd gotten into the Uber already, and it was clear it was the wrong Uber; we assumed it was just someone else's Uber by mistake. That's happened a few times before in high-volume locations, including one where the 2 cars were from the same livery company in SF and had off-by-one license plates (ours got stolen by someone else); Uber deals with this pretty gracefully for all concerned.

We pointed this out to the driver. Told him to start the meter now, as a new ride (which we'd request); this would be approximately the correct fare, and I was going to give the guy $5-10 extra in cash to be nice. (The whole trip was approximately minimum-uber-black fare distance anyway.)

He acted like he was trying, and failed; we then got to the location, and he demanded cash. We pushed back (the whole reason for using uber is not to deal with cash, and expense reimbursement), but said if he'd give us a receipt, that would be fine. He refused. This went on a little.

I got out of the car to go inside at this point, assuming Marc would deal with it; I was mostly trying to make sure we got our speaker badges before the desk closed. I wish I'd stayed to film the resulting interaction, in retrospect.

After this, the guy actually locked the doors, got out, and then went to my friend's door. He threatened to cut him. (I'm not sure on the details; this is secondhand.) He unlocked it, my friend got out. He's a ~350+ pound ex-bouncer from Manchester, and head of security for Defcon. The driver is a ~120 pound south asian gentleman. Words were exchanged very briefly; the driver gave up and left, unpaid.

I tweeted to @ubernyc, then per their request mailed support, and they replied, but proceeded to do fuck all, as far as I can tell.

We failed as security professionals for not getting dox on the car or driver, but we were pretty distracted. I would have been really upset had this happened to someone who could have felt physically threatened by the driver.

Uber needs some superior authentication system for drivers; btle or wifi or flashing indicators on the phones themselves would be nice. Ultrasonic tones on microphone/speaker might work.

I'm used to fearing kidnapping and extortion by drivers (Middle East, Thailand, etc.), but not so much in NYC.

> Uber needs some superior authentication system for drivers; btle or wifi or flashing indicators on the phones themselves would be nice. Ultrasonic tones on microphone/speaker might work. > I'm used to fearing kidnapping and extortion by drivers (Middle East, Thailand, etc.), but not so much in NYC.

Or just better education on the lo-fi authentication you're supposed to use: have the driver ask for your name. 'Are you rdl?'

The problem is if it's not computer-driven, people who are drunk/distracted/etc. will bypass it. It needs to be automatic but overrideable, but obvious to the user when he overrides it, vs. merely omitted.
I think it's worth noting that this is a solved problem if you take a NYC taxi. (Where you also don't need to pay with cash.)
> south asian gentleman

I am not sure the word gentleman means what you think it means ;)

   If they see you as a potential client, they'll still try to pick you up off-network.
That is just the beginning. Long term this will become a lot more popular both for drivers as well as for customers as they can both get more money.

   If they see you as a potential client, they'll still try to pick you up off-network.
That is just the beginning. Long term this will become a lot more popular both for drivers as well as for customers as they can both get more money.
> Long term this will become a lot more popular both for drivers as well as for customers as they can both get more money.

As time goes on, it would be hard trying to find the right drivers though, and having to pay cash. If only there was a service that married you with drivers through a smartphone app...

Or being able to describe yourself: Black hat, white shirt.
Lyft provides a picture of the vehicle that will be picking you up.
Lyft provides you a picture of the Vehicle and the driver. It really improves the customer experience - I'm always interested in who my next driver will be - and choose lyft just because of this feature.
I don't really understand the need for pictures of drivers, personally (except maybe as a means of authentication/identification, but once you go past race/sex/age/etc., I'm really bad at IDing people from faces); I judge people based on a lot of things, but generally not things visible in photos. I'd probably judge someone as a driver based on type of car and condition of car more than anything else; DMV driving record, whether the person is local, etc. would be even more desirable.
Zip car is the same way. They have a picture of the vehicle, but it isn't the right color, just some generic picture.
This happened to me this weekend. Momentary panic as you realize the car you're counting on isn't there, because you're looking for the wrong color.
Zipcar names its vehicles, though - if you only have five candidate cars (in a somewhat large 'Ziphome'), having a name is better than having a vehicle type + color as there are sometimes similar looking vehicles next to each other.
Zipcar tells you the color though, even if the picture is misleading. It's next to the basic car info, license plate, and name.

They should definitely not be showing an image with the wrong color, but having the information is better than nothing.

In the US market every Zipcar has its name on the back to make identifying them easier, and if you're using the iPhone app you can see the license plate as well as details about the make and model.

Currently you can't tell the colour from the mobile app but it's a good idea. I've passed it along to the mobile team to see if it's feasible.

(Disclosure: I work for Zipcar)

Please do this, it frustrates me to no end because I see a photo of a blue Audi and think I should be looking for a blue Audi but instead it's red. Pictures would be great but even just showing the color in the app is fine, as I can never find the color without going to the website.
We'll look into it. It's slightly trickier than it could be because that database field is completely free-form, so looking up an image from it or translating it is harder than it needs to be. Thanks for the input though, I've passed it along :)
I'm used to riding Lyft which uses a real picture of the vehicle. Last night, I was waiting for what I "thought" would be a red Hyundai and the driver had to yell to me before I realized that it was the car I was expecting.
As of last night when I used Uber the driver photo would cycle to a picture of the car and color. Don't know if it was a one off thing or what.
Errr.. relevant?
Awesome, happy to find I have a 5/5 too!
I somehow have a 4, the lowest in this thread (that I've seen so far). I wonder what I did, I generally try to be polite to the drivers and I rarely use the service, so I suspect I got one extremely poor rating? I can't imagine when though.

Anyway, looks like you can go and pull the token out of the page and just do

curl https://m.uber.com/cn --data '{"messageType":"PingClient","token":"xxxxx","app":"client"}' | jq .client.ratin

to check it programmatically. Could be interesting to have a service detect somehow that you'd just finished a ride and show you the new score (and possibly the change, etc)

Yeah no idea.. Im at 4.5 at the moment, am always standing on the curb for pickup and polite. I've also always ranked drivers as 5 stars. surprising
Lol. I always give them 5 too, and tip them additional cash even, and I have a 4.8. Jeezz though crowd. ;-)
Drivers don't know what you rated them.
So a driver can do nothing if someone gives him a low rating for whatever reason as he doesn't even know it happened?
I'm in your boat . . . I have a 4.

I've used Uber only once - to help my mom to a doctor's appointment after she broke her hip.

I guess we were slow and a bit of a burden . . .

The first couple of times people tip drivers extra, they probably get rated as 5. Everybody else becomes a 4 after that, maybe?
people actually do that? way to go, morons.
Well the whole "tipping" mindset leads to that. It's supposed to be something extra, beyond what's required. Now they've started using it instead of having realistic prices and wages and developed social standards where tipping less than x% is supposed to be the signal (x ever increasing). The idea has gotten so ingrained that people tip on "tip-included" prices too. Soon it'll all be a "donation" with a "service charge", de facto mandatory "tip", and extra tips on top.
Ways to make a driver happy:

  * Compliment their car or music
  * Ask them about themselves (how are you doing, where are you from, how long have you been driving)
  * Make small talk (how about this crazy weather/traffic/drunk people, do you have any weird stories, have you ever been to place xyz)
  * Tell them a little about yourself or where you just came from/are going to
  * Have the address of your destination or tell the driver how to get there
  * Leave a tip for efficient service
  * Don't throw up in the back seat
That sounds like a nightmare. I often enjoy chatting with a travel companion, but some days I want nothing more than silence.
Precisely what I don't like about Lyft and the competing services. They don't stop talking. It's almost like they're instructed to be overly chatty. Silence isn't always bad at 8 in the morning when I'm trying to check email and communicate with work.
This is what is great about competition. You can pick the service that you like the most, as opposed to taxis that are all the same.

What you don't like about Lyft, is what I love about them. Their drivers seem to consider me a human being rather than a fare. So I always take Lyft as a default and fall back to Uber if they're not available, and taxis as a last resort.

Lyft is absolutely instructed to be chatty. Along with the fistbumps, passengers defaulting to the front seat, and the pink moustaches, it's very much part of the experience they offer.

Personally, I enjoy talking with my drivers most of the time. If I want a quiet, professional ride in the back of a lincoln towncar, I opt for Uber Black.

I'm sure this is so annoyingly introverted of me, but where's the off button for the chit chat if I just want a (usually) cheaper ride downtown?

  * Leave a tip for efficient service
I always thought part of the point of Uber was not having to deal with cash and tips. I've never left a tip for my driver, and never really had an opportunity to as it's all paid for by your credit card on file.

However, I do most of the rest (never really thought of complementing anyone's car, they pretty much all run together to me), and have a 4.9. I never even thought about making smalltalk as a way to get your driver to rate you better; it's just a nice thing to do when you're getting a ride from someone.

One of the interesting things I've noticed about Uber is how diverse the drivers are. I've gotten (at least) Russian, Kurdish, Moroccan, and Nigerian drivers, so that's led to some interesting conversations about where they're from and what it's like. From the conversations, Morocco sounds like the best place to go visit; the guy from Morocco waxes the most poetic about his homeland.

Morocco sure could use Uber. Most taxi drivers refused to use the meter with tourists, because the meter rates are so low (like $1-2) and tourists would gladly pay double or triple. The standard advice is not to take a cab that won't run the meter, but good luck finding one in the competitive areas like train stations. All the drivers know they are better off if they collaboratively rip off tourists.
I guess soon enough Chef's and restaurant's will be rating customers as well. In restaurant's there would be cutoff points for being a customer. You didn't pay enough tips in the last restaurant you were a part of - you are now bared from getting into a good restaurant now.

Joking above but the whole concept of dual rating scares me a bit .......

> You didn't pay enough tips in the last restaurant you were a part of - you are now bared from getting into a good restaurant now.

This would be really cool.

I guess soon enough Chef's and restaurant's will be rating customers as well.

Tyler Cowen extensively discusses the potential future of symmetrical ratings in Average is Over. The book is too complex to summarize here but it is worth reading.

Restaurants already keep notes on their customers and refer to them whenever you call or make a reservation online. If you're a less-than-ideal customer, they won't do something as overt as refuse service (unless you did something truly horrible last time you were in), but they might be more likely to squeeze you in for a last-minute seating during a busy time if you've got some good things about you in the notes.
Maybe some restaurants. Not the one I worked at. And unless they share them in some kind of city-wide (or international) database, it's not the same effect as uber refusing to have you as a customer any more.
I don't get why this is included in the window.Uber pingData. It seems as though your rating is something that isn't necessary and shouldn't be surfaced client-side.

Anyone have some insight into why this data is there in the first place? Is this an accidental leak, some sort of optimization or something else?

No reason to hide it until it becomes a problem. I suspect now that someone's gone to the trouble to surface it, they'll patch it out, but really, it doesn't matter if a tiny percentage of uber-users know what their score is.

It's an optimization for their developers. They probably don't want to write a bunch of "if user.driver?"'s in their API responses, so just return all the data all the time and let their clients decide what to show.

It's data about me, so I have a right to know and get it anyway – at least under European data privacy laws.
They used to have lots more stuff in their private API; such as the driver's full name, home address and phone number.

Probably careless API design.

I wonder if Lyft shares something similar via their API as well.

`curl -H "Authorization: fbAccessToken <fb access token>" https://api.lyft.com/users/<lyft user id>` provides some basic profile, credit card, location and referral information but nothing about ratings. The lyft user ID can be obtained by logging in at www.lyft.com/login and viewing the source.

I live in Philadelphia and I've taken uber around 50 times. I have a 4.8.
The site now says that the mobile site is unavailable. Perhaps they've taken it down to fix this? I'm in Australia, so maybe that's it.
Worked fine for me just now. In the US.
On my browser, the rating is at

    window.Uber.Ping.Client.attributes.rating
My twitter stream is now full of people, some of whom I am sure do not have the skill to evaluate if something is a JavaScript security threat or not, who have copied and pasted a random script they read on the internet into the developer console. Granted, this one is pretty simple and easier to evaluate than most, but still… you really get why Facebook hacked the console to warn people not to do that.

edit: This tweet said exactly what I was thinking when I saw all of this. https://twitter.com/s_m_i/status/493609377958723584

"Also this uber thing shows folks will copy and paste commands they don’t understand without a second thought if the incentives are right"

It's just phishing via web console. You can convince humans to do just about anything for the right incentive.
What's the worst that could happen?
Ordering an expensive car ride, presumably.
Grabs your account information and sends it along to the hacker.
Yikes...

     >window.Uber.pingData.client.paymentProfiles

     [
     Object
     cardExpiration: "2014-03-01T00:00:00+00:00"
     cardExpirationEpoch: 1393632000000
     cardNumber: "[last 4]"
     cardType: "MasterCard"
     id: [payment id]
     useCase: "personal"
     uuid: "[uuid of payment option from their system]"
     __proto__: Object
     ,
     Object
     accountName: "[acct number]"
     billingCountryIso2: "US"
     billingZip: "[billing zip]"
     cardExpiration: "2017-09-01T00:00:00+00:00"
     cardExpirationEpoch: 1504224000000
     cardNumber: "[last 4]"
     cardType: "Visa"
     id: [payment id]
     tokenType: "braintree"
     useCase: "personal"
     uuid: "[uuid of payment option from their system]"
     __proto__: Object
     ]
I've just asked my driver and they tell you.
Exactly this. I didn't know this was such a big secret. In one of the rides, I happened to be in an Uber that I had taken before and the driver remarked "Hey! you have dropped down from 5 to 4.9". And I exactly remember that just a few days before I shared a ride with a friend , and he was being a dick to the driver unnecessarily.
dont they show officially?
4.9!

I use uber multiple time per week and have for years. So I guess I'm not an asshole.

4.9 here too. I've been using them on average at least once a week since June 2010.
I wonder if `window.Uber.pingData.client.activeExperiments` is the test groups you're currently in at the moment...