Xiaomi's fake 2nd anniversary sale and fake winners

He's wrong in the 1st vid. I have a MI ID after registering on their site, but it will throw up the same error citing no user space, probably because I haven't signed up on their forum.

A few of the MI IDs for the power bank winners do show user spaces.
 
Last edited:
He's wrong in the 1st vid. I have a MI ID after registering on their site, but it will throw up the same error citing no user space, probably because I haven't signed up on their forum.
Don't you have to sign up and login before buying something from their site?
 
Don't you have to sign up and login before buying something from their site?
Yes thats what I meant. I have signed up long back and placed orders on their site. But the very same MI ID said no user space exists because I haven't explicitly signed in to their forum.
I just did, and I have a fresh new user space that says "Active since 2016-07-20".
 
The second and third video doesn't mean anything either.

How would you program a sale of this sort? In some data source you would have the time period for the sale and the max number of units of each type of product to be allowed. On the client side UI, it makes sense to hide/show the sale button base on the client side time, but no sane programmer would rely on the client time for the actual transaction. So lets say the user gets the buttons enabled somehow before the sale starts and clicks it, the request goes to the server, but the server sees that there are no stocks to be allowed for sale during that time, so an error has to be returned. If the programmer wants to be specific, he can handle it specially and show the user a message that he is trying to purchase before the start time, but all that extra work doesn't make any sense unless you want to follow that up some action like say barring the user from the sale altogether for trying to cheat the system. The default and lazy approach any programmer would take is to show the default error which would be "out of stock".

There are a number of systems where I have seen this kind of default/lazy approach taken for errors of that kind.

In a popular online skill assessment system (I don't want to name which one) that is widely used in UK colleges and companies, the system has a time limit to answer each question. The timer shown to the user is running in the client side JavaScript and you can pause it quite easily by invoking an alert box via console or from address bar. You can take as much time as you want and no error would popup while going through the test. But the server also makes note of the time from question popup to when you answered it. So it knows when you didn't answer the question in time. At the end of the test, it won't tell you that you tried to cheat the test or anything. It will just mark the question as unanswered even if you put in the correct answer.
 
The second and third video doesn't mean anything either.

How would you program a sale of this sort? In some data source you would have the time period for the sale and the max number of units of each type of product to be allowed. On the client side UI, it makes sense to hide/show the sale button base on the client side time, but no sane programmer would rely on the client time for the actual transaction. So lets say the user gets the buttons enabled somehow before the sale starts and clicks it, the request goes to the server, but the server sees that there are no stocks to be allowed for sale during that time, so an error has to be returned. If the programmer wants to be specific, he can handle it specially and show the user a message that he is trying to purchase before the start time, but all that extra work doesn't make any sense unless you want to follow that up some action like say barring the user from the sale altogether for trying to cheat the system. The default and lazy approach any programmer would take is to show the default error which would be "out of stock".

There are a number of systems where I have seen this kind of default/lazy approach taken for errors of that kind.

In a popular online skill assessment system (I don't want to name which one) that is widely used in UK colleges and companies, the system has a time limit to answer each question. The timer shown to the user is running in the client side JavaScript and you can pause it quite easily by invoking an alert box via console or from address bar. You can take as much time as you want and no error would popup while going through the test. But the server also makes note of the time from question popup to when you answered it. So it knows when you didn't answer the question in time. At the end of the test, it won't tell you that you tried to cheat the test or anything. It will just mark the question as unanswered even if you put in the correct answer.
Second video shows web interface. Third video shows Android app interface. So both their web and app programmers took the lazy approach and took system time and coded out of stock as default.
Let's say they did this. So at exactly 2pm how do they check how much stock left to sell? If the sale is a fake sale, they won't even check. If they couldn't get time to code server time into their site or app, they probably won't have an inclination to check for stock. IMO, the winners are probably MI staff who got phones at a discount.
 
Arre bhai, ye website, Android app and MI phones ke miui ka programming, sab ek jaisee barbad hai. After all they are coming from same company.
 
Clicking the buy button whether on web or mobile will result in a call to the server. the server checks the status and returns an error code back to the client.

Now what I am saying is that this error code would not be so specific as to inform the user that he tried to purchase before due time. It doesn't make any sense to do the extra effort if there is not going to be any follow up action.

So the server will return the default error code for the situation which is out of stock (since there really was no stock setup for that duration). The client will display the corresponding error string to the user. There is no extra effort on client side and server side.
 
tl;dr ? is it fake or not?
Fake. As someone already said, some of their known staff or employees might have been predetermined to be the "winners." Or course there is no way of knowing this. But people will still fall for these kinds of lame tricks and Xiaomi gets people to look up the site using this marketing gimmick.
And no matter what you say, fans will continue to defend them. It's a win-win for Xiaomi either way.
 
Back
Top