Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think to call it lying is based on the assumption that there is some perfect answer. There usually isn't.

I work at a university library. Our inventory is fairly small on internet scale (~3 million items in 5 or 6 separate 'warehouses'; although we usually only have 1-3 count of each 'item' in inventory), so we don't really have these large scale/distributed problems. The biggest problem we have with the system saying an item is 'in stock' when it isn't is -- the item has been stolen or lost, and we haven't noticed yet and recorded it as such.

Is it "lying" if our system says it's on the shelf, when in fact it's been stolen or lost and we haven't noticed yet?

There are obviously ways we could improve our 'loss reduction'. But there will ALWAYS be cases where the system's knowledge is an imperfect representation of the real world, in any system.

"I've been offline for 10 minutes so the last information I have is as of 10 minutes ago" is just one more.

You can spend more money to try to make the information more accurate, but it will never reach 100% (even before you add in distributed computing, which adds some of it's own issues), so as with everything, it's cost-benefit, how much does the customer care, what can we afford to do, at what point is our information good enough to keep them happy -- and, like the OP says, how do we properly make the UX to keep them happy despite information that's not 100% accurate, which it NEVER will be.



I think the problem here is that these systems are frequently set up to look authoritative. "Hurry up! Only 1 left!" is a common sight on Amazon.

The user doesn't care about the challenges of a globally consistent distributed database, all they know is you said there was one left so they bought from you and now you're telling them you were wrong. You set expectations and then failed to meet them and that upsets people

If your system is not quite perfect, especially around something that can drive a purchasing decision, then make it clear to the user. "Hey, we're low on stock, we think we have 1 left but we might be out". Maybe you can even give a confidence interval, like "This item sells very quickly so we're probably out by now and don't realize it" vs. "we sell two of these a year and know that as of 5 minutes ago there was one left so we probably still have it". Now the user can make an informed decision.


That's where the "compensation" part of the original article comes in. If a company's doing this strategy right, they make it up to the customer in some generous way - "We'll give you a full refund and your next purchase is free" if the shopping cart says something is in stock and it isn't, "We'll pay for your remodel" if someone trashes your AirBnB, "We'll give you a free ticket" if you get bumped from a flight.

What some of the smarter big companies have realized is that emotions are fungible, and they work on a "last writer wins" basis. If you do something really nice for the customer after inconveniencing them (and it has to be more "nice" than the initial problem was "nasty"), they remember you making it up to them, not the initial problem. That shifts the cost of compensation back onto the company, which gives them an incentive to improve their systems, but also lets them trade-off occasional hefty compensation charges against getting 100% consistency & availability, which is impossible.


> I think to call it lying is based on the assumption that there is some perfect answer.

No, I don't make that assumption. I call it lying in the sense that stock information is given in the hope that it will convince me to use one retailer over another (and for no other reason). If the retailer is wrong for whatever reason, they have duped me. Deliberately - they weren't required to make such a claim.

That's absolutely distinct from the library case, where I understand that this information is only being provided to me as a service for my benefit. The information is not designed to trick me, but to save time compared to always searching manually. Thanks, by the way.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: