East Asia Student

Random Stuff Related to East Asia


Web programming in China can really suck

** [Angry man](http://www.google.com/search?q=angry&tbm=isch)

Have you ever paid for anything online in China? Then you know how infuriatingly badly designed the process is. I’m going to indulge in a rant here and list exactly what’s wrong with it.

Too many steps

Before I get into the nuts-and-bolts of the problem, there’s this general issue. Today I wanted to pay for a flight to Qingdao from Shanghai. This is how I had to go about paying for the flight:

  • Go online, try to book tickets in a normal way.
  • Discover that preferred browser not acceptable to website, try another.
  • Second browser also not acceptable. Have a hunch that it might want Internet Explorer.
  • Load up Windows in VirtualBox, use Internet Explorer and start booking process again.
  • Website seems to like Internet Explorer, but needs me to download a .exe file and install it for the process to work.
  • Download and run .exe, but still need to install a further ActiveX plugin to complete the next step.
  • Also discover that the website uses a pop-up to complete payment, so allow pop-ups from that website.
  • Website doesn’t actually have any kind of sensible payment option. Only choice for me seems to be something called 支付宝. Track down a payment terminal for 支付宝 in a little convenience store nearby.
  • Use ICBC debit card (which wasn’t acceptable to flights website for some reason) to top-up 支付宝 account.
  • Return to café to resume payment process online, log in to 支付宝 account and enter code on receipt from the convenience store.
  • 支付宝 is supposed to send a text with another confirmation code to my phone, but doesn’t. Re-request code, which turns up ten minutes later. Enter this code. 支付宝 account now has credit.
  • Return to flights booking website. Booking has been canceled in the intervening time (this is fair enough I suppose, but did lengthen this already ridiculous process).
  • Go through booking process again. Make payment with 支付宝.
  • Wait for text confirmation code from 支付宝. Enter this.
  • Payment completed.
  • Actually no, I still have to tell the website that I have completed payment for some reason. Click button labeled “Payment was successful”.
  • Decide not to ponder, if they can check that I have paid when I click that button, why they still need me to click the button.

That was the most extreme example I’ve encountered, but I’ve never had online payment go smoothly in China. So why is it always so infuriating?

Everything needs Windows and IE

It often seems that a lot programmers in China believe that the only operating system in the world is Windows, and that the only browser is Internet Explorer. If you’re lucky, you’ll get a lazily coded JavaScript message box telling you that a website can’t be viewed with your browser. Most of the time though, it just won’t work and there’ll be no explanation.

This is even more ridiculous when you consider that the majority of Microsoft software being used in China is pirated anyway. Even Microsoft doesn’t benefit from this set-up, let alone users.

Everything needs to install its own software

[caption id=“attachment_5924” align=“aligncenter”] This isn’t even slightly good in any way[/caption]

So once you’ve got your illegal copy of Windows up and running and loaded Internet Explorer, you’ll discover that every website involving payment needs you to install an ActiveX plugin before you can do anything. What’s wrong with the web programming and markup languages that every system has by default?

As if that wasn’t bad enough, you frequently encounter websites that need you to download and run a .exe file. It’s almost like they’re trying to imitate a hacked, insecure website as much as possible, every step of the way. And this is all coming from people that want your payment details.

Too many different systems, no standards

And every website seems to have their own idiosyncratic, badly designed system. You have to jump through a new set of mangled hoops for each different website you use. Where’s the PayPal equivalent? Where’s the Visa equivalent? Yeah there’s AliPay and UnionPay, but as I keep discovering, those just don’t work how they should.

The upshot of all this is that the system is less secure than if they’d just adhered to standards and written the code properly. I don’t get how programmers who code only for one OS and one browser (and still manage to do a botch job with patches all over the place) can still find work.