Without open protocols to allow people to connect together whatever they like, this technology will remain a niche for the minority that know how to write the software themselves - and have the patience to.
Without open protocols to allow people to connect together whatever they like, this technology will remain a niche for the minority that know how to write the software themselves - and have the patience to.
Light switch not online, still switches lights. Smoke detector not connected to wifi, still beep when detecting smoke.
The "smart" part is for convenience, not to create unnecessary dependencies. I'm a bit tired of seeing things that obviously only need access to local resources fail when the internet goes out.
1: https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu...
(edit: question marks should mark the end of sentences which are questions)
(But yes, that really should be the case. It could also support elegant failures back to the previous firmware version.)
For that matter, I don't think most web developers have a proper sense of security challenges, either.
(You only need to reboot for kernel updates, and that can be reduced with kexec)
Your idea is pretty similar to having a hypervisor running two VMs and switching from one to the another. There's no need to have two separate memory banks.
Even more, while you usually can self-program the ROM memory, you can only erase it in blocks that are pretty big relative to the whole memory of the device. If you have a simple system that runs in a flat address space with no MPU and virtual memory, it gets pretty complicated for a running update.
Of course, that's from my experience with microcontrollers. SOrry if I went off-topic, but I just thought the discussion interesting. Embedded Linux computers I bet are more complex than that and probably execute code in RAM. These babies are connected to the internet so they probably have a far beefier SOC running Linux not some lightweight RTOS. It is a kettle, you need a lot of juice for that baby!
I would say the point is "it is absolutely moronic to put a computer in a tea kettle."
I mean, seriously. What benefit can you possibly get from doing that? "Oh, I can turn the kettle on from anywhere."
Wonderful. For that benefit I would maybe pay $1. It's not like it's going to actually make the tea and bring it to me.
But how much would I pay for the assurance of absolutely perfect, air-gapped security from having hackers burn my house down by boiling my kettle dry, PLUS absolutely perfect assurance that I won't spend a second updating firmware or WiFi configurations or antivirus software on my kettle, PLUS absolutely perfect assurance that nobody is building a dataset about my life based on my kettle usage, PLUS absolutely perfect assurance that my kettle won't stop working because some service shut down or because some programmer mishandled memory...
What, you say? Those features are impossible if a kettle is connected to the internet?
People keep using this word "Smart". I don't think it means what they think it means.
Oh, and it doesn't actually have voice control. You have to pick up and unlock your phone and use an app, during which time you probably could have walked to the kitchen and turned on the kettle.
The Future™, ladies and gentlemen.
> Without open protocols to allow people to connect
> together whatever they like, this technology will remain
> a niche for the minority that know how to write the
> software themselves - and have the patience to.
That's me, and a good chunk of the HN crowd, but there's also people that will be happy to buy in wholly to a single ecosystem.And unfortunately, that's actually more justified here than the "I'll get an iPhone/Mac because I have a Mac/iPhone so it'll work better" mindset that I'll never understand.
> Without open protocols
That doesn't seem to be enough - Apple's HomeKit is... "extensible", shall we say; Amazon's Alexa has an open API; Google's Weave is an open standard, but the schema's pretty lax (vendors are "encouraged" to use standard identifiers like "toaster", but let's be honest, tonnes will use "acme_toaster"). ARM's mbed does enforce standard identifiers - using the LWM2M (`/:ObjectID/:ObjectInstance/:ResourceID`) format [0] - but that's four different systems and only the big players, so... https://xkcd.com/927/ (Standards).[0]: https://docs.mbed.com/docs/mbed-device-connector-web-interfa...
My smartphone and television are valuable because they're part of the network. My refrigerator is valuable because it meaningfully reduces my odds of death by food poisoning. The general appeal of configuring things like refrigerators and tea kettles is probably lower than programming the VCR ever was.
I'm skeptical that open protocols will change things much. Mostly because tea kettles are stand alone devices; the benefits of networking them are corner cases; and making them smart adds a lot of incidental complexity and that complexity manifests itself quickly because networks are unreliable.
I can imagine a world where it's worth programming my refrigerator, but the only possible justification would be that it integrates easily with a fitness band, to-do list, and preferably something else I care about. Ideally, I'd give them all some basic rules from a safe and convenient UI on my computer.
I've seen arguments for networking a kettle - usually "hot when you get home" - but I've never believed any of them. The thing takes 30 seconds to boil already, and I have no need to integrate it into my health or planning regimens.
Or just want that "computer, make me tea!" Star Trek experience. The frustration of getting it to work can easily be discounted by this guy's will just to make this thing work because the end result is awesome. I'd have gone through the same headache just for the delight of being able to say "Computer, make tea." and the computer making it so. Also, being able to do the same when guests come over just to show it off would have been worth every second of the aggravation it took to get it working - "Look what I did!" :D