4 ms·
I work in IoT and my single goal working in the industry is to do as much as I can (which will likely still be small) to make devices that are entirely separabl
by samtho 3y ago
I work in IoT and my single goal working in the industry is to do as much as I can (which will likely still be small) to make devices that are entirely separable from the cloud by enabling the use of different services and by being local-fist.
Imagine if private organizations built their own road network and then sold you a car that can only be driven on that road. Once that company goes out of business, the road vanished and your car is now a very heavy paperweight that literally cannot turn on. This would be totally unacceptable to us, yet we tolerate home automation vendors selling garbage that is locked to their propitiatory systems and will happily brick itself once those systems go offline.
- eschneider 3y agoI work in IoT as well and definitely try to implement as much as possible locally as well. What companies seem to forget is that any part of the product that's cloud hosted becomes an ongoing cost that goes up in proportion to the number of devices sold. The less you have in the cloud (generally) the better the economics for the manufacturer.
- ipsi 3y agoIt's an interesting one because anyone developing a software-only product has the opposite incentive - putting as much on the cloud as possible reduces support costs - no more "it says it's compatible with Windows, but doesn't run on my 20-year old laptop!" or having to field support requests from ancient versions. Plus it provides cover for charging users monthly, and there's a good chance your hosting costs are less than the cost of supporting a locally installed version. The more complex your software is, the more true this is - self-hosted enterprise software is not only more work to setup (ergo, more support tickets) but installed on a vast array of configurations (e.g., bare-metal K8s, OpenShift, GKE, Docker Swarm, EC2, ECS, etc, etc), only a portion of which are economical to test against and which will generate a steady stream of unique issues. Having an "enterprise-ready" SaaS product is expensive, sure, but probably less expensive than supporting hundreds or thousands of customers setting up their own unique version of your product. On the other side, it's not possible to move hardware to the cloud so the core support costs don't - can't - go away. Adding cloud in that case is adding ongoing hosting costs and support costs and is at best reducing the volume of support requests, but adding "Cloud" won't eliminate whole classes of customer support like it could with a software-only product.
- samtho 3y agoYeah, I think the problem is that we’ve been taught that pre-optimization is the root of all evil and that we should getting it working before improving upon it. Pre-optimization became a thing because enthusiasts liked the challenge of creating an elegant solution, but I posit that it continued because devs knew they were not going to be getting back to fixing inefficient code if it mostly worked. Usually stuff like this doesn’t matter when you’re leaking 5mb an hour on a 128gb dedicated server and you’re deploying at least twice per week. But when the devices that connect to you go from 10,000 to 1,000,000, you’re leaking 500mb an hour and then you have a problem very quickly.
- eschneider 3y agoWhat I'm thinking of isn't so much 'optimization' as basic design decisions. For a lot of IoT products that integrate machine learning/computer vision features, you've got a choice of implementing that stuff in the cloud or on device. You need a bit more compute to do the work on device, but ongoing costs are far lower and a lot more predictable. As a side effect, you also enable fully independent operation.
- yardie 3y agoI'm working on a IoT startup and we'd prefer to rent you the equipment as part of the service. That way there is no confusion. Having customers buy equipment they really don't own seems ridiculous to me.
- samtho 3y agoThis is also acceptable to me, especially if it’s X per month for service and device (including device replacement if needed). I also like how it reduces capex for a business that is looking to connect their devices and just needs a plug-and-play system.
- kwhitefoot 3y agoHow does that help someone who has built your product into their working procedures? When you decide to stop doing it they are in an even worse situation than the Jamboard users because presumably you will repossess the hardware.
- solarkraft 3y agoNot really, though. In both cases the customer won't have a working device. Just in this case it's obvious while in the other it's less so.
- yardie 3y agoThey can seek a new provider and integrate new devices. It also puts more pressure on us to keep the devices viable. Our revenue model is dependent on low cost devices working in the field as long as possible.
- solarkraft 3y agoYou may be making a huge difference to a few people. That the Pebble app has the option to connect to a third-party service provider (and that the Pebble works indefinitely without any connection to a phone, apart from some time drift) will probably keep my beloved watch alive over a decade past its official life span, maybe even longer. It actually feels like something I own now, which makes a hell of a difference to me. That it is like that probably comes down to a combination of tiny decisions during the development process in which the right people were in the right place.
- jedberg 3y agoThank you for doing that. I've made it a rule that any smart home device I get must but usable when the internet is off. I got burned a few years ago when my fiber line was cut and I was without internet for five days, so I couldn't turn on some of my lights or control the temp on the thermostat. Vowed to make sure that never happens again. All my smart switches now have local control. The internet should add functionality, but not gate it.