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
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?
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".
Ah awesome thanks! Didn't cross my mind to link to the commit's line number. Still, have to agree with some commenters about having the link go to it by default.
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
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.
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)
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.
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'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.
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)
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.
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 :)
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.
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.
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.
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 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.
> 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...
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
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)
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 .......
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 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.
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.
* 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
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.
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 have absolutely zero interest in my Uber passenger rating.
If they decide to start being ridiculous, I'll decide to start taking cabs again -- at least the cabbies generally have a clue about how to get to places, and don't bother with questions about "what route would you like me to take you on". The fastest route, thanks.
What city are you in? Here in Boston, my experience has been that the uber drivers are more likely than the taxi drivers to know how to get where I'd like to go.
In NYC there are strict requirements[1] that cab drivers know how to get practically anywhere in Manhattan, and to major parts of the outer boroughs. You can report them if they don't.
Well, remember that you're paying by the mile or minute. Unless you want to rack up additional charges, I'd suggest asking for either the shortest or fastest route.
That's why I don't like the preferred route question. Do I want to pay more for a longer trip? No.
From my experience with cab drivers (not Uber drivers), the idea is supposed to be that if you do not have a preferred route, the driver takes the most efficient route based on some kind of gestalt between lowest cost and fastest service.
The deal is, some passengers are convinced they know the best route from point A to point B, and will accuse drivers of trying to con them if they don't take that route. So if the passenger has a route they want to take, even if the route is stupid, you just shut up and do that. Otherwise, you take the best route.
In theory, of course. I have no doubt that there exist cab drivers and Uber drivers who run up the meter. Hopefully, Uber does some monitoring of routes and catches at least egregious cases.
I had a situation with Uber where the driver missed an exit, even though he had a GPS and it was telling him to take it. I think it was an honest mistake, and not him trying to run up the meter. But it bugged me that he didn't bother to do anything about it. That missed turn made the trip nearly 10 minutes longer and I had to pay for it. There should be some way for the driver adjust the fare to compensate for when stuff like this happens.
This happened to me too, except we ended up in an hour-long traffic jam. Still didn't cost very much, and traffic was pretty bad elsewhere, but yeah.
Basically, if your Uber driver starts using a traditional GPS instead of Google Maps, get worried. That's my experience using Uber in LA for longish trips out to Marina del Rey, anyway.
(Going the other way: "The LA convention center? Where's that?" "Right next to the Staples Center." "Do you know what streets?". I did, but really? I'm from New York and don't have a driver's license, and _I_ know how to get there...)
there is - the driver can end the ride early based on an informal estimate of the ride length. There used to be an insurance issue with this (not covered after the passenger leaves), but no longer.
I'm willing to agree with you about cabbies, but doesn't it seem absurd that Uber drivers ask for route information when they are already using a GPS-enabled smartphone with access to Google Maps' best routes for any time of day anyway?
It seems like a flaw in the Uber app that the customer can't just provide an intersection or an address, and the driver gets immediate turn-by-turn navigation. Yes, Uber still needs to blind the driver to destination until pickup, but it's not a huge obstacle.
Well, there will always exist people who believe that their route is better than the Google Maps route. Some of them will even be correct!
The other thing is that users just HATE typing in addresses on smartphones. It's like the worst-case scenario for smartphone data entry -- lots of different fields, and words that are not in the dictionary/don't autocorrect well. So Uber (and Lyft, and (ahem) Flywheel (which I work for)) do not require that a user input a destination.
The other thing is if you realize you get long-hauled, Uber support will respond to a query from you and adjust the fare if appropriate. Try that with a cab.
Here in Chicago, regular cab drivers ask the route question all the time. I've read that this is asked in hopes you tell them a non-optimal route that takes longer. My response is almost always "the fastest way is fine."
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
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've been aware of my Uber passenger rating for about a year. When I first found out about it, my rating was a 4.9. Once I realized that I was being rated, I worked really hard to be the perfect passenger. I had my rating up to a 5.0 for a few months. Then I got lazy about being perfect and it has since dropped to a 4.8.
This is in fact sarcasm, right? Because I would think that following common courtesy and actually paying for the service you are receiving should be enough ;)
The idea that you have to put in effort to be the perfect customer of a service you are paying for is ridiculous.
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.
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.
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.
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...
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.
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.
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.
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.
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.
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.
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).
Does anyone know why Uber doesn't easily just give you your own rating? If I know my rating is low then I know I should work on improving it if I want to continue using Uber...
Seems kind of like a win-win-win for all three parties (Uber, driver, myself)
I would think some people who got low scores would become disillusioned with the service, blaming the service rather than seeing any fault with themselves. Then being offended, they would be less likely to use the service or harbor negative feelings towards it.
What's actually going to happen is that you're going to get degraded service from Uber without knowing why. You're never going to get a cab in the quoted time, because drivers won't pick you up, and you'll assume it's the same for everyone, tell your friends how slow Uber is ... I would say the disillusionment, blame, offence, etc are going to be aggravated by consistently slow service.
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.
Hmm. Suspect there is a bug with this - All my ratings are five, besides a handful of zeroes. At least a couple of the zeroes I remember being perfectly amicable rides (I mean, I'd assume something extreme is necessary to get a zero)...
My suspicion is that zero is equivalent to unrated, so shouldn't be in the sum?
I wonder if this reverse-rating system is only for US. Even though I'm from US, I had only get the chance to use it abroad (Jakarta). And when I check it, my rating is null. Is it something to do with the fact that Uber driver in Jakarta are actually professional car-rental driver?
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.
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.
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.
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".
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".
I can't think of a single reason the user rating is hidden from the user. If anything, knowing your score is low would help explain why rides are often unavailable.
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
and you'll recieve a response back of something like 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?