Grisak'a response in the article is fairly arrogant particularly with the Musk tweet thrown in. If you sell B2B then, by all means, fire customers, but if you sell on Amazon to consumers then you need to deal with them civilly regardless if you feel insulted.
I get the feeling a lawyer told him to explicitly state it wasn't about the review because there is a new federal law that protects reviewers. That statement doesn't jive with his previous posts.
I don't think a refund is necessarily sufficient legally. A customer has a contract with a supplier. That contract doesn't usually say (whether express or implied) that the supplier can arbitrarily terminate the contract with just a refund. So doing so would still be in breach of contract.
Legally, the remedy for breach of contract is to make the injured party whole, and that includes consequential damages. The customer may suffer consequential damages in excess of the price paid for the product (eg. "After buying your product I bought a new garage door to suit your product and now I have to get a different one to use with your competitor's product since the next best thing requires a different specification").
Offering a full refund is still entirely appropriate of course; I'm just pointing out that the customer doesn't have to accept that as a final settlement.
>Legally, the remedy for breach of contract is to make the injured party whole
I don't see a customer getting a free garage door out of it. Using the refund to buy a competitive product would arguably make them whole. Minus perhaps wasted time. Assuming you parted ways because of their behavior (not a review), they arguably wasted their own time.
> I don't see a customer getting a free garage door out of it.
Nor do I. That would imply that the customer had some extra asset at the end. That is beyond making the customer whole, because such a thing presumably has a market value and can be sold, even if just for scrap.
> Using the refund to buy a competitive product would arguably make them whole.
Not necessarily. If the customer has additional costs that have not been reimbursed, and these costs were incurred as a consequence of the seller's breach of contract despite the customer's reasonable efforts to minimize them, then by definition the customer hasn't been made whole. Search for the meaning of "consequential damages".
It's up to the court to decide how to address the balance. It may decide that it isn't reasonable to reimburse some extra costs anyway. And in the US, legal fees won't be reimbursed so the customer may decide to settle for less. But if it does go to court, then in the case that the seller has "fired" the customer unreasonably the court may look upon the customer's claims for consequential damages more favorably.
I understand "consequential damages", but this is a poor example. It's not the only product in the world that can open a garage door from an app.
I can't get a new car if I buy an alternator and it's faulty. Maybe if it damaged the car, but there's no corollary here.
Edit: This happens all the time. Amazon "fires" sellers. Hosting companies "fire" people that suffered a DDOS, or similar cases to this one...customers that are snarky with tech support. Paypal "fires" customers at will, often with no details as to why. I've read many of these stories and never heard of a case where someone got something more than actual, direct losses back (like existing account balance).
You're right; it's a poor example. I wanted to illustrate the principle in general, and had to go with the situation we already had. My point is that in the general case the seller arbitrarily deciding to refund does not constitute an automatic settlement.
Some sellers may attempt to adjust the contracts to make this true. Depending on your jurisdiction and the nature of the sale, this may or may not actually change the contract. AFAIK, we have yet to see a clause of "I'll sell you this IoT device for a one-off payment of $X and I can arbitrarily decide to stop it working as long as I pay you $X and nothing more" succeed in court.
>AFAIK, we have yet to see a clause of "I'll sell you this IoT device for a one-off payment of $X and I can arbitrarily decide to stop it working as long as I pay you $X and nothing more"
Not court cases, but IoT customers do get abandoned.
Google's Nest bought Revolv and shut it down. As far as I know, they offered nothing at all as compensation. These were $300 devices. No related successful court cases from end users, as far as I know...and that's worse than what I suggested...no refund.
from revolv.com:
"The Revolv app and hub don’t work anymore, but we are offering a refund for your Revolv hub. To get your refund, please email us at help@revolv.com."
Some customers are a net negative, or even deliberately abusive. "Firing customers" simply means chosing to not do business with them any more. It doesn't imply that the customer didn't get what they paid for.
That said, there seems to be this attitude among some tech companies that they can do whatever they want, and treat customers/users like crap, regardless of regulations, or just what is usual and customary. I think it's a side-effect of people who have no prior business background getting a ton of investor money (i.e. not earning it from business with customers).
> It doesn't imply that the customer didn't get what they paid for.
But in this case we are talking about bricking hardware remotely in retribution for a negative review. And we have people using the "Firing customers" rhetoric to insinuate that the needs of the corporation are more important than the needs of the human.
[I think we're basically in agreement, just expanding on my point]
In this particular case I'd say the company behaved very badly. But in general, about "firing customers" in B2C - when you work for customer service for anything mass-market-facing, you quickly learn that among all your customers, there are some that are just utter idiots, there are some who are entitled assholes, and then there are those who want to defraud you. This is a fact of life. Such "problem people" are a big drain on both the company and (implicitly) on the regular customers. Cutting business off with those people is a win for company and customers alike.
> It doesn't imply that the customer didn't get what they paid for.
Euh that's exactly what's happening here. If the company bricks the product you bought it's a net loss. So you're definitely not getting what you paid for.
The analogy would work only if you decided to do before anything was bought (impossible of course) or refund them 100%.
If you decide to make it impossible to "fire" customers, what does that translate in terms of who has what obligations?
Is that really desirable, once you think about it that way?
And do you really think this is some sort of "Late Capitalism nightmare"? You really think nobody had ever decided not to do business with a specific customer before?
This isn't a "late capitalism" issue; this is a "social media greatly amplifies previously quiet signals, and does so with a certain amount of randomness". But the reality probably hasn't changed... just your ability to detect it.
If you even think in terms of "firing" B2C customers, you will eventually fail. "The customer is always right" isn't some kind of service-minded epithet with goodness and wholesomeness in mind, no; it's a loud warning! The customer can make or break you, can cause you to spend disproportionate resources to undo what they can do to you. The customer can, with a Yelp or Tripadvisor review, a lawsuit or a blog post, undermine your entire carefully marketed existence.
If you seriously put your pride on a pedestal next to all of that, you just shouldn't be dealing with B2C in the first place; you will be a menace to your organization.
This particular case isn't a great example because the customer posted one rude comment in a forum. I'm ignoring the bad review, since that's not good reasoning to part ways. Basically this customer hadn't yet crossed a line that would irk me.
However, to me, there is a line. "The customer is always right" can't be literal.
I have no issue parting ways, with a full refund, for toxic customers that repeatedly use abusive language with my employees. Especially when it's not relative to the situation. These kind of customers do exist. It's not common, but do e-commerce long enough and you'll run into one.
There are also (not often) customers that engage in return fraud or other activity that is just obvious cause to avoid them in the future.
I mean... yeah obviously, but your examples of toxic behavior and fraud are about as far from the case in question as possible, except insofar as they apply to the guy who bricked the door opener. I'm not suggesting that businesses tolerate abuse or fraud, but this is far from either.
No it's not abuse. But it is an opening line that might hint the possibility of a customer that's just never going to be happy. And my suggested recourse would be to refund them immediately once you recognize that's the case.
"An opening line that might hint the possibility..." I'm sorry, but at some point you're just expecting the worst possible outcome from a relatively banal situation. Your role in that context would be show an interest and defuse the situation, and only after that failed to have an effect should you start to be concerned that this is a toxic case.
If you approach everyone who so much as barks like they're a mad dog, you'll end up meeting a shocking number "mad dogs".
You'll never get anything from me except polite interactions in that arena, and at least in part for just that reason. The problem is that in any B2C you'll have a range of people, a Normal Distribution, and that includes a fair number of angry, entitled, rude, dicks. Plenty of them can be safely, and easily defused; and the truth is that a lot of people "come in hot" especially online.
I respect your position, I do, and I wish it were the standard, but realistically it puts you at a potential disadvantage.
I just got fired. It's raining and close to freezing. The weather caused the worst traffic jam in months. It's 8 PM when I finally arrive home so I'm hungry. And now this app, which is nothing more than a single button, refuses to start.
Impolite and "toxic customer"/"Thief" are worlds apart. If you can't deal with a broad selection of the average public, don't sell to them. It's really that simple, and the business world selects heavily against people who think that their product or their fiefdom is excepted form that rule.
It's not about the lines that I draw or that anyone draws, it's about the fundamental power asymmetry in customer-business relationships. Obviously a bar or a B&B have to consider the whole pool of customers, but if you're in the business of selling someone an IoT garage door opener...
I admit that others view it differently. But I'm not apologetic about the idea that a business can choose how much rude behavior to tolerate. Especially if I'm willing to refund without return of the product.
Your call, I suppose it's subjective. But I personally consider it to be rude. Would it be an appropriate support response to suggest that maybe their phone is a piece of shit?
It's only rude if you believe that the customer has to respect the hard work and good intentions that went into the product, and make allowances if it doesn't "just work". They don't.
Similarly, I don't have to make allowances for people that can't manage basic civility. I wouldn't send back food with a "this is shit" comment at a restaurant. Even a fast food place. Because I'm interacting with a human being, and see no reason to be a jerk. As a side bonus, "sorry, this tastes bad, could I get something else?" has a higher likelihood of resolving the problem.
There's very little a customer can do to meaningfully impact either of them. Hell, the companies can be (and regularly are) shitty to someone personally, and they still will use their services.
EDIT: more counterexamples - Comodo. Lenovo. Uber. AirBnB. They were all involved in huge Internet shitstorms about anti-customer behaviours, and they don't look like they've lost anything through it. I've seen enough shitstorms - small and big, local and global - to learn that they generally don't mean a thing, and most people forget about them in a week.
The most notorious monopolies of our time. The things which bring down our economy with their shenanigans every so often because they so thoroughly own the political and legislative process. Huh?
Grocery Stores? I don't see how that applies... they tend to be highly customer-focused, and they certainly don't do the equivalent of bricking a product after selling it to you because they didn't like your tone.
Still I take your point... if you're a Unicorn then you play by different rules, until/unless it all catches up with you (as it is with Uber). If however, you're not a telecom monopoly, a giant bank, or just crazy like Uber (if for example you're trying to sell IoT fricking door openers) then you are in a very very different position don't you think?!
Again, yes and no. I know a few local on-line retailers that handle their own faulty services like so:
- bribe the customers leaving negative reviews into cancelling them, by offering e.g. free products
- use multiple accounts on the marketplace services, kill off an account after it got too many negative reviews and create a new one to continue
The point being, "customer is always right" is not something that works for all B2C; depending on your market type, there may be strategies that let you be pretty much immune from the effects of a wronged customer seeking revenge. For instance, commodity items are bought by people who are mostly price-sensitive; as long as you keep a lower price, even angry reviews won't mean much. This works well for brick-and-mortar grocery stores (and other inherently local stores) and for business that sell through on-line marketplaces like eBay. It's sometimes even beneficial to not have a strong social media presence - Facebook pages and Twitter accounts are a good place for angry customers to vent off and spread the bad word about you.
...Right, and the opposite of all of the positive ways to deal with it, would be bricking the device you sold to a customer, as in this case. We're not even talking about a bad review, just a forum post. While I grant your point about commodities, you can't be further from such a thing than an IoT garage door remote.
Basically, this is a business in which you need to desperately convince the customer to want an ongoing relationship with you, for a service they could get with a $5 remote, 9volt included.
I'm in no way defending this particular company here; I was responding to the issue of "customer is always right" wrt. B2C business.
The company here behaved wrong and they deserve whatever loss of business comes out of this mess, regardless of how rude the customer was. They handled it badly. That said, I have no particular love for IoT companies - I find the idea of those cloud-connected devices to be dumb from both user and engineering point of view. To be clear - I'm not opposed to smart devices per se - just those which require vendor's cloud, which makes them basically hardware-as-a-service, and which works against privacy and interoperability.
I think the reaction would have been completely different if the reply was along the lines of "We're sorry to hear that your device does not work. We are issuing a refund immediately to your account - please keep in mind that since the refund was issued, your device won't be able to connect to our network any more. Have a pleasant day, and sorry for the inconvenience".
It would have achieved the exact same result, and I am sure the backlash wouldn't be 10% as severe.
Separating the public and private message might have helped out a bit as well.
In this case, I would have tried to help online (in the forum) at least once, despite the rude forum post. If it kept up, I'd have emailed the "we need to part ways, here's a refund" note.
To be fair to Grisak, Musk's "firing" of a customer was also a B2C situation. That being said, there are a number of factors that differ:
- Musk had not already sold the individual a car.
- Musk was (possibly) responding not to the critical blog post, but to the content of the phone conversation.
- It has not been decided yet, but I doubt Garadget will ultimately have the popularity and cachet of Tesla's cars. This, for better or worse, does have an impact on what you can get away with.
- All of the above notwithstanding, maybe this was not Elon Musk's finest moment. Not ever word out of his mouth is useful for all purposes. Citing the fact he said something, even if he was in a situation that is perfectly analogous to one's own, does not justify one's comparable action.
I should of separated out those two sentences since just the presence of that tweet was my problem, and I wanted B2B to be a separate point. I've noticed if some CEO quotes Jobs it is generally suspect too.
That being said, I do agree with all your points. I tend to think no garage door company is going to have the cachet of any Elon Musk company. Frankly, only Elon Musk could send out that tweet and not get hammered.
B2B firing customers works because there is (supposedly) a professional on both ends of the transaction evaluating the offer and monitoring the relationship, and often a contract when a party isn't easily replaceable, and/or could get burned by the other.
That relationship is severely imbalanced in B2C transactions, and abusing that it is why consumer protection laws exist. Given the widespread acknowledgment of the abusable nature of that relationship, the only reasonable expectation to abusing it that doesn't rise to the level of crime or tort is still loud public disapproval.
I'll be honest (realizing it's not a popular opinion): I find it more than a bit hypocritical that when Musk pulled the same thing, everyone on HN seemed to support Musk. Yet this guy is just a complete jerk... because?
I personally think they were both completely in the wrong, but I get where he's coming from. Heck, the guy probably hangs out here and felt like he was in the right given the reaction to Musk's childish stunt.
A company can't ever fire a customer. An employer fires someone they pay, by no longer paying them. A company is payed by its clients, and so it is the clients that get to fire the company when it under-performs, by no longer paying for its services. A company can quit its clients by refusing to take more money from them, but to speak of firing customers is an abusive cognitive power play.
> Patterson had a way to deal with executives who particularly displeased him. in a previous case, he had the businessman’s desk and chair dragged out onto the lawn, where they were set on fire. Apparently Watson’s desk was similarly dragged out and burned, and the man himself was dismissed. When other employees asked where Watson was, Patterson simply said “Fired.”
Sure they can. It's a ubiquitous colloquialism that's used to describe a business relationship that's severed by a vendor. It's not meant to be taken literally.
Not anytime you want, but anytime the contract allows.
The expectation is that a company is much more aware of the risk tied to a contract it enters (f.e. by having it examined by a legal department, requiring the supplier it wants to buy services or goods from to first sign their own contract that lays out some ground rules etc), and is generally much more professional in handling such situations.
You would wish that normal consumers also read their contracts carefully and understand them, but in reality they do not. So there is a long list of laws in place to protect them and "level the playing field" between unsuspecting consumers and corporations.
> you need to deal with them civilly regardless if you feel insulted
I strongly disagree with the assertion all customers can be dealt with "civilly" while still remaining sane. Customer irrationality is widely varied, and sometimes you just need to take matters into Fate's hands to get back to rationality. OTOH, it's not something you want to do regularly, with the customers that is.
I strongly disagree with the assertion all customers can be dealt with "civilly" while still remaining sane.
What you see as "customer irrationality" is, in 99.9% of cases, actually a user experience problem that could have been addressed with better design and better testing before the customer ever bought the product.
For that remaining 0.1%, the appropriate course of action is not to deal with people poorly and treat your customers badly, but to offload your customer services to someone else who is more patient and more capable.
What I, personally, see as customer irrationality cannot be spoken for by you, without a large amount of irrationality occurring in your own frame.
It is simply impossible to know what me, or the fictitious irrational customer, is thinking, regardless of made up statistics that are meaningless to anything when it (the irrational event) actually happens. Thinking that it can be "solved in the future" by moving some things around in this reality is irrational as well, especially given you assume that process may be improved to the point it doesn't happen "much" or there are people with infinitely more patience than the previous person to deal with it, or that people won't become more irrational when you force them into rational action. All irrational, which is simply meant to say, it will require more work to determine.
That I'm being downvoted is one piece of evidence there are people who don't like what I'm saying because they think it also can be "solved". Also irrational. So, I state it again now for good measure:
"One may not remain rational while being forced to deal with a given amount of irrationality."
Yes and no. Basically if you open a customer support phone line for anything mass-market-facing, you'll regularly encounter people who are utterly clueless but feel entitled, people who are assholes, and people who want to defraud you.
Some customers are really problem people, and a private company is not a charity in business of teaching people how to live in a civilized society. So it's a reasonable business decision to try and get rid of some of the customers (or risk your support people burning out); the issue is not whether to do it, but how to do it without risking additional damage to your business.
>> I strongly disagree with the assertion all customers can be dealt with "civilly" while still remaining sane. Customer irrationality is widely varied, and sometimes you just need to take matters into Fate's hands to get back to rationality.
Most importantly, it's not something you deal with publicly.
> That statement doesn't jive with his previous posts.
Nope, it does.
His original post (not posts) pointed at foul language first and foremost, which was then compounded by posting an equally charming Amazon review without making any attempt to wait for a reply. So his follow-up matches the post that led to this whole brouhaha.
But let's not allow this ruin all the fun of the vigilante justice and trying to beat the living daylights out this guy.
That's a real the danger of IoT devices. What happens if the company goes out of business, Or the company decides to terminate support? Cloud services should be additives not necessities.
One of the problems with these devices is they almost always come with "free" cloud management solutions, meaning you pay a one time fee for the hardware, and get access to "the cloud" for life for no additional fee
So the cloud services must be continually supported by selling new devices at an exponentially increasing rate to support both old and new customers.. In other markets this is called a pyramid scheme where new investors pay off old investors...
I will not buy a IoT product that does not some with a Self Hosted management option, preferably open source, but at minimum installable binaries to run on my own server. If they want to provide their own service for the less technical clients more power to them, but for me self hosted or no buy
Having zero knowledge of this product other than TFA, but being familiar with similar systems; It's not an unusual requirement for a consumer device that's app-driven. If you're within the same network, the service can be discovered and all's fine. But if you're on cellular, you hit walls - you don't want to open external ports for these notoriously insecure devices, and discovery outside the network is unsolved.
So it's quite normal to have the device poll a hosted service, waiting for a callback, and the cellular application reaches the same hosted service. But to do so, you need a dependable and trustworthy hosted service.
>> But if you're on cellular, you hit walls - you don't want to open external ports for these notoriously insecure devices, and discovery outside the network is unsolved.
Dynamic DNS. Learned about this the other day from a coworker who sets up his own stuff and connects remotely by phone. You don't get a choice on having a port open - there has to be a way to connect from the outside. Making both the user and the device connect to "the cloud" to get in touch with each other is not more secure, it's less secure - see pissed off company killing a garage door opener.
This doesn't work on corporate networks, or with ISPs who put their users behind a NAT (common for cellular modems). It also doesn't really fix the discovery problem - how does the client running on a different network know what dynamic DNS domain to look up? The easiest method is to use a hosted service to coordinate the two. Then you're back to the same problem.
I'm not aware of a robust solution for IoT device discovery that doesn't use a cloud based system of some sort. All the alternatives are fiddly or vulnerable to weird router/ISP configurations. Not ideal when you want your product to be seamless.
Really it sounds like a good situation for a federated service/protocol.
Let IoT developers develop against the protocol and then consumers can pick a provider to run their IoT hub.
i.e. I go to my garage app and plugin iot://firstname_lastname@iot_hub_provider.com and then that does the heavy lifting of cloud connecting the device and allowing the app to communicate with it.
With a bit of effort, you can have a service that is 1) nearly invisible to anyone not 'in the know', 2) allows incoming global connections without opening any ports, and 3) is extremely-well firewalled from any client lacking a manually-loaded decryption key.
It's not easy, even for technical users, but it can be achieved with 'stealth' Authenticated Tor Onion Services[0]. This does not open any ports, although decryption keys must be manually loaded onto client devices. Crucially, though, any client not in possession of the decryption key can't even determine which Tor introduction point relays need to be contacted in order to set up a rendez-vous with the Onion Service, let alone know what to put in their INTRODUCE2 cells to actually authenticate themselves to the Onion Service.
I make considerable use of this scheme for all sorts of applications and it works very well around the globe, though sometimes slowly and with high latency. The only real catch is that serious censorship evasion (China, Kazakhstan, Gestapo Corporate Firewall) requires using bridges with timing obfuscation, which adds complexity and maintenance burden.
I think there's considerable potential for truly privacy- and security-conscious IoT products using this scheme. All you need is to display a QR code the user can scan on their client device in order to load the service hostname and key. Users run open source server software on their home PC with a bundled Tor. Bonus: Tor use is de-stigmatized and normalized, and Tor traffic increases, improving all users' privacy.
I think the security concern is that IoT devices have such poor security, being behind a firewall is the only thing that stops an attacker compromising them.
Expose the shitty insecure software to the internet directly, the theory goes, and successful attacks are inevitable.
But the issue goes somewhat further. Why does a garage door opener needs to be app dependant in the first place? I don't mean to come out as a luddite and can totally see a place for app driven objects in an IoT network, specifically in the scope of home automation - and control.
But for a garage door opener? Why exactly does it need to be controlled by an app? Do you ever need to control your garage door, while, for example at work? Isn't that just adding an additional layer of complexity, potential problems and a vengeful company between you and your garage door?
Those are nice examples of remote access, but none of them require a 3rd party. The problem seems to be all these web developers throwing the same solution at different problems where it doesn't really fit. Put the server in the product - problem solved.
But then I need to be able to open a connection from my phone to the device. With NATs, Dynamic IPs, ISP configured firewalls/routers and so on, this is decidedly non-trivial. Sure, you and I are smart enough to hack something together that will probably work, but end users aren't.
>> But then I need to be able to open a connection from my phone to the device. With NATs, Dynamic IPs, ISP configured firewalls/routers and so on, this is decidedly non-trivial.
There's always a "but". ISPs need more regulation. They need to be carriers of bits, and they should be forced to hand out fixed IP addresses (IPV6 makes this trivial) or even blocks /8 to homes. In the meantime there is dynamic DNS. It seems like a better idea to fix the problems standing in the way than to run every IoT device through remote servers. If you do that, you're making a choice and it's not in the customers best interest.
I for one will never participate in IoT that works the way these things do today. My furnace needs to fucking work all the time. Having a fancy NEST fail without a network connection is not an option. A simple mercury switch is more reliable and doesn't collect information about me.
...and make that server public-facing. One problem solved, a million security issues gained.
Granted, I put words in your mouth there.
But if you put such an attack surface in your device, you need to be really sure to secure it well. Especially for the case when your company goes out of business, but your customers' devices stay up.
That doesn't work for many home networks, where you can't make incoming connections, and there might not even be a fixed IP address -- at the very least you need some kind of simple server to pass messages between the user's phone and door.
The potential cost would still outweigh the use I would get out from it. But that's strictly me speaking. Other people may totally see it the other way 'round.
I guess that depends on your wifi. I have a heavy concrete construction, so with my car in the driveway I still wouldn't get wifi - let alone on the street, if I want it to open in time to pull straight in.
(for the actual value of this, I guess you'd have to ask the people who bought it. But replacing your 'clicker' with your phone, does appear to be the entire goal of the product - and "not in wifi range" could mean 100 meters away just as easily as 100 miles away)
Because "you" want to sell something to the average Joe or grandma, who wants to just plug it to the power and to the garage, and be done.
There are many cases where the cell phone won't be in the same WiFi of the appliance and on those cases you can:
1 - use some intermediate service: cell phone app <--> cloud <--> appliance
2 - Cell phone app <--> VPN to your WiFi network <--> appliance
3 - Cell phone app <--> router/modem with open ports or redirect ports ou DMZ <--> appliance.
The solution "1" is under your (seller) control, so that it's easy to provide.
Solutions 2 and 3 (and perhaps some others) need intervention from the customer, in some complicated settings. Use it and you'll surely limit your market.
The first (second?) company that creates a protocol fro their modem/router that allows a simple configuration of IoT devices to your cell will make money. You know, like WPS was created to make it easy to connect new devices to your WiFi.
You need 3rd party cloud access so the stuff in your garage can be more easily stolen of course. Just like I need my twitter followers to know when my toast is done so my toaster needs a wifi connection.
Why an exponentially increasing rate? A device like this doesn't use much storage, any logs it keeps can be rotated out after a certain duration, and the cost of storage goes down over time, not up. So storing the same amount of data 5 years from now will be less expensive, not more expensive, than today.
In addition, there are things called annuities, where the purchase price today can have enough set aside to be self-sustaining. Not saying they've done that in this case, but it's not outside the realm of possibility.
>One of the problems with these devices is they almost always come with "free" butt management solutions, meaning you pay a one time fee for the hardware, and get access to "my butt" for life for no additional fee
There's also data leakage, even within the context of "working as expected."
Recently, a clerk with the local/county municipality showed be a circa 4 am toilet flush and hand washing at my place-- based upon the single spike and amount of water used. Me slightly creeped out. The new remote-read water meters break down usage to at least the hour level -- that's what the interface she was in provided.
I can't go to the can without someone "watching". Do I start "obscuring" or "polluting" my toiletries with random flushes and runs out to the backyard bushes?
Maybe I need to roboticize this with a Raspberry Pi (overkill?) or Arduino. (But what random number generator/source do I use?)
If I had money to burn, I could install a cistern that I would draw into only periodically in large bursts.
My water meter is, via a local 433 MHz uplink, on "the Internet of Things". My friend's dog now has more privacy with regard to his bowel movements.
The flip side of this is when you're on vacation and your small-town municipal office calls you and asks if you're filling a pool, as their system has detected and flagged a constant usage over a XX hour period. In my case it was the toilet I flushed right before we left for vacation. It had been running since we left. Their call meant that I could call a family member to go over to our house and find the source of the issue, saving us hundreds of dollars in water usage. It also caused me to start digging into the communications protocol for our electric and water meters [1]. Unfortunately a recent software upgrade has enabled encryption by default on the electric meter transmissions, so I'm only able to decode water meter now, and I'm not sure how long that will last.
Edit: Here's the screenshot of usage data they sent me when I inquired [2]. The dropoff on 7/25 is when our family member shut off water to the running toilet.
I asked about recent increases in my billed amounts and whether my account might be connected to the wrong meter -- something I've read is happening as these systems are deployed.
The clerks have a system at the counter that is already signed in at some degree of administrator level. They can pull up any record they wish, on the spot. There appears to be no concern about logging or auditing of access.
The clerk just took my account number from the bill I brought with me and pulled up my usage for the last couple of days. Swung the screen around and asked whether it looked familiar (it did).
I have access to the same system -- supposedly only for my own account, after I go through an initial sign-up/on process. I wonder how secure that external access to accounts is, but I can't speak to this at this point.
My understanding from reading is also that a lot of these systems transmit unencrypted on the 433 MHz band as they communicate up to local aggregators. I didn't bring that up with the clerk.
By the way, I was given no choice to opt-out of this deployment.
Many electric "smart" meters will expose your electrical usage in just this manner too. With electricity, at least, it's economically feasible to get a "cistern" (Tesla Powerwall, etc).
That does not work. A Powerwall or other battery will just increase the base load over the time it's charging (or decrease the load when it empties), but you will still have noticeable load spikes by which you can identify the device.
Actually, it's even possible to identify certain devices by eye if you have a sufficiently detailed log (I could, for example, distinguish a coffee machine, a dishwasher and a fridge, as well as lights with different wattages, at a resolution of 1-2 measurements/s). Their patterns are quite distinguishable.
Oh, I definitely agree. The cistern analogy with water would function the same way-- refilling from the public water supply as it was drawn upon. I assumed one would disconnect from the public utility input to obscure usage patterns, "refilling" in bulk at a later time. (I did think the Powerwall was aimed at load-shifting, though, too.)
The point is more that this "company" is most probably run and operated by a single person. Hence he is being upset with not being able to answer support questions at night and being forced to deal with every customer professionally, while being busy with a bunch of other things. But this is probably also calculated into the price of the product, and the fact that its just a garage door device.
If it were some medical device, you would expect that its supported by a large company, the device has gone trough mandatory certifications, etc. But that would also show in the price of the product, or the volume at which those products are produced and sold.
The mistake is expecting that every gadget maker provides service such a multi-billion dollars corporation can. It simply can't, its a single-person company and that person has its limits. So you either have to deal with some roughness, or you dismiss everything not backed by a large enough company. Not that big companies can't be assholes, they just know how to be assholes less personally.
> What happens if the company goes out of business, Or the company decides to terminate support?
I agree with you completely. Devices that rely on external servers are not OK. My house's automation uses IoT devices that host their own servers, and/or communicate with those locally that do. I had to build them myself since no company I could find offered anything like this. I'm not a snowflake either, other engineers have done the same.
Currently, IMO, the only reasonable solution to home automation is to do everything yourself, from absolute scratch. Commercial solutions are a combination of insidious spyware and stuff that will become useless when the company becomes acquired, dies, or gets mad at you and shuts down a server.
Servers are necessary because many users have a dynamic IP address.
If your product doesn't need to offer remote control, this isn't a problem. But for many products remote control is a significant USP.
I've built my own IoT systems, and this is one of the first problems that has to be solved.
In an IPv4 world, with domestic networks connected through NAT and a dynamic IP, external servers are going to remain a thing, because the problem cannot be solved without an external server.
If IPv6 ever really takes off every device will have its own address, and then all we'll have to worry about is building bullet proof top tier security into an SoC running some version of Linux that was last patched a few years ago.
Between UPnP, ICE [0], and TURN, haven't we figured this out? I'm asking for real since I've never implemented these. Undoubtedly there are some configurations where these methods fail, but I would expect they work fine on almost all consumer networks.
I understand that TURN is where you proxy the connection through a third-party server, having given up on establishing a direct connection. While that does require a third-party server, there's no reason that server necessarily has to be directly owned/operated by the company; they could set up P2P relays in their devices, and/or open-source the server software so that it could be run locally.
> In an IPv4 world, with domestic networks connected through NAT and a dynamic IP, external servers are going to remain a thing, because the problem cannot be solved without an external server.
It can be solved, but the setup UX might not be great. Wouldn't you just have an "Advanced" UI that allows you to input the public IP address of your home network? The IoT device itself could take it from there and set up the correct firewall and forwarding rules over UPnP, or you can do it yourself. It's a one-time setup. Despite it being dynamic, how often does your ISP-provided IPV4 address actually change?
> how often does your ISP-provided IPV4 address actually change?
About once a week. This also presupposes that every customer of your home automation gets an external IP address with a router they control. What if you don't? What if you only get an internal or private IP address from your building or whatever?
What would a venn diagram look like between people like your mother and people that want home automation? My mother is still firmly in the "why would I want an automatic garage door?" category.
I think something like an automatic garage door opener is a reasonable thing for someone to want; same with, for example, a smart HVAC system or potentially security cameras.
It obviously drops off sharply when you start getting into the Bill Gates territory where monitors on the walls adjust their artwork to suit the people currently occupying the room, or modifying the light levels, etc. But all the previously mentioned stuff seems like a reasonable thing to want, the same as an automated washing machine or a microwave oven became standard items.
Perhaps there is a gap in the market for an independent rendezvous service that IoT devices and their controllers can connect to each other over.
Rather than baking in a dependency on the vendor of the specific device not going out of business, not stopping support for the device you bought, and not taking a dislike to you, you could depend upon an independent service that all (or at least many) IoT devices use.
Just run a dynamic dns server and have the client update that. Then in the client software default to using your dns infrastructure but let the user override, so when you go out of business they could set up their own dyndns and use that.
Mesh overlay networks are a thing - you could very well build on them, and provide your own bootstrap hosts. The issue is that there's no incentive to learn how to manage and build that complexity into your devices and apps, vs building a simple web API.
Assuming a NAT and restrictive firewall like those included in most consumer routers, DNS gets you the public IP address, but it doesn't get you a port to the client (though one may be better advised to use STUN or ICE). You'd need to punch a hole dynamically with UPnP, require the user to punch the hole manually, or introduce a relay server using something like TURN.
Often the user just needs to find the device on their own internal network: in which case a DNS entry of myserialnumber.myIoT.com returning 192.168.1.104 is fine.
Or if you need need to initiate communication from outside the local network: establish a tunnel (in same style as e.g. ngrok).
This is what I'm doing also. Anything I want to access externally can be reached via an mqtt server running on an el-cheapo VPS.
No small irony (to me) that what simply the easiest method for me, is also one I can replace or migrate in a heartbeat. It's a shame there's no commercial offerings that do the same - there's not many vendors at all I trust to not sunset their service while I'm still using it.
(even giants that can afford it. I've been through dotmac / mobileme and now icloud on Apple, email has been the only service I've used for 10 years without being discontinued. Buying in to home improvements where I can't expect 10 years, isn't something I'm comfortable with)
Agree that you shoudn't be buying gadgets that rely on someone elses servers. If you are buying a gadget+service, it makes more sense to subscribe to the service and have the gadget on loan. At least when the service provider dies you can just sign up to another, and get a new gadget (e.g. how cable modems used to work).
The problem with the user setting up his own boxes is that I absolutely will not be bothered with updating the machines. So until there is a solution that lets me have internet connected machines at home that require no maintenance no matter how many years they run, then I'm out of luck.
I bought a TurtleBeach Audiotron years ago. It needed to hook up to the TurtleBeach server on powerup. Naturally, TurtleBeach turned that off at one point, bricking the Audiotron.
Fortunately, they did release a patch that bypassed the ping. I continued using it for years, and finally replaced it with a Grace Digital device, which also relies on connecting to Grace Digital on powerup. I know it'll eventually fail when GD moves on.
Seems like a real problem. On one hand legacy devices -- keeping them supported and updating their vulnerabilities for exploitative uses as we saw from Anna Senpai.
Not sure about the nuclear reactor non-sequitur, but with a physical device like a razor blade you can buy spares, buy 3rd party, or move on.
When an IoT maker adds 'cloud' to their product and makes it inextricably tied to the product's functionality, you have to be able to rely on their ability and willingness to maintain the cloud services for as long as you use the product.
Yes, I can get electricity from a different provider, or buy a new handle, or indeed get a new garage door opener fitted.
The problem is that a cloud-controlled garage door opener creates an unnecessary dependency on the continued existence - and good behaviour - of the vendor, unless one thinks that being able to open it from anywhere in the world is an essential feature of a garage door opener.
There's more to it? Being a cloud service means there's a simple API to open the garage door, using vanilla networking standards. The IoT is maybe more about just using IP for communications instead of special signaling devices (garage-door-opener radios etc).
Even if I just wanted to control the door from my desk at home, I'd still benefit from it being IoT-based.
It's amazing how much cheaper this (i.e. the double-edge "safety" razor) is, and it's amazing how many people don't know it. Over three years ago, I spent $11 on a pack of 100 blades. I'm not even halfway through the package.
> What happens to your handle when your razor blade supplier goes out of business?
This is an utterly stupid comparison. Razorblades cost less than 10 cents and are disposable by design. You don't spend $100 on a garage door monitor, or $1000+ on an appliance or TV expecting to use it once and throw it away.
It's the right idea to consider the concept of IoT as an Internet of Shit because, even if the devices function flawlessly, device functionality is not always crafted in the best interests of the end-user.
Even if the device is well-designed and doesn't malfunction, a device might function all-too-well, and act against the consumer who owns the object.
When you have a smart device that's smart enough to be too smart to let you freely benefit from it, everything becomes a rental at best.
If we let this happen, it could very well be a step backward from the status quo of planned obsolescence. (planned obsolescence is also a bad thing, just in case anyone needs that spelled out)
An internet connected device can spy on you and sell your data. It can show you ads. It can have much more sophisticated DRM. It can stop functioning at a random time while it goes through an unnecessary update. It can be bricked remotely if you try to hack it.
Consider game consoles. The original xbox would just boot up the game that was in the drive and that was it. The newer ones will go to a home screen full of ads. You have to create a microsoft account to start playing. The game will take several hours to update before you can start (and because of this games are now released in an unfinished state because they count on customers updating.) And it was going to be so that you have to have the internet on all the time so it can check if your game is used or not (fortunately they disabled that after overwhelming protest.)
The interesting thing to me is that the level of anger involved in the customer interaction here barely even moved the meter and the support person - who is apparently also the owner and developer - went nuclear. Support professionals are used to dealing with people who are angry at them personally and in this case, the guy was only expressing anger at the product. This should have been a low-stress response addressing the problem itself.
This story brought back memories. I supported software shortly after graduation and the lead developer once joked with me about how we ought to just give people their money back if they couldn't make it work after a certain period of time. Nobody ever let him near customers without supervision. But even he, when confronted with customers disparaging his work, could cope by hand-holding the customer or asking them how they thought the program ought to work instead.
I've heard the term used at least as far back as the 90s. The phrase "cut the toxic people out of your life" comes up a lot. I suspect it originated with either 12-step programs or psychologists.
Seems like good advice, except for the part where it's basically running from interpersonal conflict instead of dealing with it. In some situations with really unbalanced people it's the best option, though.
I guess it is a good thing this is not a 'smart pacemaker' manufacturer or similar...
But in all seriousness, I wonder at which point the decision to rescind an IoT 'service' becomes unacceptable. Obviously doing so with a medical device or a moving vehicle during operation would be criminal. But how about a smart home lock? A security camera / alarm system?
There's a few million cars around with remote kill switch technology on board.
"We can disable the ignition but not while you're
driving," Melanie Boudreau, a spokesperson at IMETRIK, a
Canadian maker of starter interrupt devices that run
around $100 each, told Fortune. "We don't want to kill
you."
Maybe in a not so distant future or political regime, this stance on not killing people may change. Remote kill switch are not limited to ignition, there's a moving vehicle version intended for police use to stop a car chase[1] so there's that, we can expect this[2] to be done on moving vehicle in the wild at some point[3].
With "self-driving" cars, the next logical customer termination technique will be speeding up to 100mph and then steering into a bridge abutment. I think I'll keep my bicycle.
A lot of responses seem to be along the lines of: When doing support you need to put up with being abused.
Seriously?
I think the support guy/founder should have taken the high road, for reasons that are all too obvious based on the number of HN stories I've seen about this.
But, if my kids ever spoke to a stranger like this, I'd make them go clean up dog poop in this person's yard and apologize. "C'mon, we're getting on a plane!"
And further, if your opinion of a product is that it is a "piece of shit", why would you get mad when the product is disabled and you are offered a refund? Are you expecting them to turn a piece of shit into a unicorn? If it's a piece of shit, a refund is exactly what you wan't, isn't it?
If only someone warned us about shit like this... Some guy was jabbering about it all the time but I don't remember his name. I think he wrote a text editor or something...
I think you'll find people like that, regardless. At the end of the day, people get frustrated when they pay money for something that doesn't work. Plus, posting in a forum can feel like shouting at a wall rather than talking to a person, especially if you're not used to posting in forums. If you're patient enough with angry customers, they can become some of the most adamant supporters of your product.
The customer gets to get a refund for the product. This way it is not bricking per-se but refusal of service.
My understanding of bricking is that you have a dead device and no recourse in getting a replacement or a refund.
The interesting question to me is what exactly you buy for $99: just the device ? Is the cloud-based service included in the price also? Especially since the developer can only make an assumption as to how long (in years) a customer will be using the service.
Surely whether a customer has a right to review a product and some recourse in the event of retaliation qualifies as an interesting question, as well though, right?
Well now I'm triggered. I was really only offering you an opportunity to clarify. There is a difference between offering a refund and forcing a refund. This was clearly a retaliatory action and you either didn't understand that, or disagree with the premise.
If you start from the premise that "the customer is always right" then I can see why it looks like a retaliatory action.
The thing is that "the customer is always right" is just a customer relation principle/approach and not law.
In order to actually have a legal point against the action taken by the merchant first it is necessary to clarify what the actual product is in that transaction.
Let's try it this. You get cloud powered pacemaker and you contact the company on its forum because it gives you cardiac arrhythmia.
The answer from the company is "we don't want you as a customer so we remotely blocked your pacemaker from ever functioning, you now have a choice between us keeping your money for something that will not work because we made sure it won't or give us our device back and the third party store will give you a refund".
I made thicker lines to make the point appear more clearly, but it's drawn with the same pen.
You seem to confuse a product that costs tens of thousands of USD (the pacemaker) with one that costs only $100 and you purchase on Amazon on a 2-day delivery.
The former is sold within an industry that is not only heavily regulated but also very mature and governed by laws that have had time to maturate over decades if not hundreds of years.
The latter is sold within a nascent industry (IoT) and the definition of a product is not yet properly settled. Hence my question as to what you actually buy.
But hey, if you can clearly draw lines for me with your imaginary pencil, more power to you. But it does not replace proper and balanced argument.
I don't think the cost of the device has any bearing on the issue. If you sell me something for $1, you have just as much obligation to ensure that it is fit for the purpose you advertised as if you sold me a device for $100k.
The sale price only affects my willingness to sue you and the amount of damages I might be able to collect in the judgment.
Regulation of the industry just means that more interested third parties may become involved in our dispute.
If you sell me an Internet-connected garage-door opener that includes a smartphone app as the remote operating device, you are responsible for ensuring that the app meets the consumer expectations previously set by radio-frequency garage-door opener remote-activation devices.
My expectation there is that the only time such a device should fail to function is when the battery inside it is dead, or if the door itself is prevented from moving. And I also expect that my remote device will not open a neighbor's door, nor that any device used by my neighbors will open my door.
So when I press the virtual button on my phone, and my door does not move, because the button crashes to the OS display manager, that is a critical--but still fixable--technical failure for your IoT door-opener company. Subsequently banning your complaining customer from using the device he already bought is an existence-threatening customer service failure.
With incidents like these, it shouldn't be too difficult to get clueless consumers to realize that connecting things to the Internet is a solution in search of a problem. Your fridge doesn't need to write Tweets, and your garage door in Denver doesn't need to be opened from Budapest. Sometimes, standing up from your couch, walking to a physical switch, and flipping it is the best solution. And when it is not, blowing the right pattern into your quadriplegic's control straw should activate a radio signal received by your self-hosted home automation server that does not need to consult the Internet in any way before turning your lights on.
In case of complete insanity, where you have actually connected your garage door opener to the Internet, and the manufacturer banned your device from using the central server, why the hell would your device then be useless, if both the phone and the opener can be connected to the same LAN over wifi? Why has the manufacturer made a reliable Internet connection a mandatory requirement for opening a door that is likely less than 10m from the end of your nose? A wifi antenna can broadcast a short-range radio signal even better than a dumb opener remote can, so why is that not an expected mode of operation?
I have found it common to refer to devices as "bricked" without any reference to whether a refund was available, and I have definitely heard people say they returned their bricked device to a store, so I don't think your usage of the term is standard.
Usually a bricked device is not up for refund, but stores policy differs, employees may not check if the device works, sometimes the policy is clear that they don't take bricked devices but they accept it on case by case basis.
There's no a absolute stance on refund for bricked devices.
Bricked == rendered non-functional. When you brick a phone it isn't necessarily dead of natural causes, there could be a hardware lockout, like a moisture detector.
ok let's go through this again. Bricked means the device is now useless or a brick, it's only use will be a paperweight. Totally different from non-functional, removing the batteries will render a device non-functional.
In this case the device was blacklisted on the server side. For a device to be denied access it has to ask for access first which a bricked device would not be able to do.
I don't have the exact quote, but it was definitely state somewhere that the device purchase includes access to the cloud service for the device lifetime.
So for $99 you clearly bought not only a device, but also the required service.
What happens if the company goes out of business? Does the app require a server to be active in order to use the App?
The app requires a server component as does any consumer friendly product with mobile access. [...] The main server component is maintained by the Particle and pre-paid for the life of the device. [...]