If you’ve been paying attention to the progress being made on the IoT, you’ve heard about the billions of IoT devices that are currently connected and the fact that in the next decade, experts expect to see over a trillion devices connected. A trillion devices. That is just mind boggling especially considering that standards are still in development, security dramatically lacking and many other obvious concerns that developers are focused on. There is one key factor that I have recently realized that is absolutely critical to IoT devices that so far, many developers seem to overlook; lack of connectivity. This sounds strange but let me explain through a few experiences.
The other night, a string of severe thunderstorms moved through my area which left a fair amount of flooding and damage in its wake. While the power remained on, our area experienced an internet outage that lasted for nearly 24 hours. In today’s society, not having internet for 24 hours seems like an eternity, but having grown up without the internet, I recalled plenty of activities I could engage in that didn’t require the internet. For example, I decided since I couldn’t work, this was the perfect opportunity to hop on the treadmill and get some cardio in.
Earlier this year I had purchased a new treadmill to replace a well-worn and more than decade old model. I jumped on the treadmill and hit the manual run button to start the treadmill and instead of being greeted with the treadmill starting, the treadmill’s screen froze. What on Earth is going on? It turned out, this treadmill, which shouldn’t require any connectivity to run a motor and take a few button inputs was in fact, dependent upon being able to connect to the manufacturer’s server! What should be a simple, stand-alone device that maybe could download different workouts from their server if requested required the internet even to run in manual mode!
Now you may be thinking this is just a poor design, but it made me start to wonder about other connected pieces of software. For example, I recently learned that every doctor’s office uses an online health records system. This seems convenient and makes it easier to share patient records between different specialists, hospitals and care providers. It’s brilliant …. except that if the internet goes out, doctor offices are no longer able to access their patients’ records! The result is angry humans waiting in their doctor’s office waiting for the internet to return. Again, you could say this is a corner case. How often does the internet go out, but the fact is it’s more than you might think.
The point is that IoT device and application developers are connecting everything they possibly can without considering how their device operates when the internet is not available. Instead of timing out quickly if a server isn’t able to be reached and giving the user local control of the device, a treadmill becomes a boat anchor. Patient records could easily be synchronized overnight locally since more appointments are scheduled at least a day before the visit. If the internet goes out, that’s okay, the updated records can be synchronized later and the one or two patients who scheduled their appointment that day can wait or be rescheduled.
Engineers and companies are building a complex and interconnected society without fully considering the consequences for what happens when the internet goes out. Just 24 hours can result in losses to a business or inconvenience to a user. I can only imagine what will happen when every light switch, electrical box and toaster is connected, and we have a major internet outage. If you’ll now excuse me, I think I should now go make sure that there is air in my bicycle tires.
If you are building an IoT device, how does your device function when the internet goes out? Is there something it should do to maintain functionality?