Using Uber in China — a case study of missing product details

Aaron Staley
5 min readOct 8, 2016

--

Last month, I visited China for a few weeks and wished to use ride-sharing services. As a foreigner, my only real option was Uber; Didi only permits AliPay, which in turn requires a Chinese bank account to use. Uber certainly got the job done, but my experience was eye-opening in how many details were missed by the team.

Before going on, yes, Didi has bought Uber China. But the deal hasn’t yet closed and the Uber brand — and perhaps app — isn’t going away. Indeed, it’s likely Uber will pull off something similar to Lyft’s (aborted?) partnership with Didi, where users visiting China can use Uber to request Didi Uber cars.

Anyway Uber China offers a few type of low-cost cars:

  • uber xl
  • uber x
  • people’s uber

People’s Uber? That’s new — and the app isn’t instructive at all:

What Chinese translation?

Even putting in the Chinese here would be more useful. The only way to read this help message is to change my phone’s locale.

I forget the details of the Chinese translation, but honestly it wasn’t very useful. As far as I can tell, People’s Uber is like Uber X only:

  • requires you give your destination at booking
  • slightly cheaper

Anyhow, the first thing you’ll notice after requesting a car is that the driver will call you to find out where you are.

That’s right, even though you’ve explicitly stated in-app where you are, the driver will go out of their way to double check with you.

I asked a driver why and it sounds like their customers are a bit.. unreliable with selecting the correct location.

And what if the customer can’t speak Chinese? Ride cancelled!

Needless to say, hope you speak Mandarin.

Now onto the app itself, namely using the Uber Android app I downloaded from the Play Store. As background, the internet censorship in China is extreme. The majority of the top 10 English-language websites are outright blocked; the complete Google block is especially damaging as it breaks all sites that use Google for CSS/JS hosting. Fortunately, you as a visitor know this and have a VPN installed on your phone. (I personally chose to install ShadowSocks on a Japan-based free-tier EC2 instance).

Well, unfortunately, Uber IP blocks EC2. It took me awhile to figure this out though given the limited info the app provides to me:

By “shortly”, we mean “never”.

After figuring this out, I turned off my VPN. But notice the little Google logo in the bottom-left of the image? The Android app uses Google Maps, which is blocked in China! (So I guess I’m expected to use an Uber-approved VPN, which would be fine if there were actually documentation somewhere telling me what providers work and don’t work).

Fortunately, the Android Google Maps APIs share map tile caching. So there’s a minor workaround:

  • Turn on VPN
  • Navigate to destination and current location in Google Maps; wait for tiles to load
  • Turn off VPN
  • Navigate back to Uber

Alas, still more problems. China has a security/protectionist rule in place governing map data; effectively map providers are required to obfuscate map coordinates. While Google Maps renders my own location correctly (due to a license they have with a government approved mapping company), Uber’s entities are shifted by China’s GCJ-02 offset. The result is confusion where both I and the driver are:

So much traffic in the park!

I suppose it’s a good thing the drivers call me; I have no idea what location I’m even requesting…

Naturally, I assume Chinese Android users aren’t being hit by this, but I’m not sure what to do. I try to visit Uber China’s help page to learn more, but amazingly I can’t load it entirely because of the Google dependencies!

Can’t select a city.. it’s powered by Google!

Anyway, confused as to what do to (maybe side load another APK? But where do I get it?), I ping support. My multiple attempts (including pinging their twitter account) all go similarly:

  1. Quick response requesting account verification
  2. A few days later, a useless follow-up:

Hello,

Thank you for getting in touch with us. I’m sorry we could not respond promptly. To find answers to frequently asked questions, troubleshooting, or to send us an message about an unresolved issue, please tap Help in the Uber app or visit help.uber.com.cn and choose your city on the top right corner. You will receive our feedback directly via the Uber app and your registered email address. (Note: users without registered email addresses can only receive our responses in-app).

We look forward to hearing from you.
Uber Support

To be fair, these unresolvable glitches were more annoying than show-stopping (I still managed to take a few Uber rides, which overall went very well).

Still, I had two takeaways from this experience:

1. Uber’s international product execution is quite poor compared to the level I see in the US; I’m hardly surprised Didi “won”. Sure, I encountered worse issues as a foreigner, but even the most mild mitigating documentation doesn’t exist.

The more egregious issues I found:

  • completely ineffective user support
  • a Chinese help website with Google dependencies
  • mobile help pages making the assumption a user in China is using the Simplified Chinese locale.
  • zero documentation about what servers are blacklisted

2. Building an Android mapping app that works in both China and outside China is hard, given that Google Maps is blocked and Chinese map companies (e.g. Baidu) don’t provide English-language maps.

So what are you supposed to do?

  • Make different APKs?
  • Have both Baidu and Google Maps integration and dynamically switch as needed?

I wonder what Lyft’s mobile developers were planning to pull off their own integration — and in general if anyone has done this “right”.

--

--