The Internet of Things needs a few SMACS

I just returned from CES and it was filled with discussion about who is going to win the standards war when it comes to the internet of things (IoT). The technology world tends to have a long history of perceived winner-take-all horse races, some definitive (VHS vs Beta) and some perennial (Android vs Apple). It’s not surprising that many think an IoT standard will be similar. That type of thinking is old fashioned and lazy. We need to think about this problem more broadly.

The issue is that it’s a false bet. These IoT standards are only focused on creating the ‘message bus’ that will exchange data and control between devices. This is of course extremely important and a single shared standard would indeed drive interoperability, privacy protections and security. My point is simply that it’s just the beginning.

The UX designer in me wants to scream that this technical plumbing is deemed enough to create a viable system, especially when discussing the smart home. It’s a bit like saying that once you have a common microprocessor design, you can now build a complete computer.


The Internet of Things needs a few SMACS, a wake up call to realize that designing human systems needs expressive power, you can’t just slap it on top afterwards. In my previous post on Home Automation, I discussed how hard this problem is, and how few treat the UX design issues seriously. In this post, I’m suggesting three additional technologies motivated by UX concerns. Systems that if they were in place, would make Home Automation a much much easier problem.

Semantic Map (SM)
A detailed map that is richly labeled with things such as doors, hallways, stairs, windows, ceiling lights and room types would be an extremely valuable asset to any home automation system. Many systems today require the user to create a horrible crufty one so that they can start to layout primitive rules: when motionSensor-A trips, turn on BedRoomLight-B for 15 minutes. The real crime is that this map can’t be shared and you often have to create two (or more) for the each system in your house.

Imagine if every house/apartment just came with such a richly detailed map. One which was completely open so any product could read and understand. It would transform home control for the simple, if practical reason that all home products could now assume a map actually exists. Placing devices and labeling them would be significantly easier. In addition, behaviors could be reasonably defaulted. If you were to place a smart lamp in bedroom 2 the switching system there could rightly assume that you might like to turn it on when Bedroom 2 switch is flipped.

The core value is that it would be a standard format that every product could use. Not only that, much like house keys, it would just come with your house or apartment. You wouldn’t need to create it from scratch, it would just be part of the home’s digital identity. Of course in the short run, the really nerdy of us will create these maps ourselves and that will create a cottage industry for a few years but once such a standard is expected, people will just assume that houses will come with one.

Automatic Configuration (AC)
If you’ve added any type of smart device to your home, you know what a fiasco this is: either connecting to temporary wifi access points, flashing your phone screen next to the device or typing wifi credentials on tiny buttons: it’s all complex, error prone, and a mess. A shared discovery/configuration standard where a new device basically holds up it’s hand, announces itself to a hub device and then waits for clearance. The user experience would be as simple as getting an alert saying “This device, in this location, wants to do X, do you allow it?” At which point, once you just click, it’s in.

This type of configuration would be built upon the Semantic Map so that a device isn’t just getting permission to join my house network but is also receiving characteristics such as a very accurate location and even orientation. It would be a two way transfer of access as well as annotation. Again, like the map, this needs to be a standard as you want devices to just work when turning on. These two technologies clearly build on each other, they are both more powerful for the other.

Statistical Control (S)
Once we have the Semantic Map and Auto Configuration in place, we are in a position to radically change how devices are both added as well as used in the home. Like the frog in the pot of water, we have become so used to the current barbaric situation that we don’t think anything is wrong. For example, we just assume there won’t be many smart devices in our homes because it is so damn hard to put them there in the first place! With the two previous standards in place, it would be child’s play to add items to a home and it would quickly change this from a game of things to a game of swarms.

We could kill the idea that I need a single motion switch in a room to turn on the lights. I should have at least 3 of them, working together, along with a raft of sound and light sensors. A single fragile switch should be replaced by a swarm of devices working statistically, redundantly inferring rich and subtle information: not only if someone is in the room, but which way they are facing and which direction they are moving. The first two standards unleashes a swarm of devices that can create a robust statistically based system that goes well beyond the “something moved in Bedroom 2″ rules that we have today.

Let’s be honest, these three systems, Semantic Maps, Automatic Configuration, and Statistical Control aren’t technically hard but at least in today’s business climate, many will consider them a bit naive. How on earth would these ever get off the ground? However, I just don’t buy that argument. The biggest impediment to progress is simply not knowing what we want. The goal of this post isn’t technical: I just want us to consider a world where these systems exist. If they did in an open and interoperable manner it would make an enormous difference. That alone is motivating enough for me. What do you think? Are people working on open systems like this? If so, let’s support them. Not everyone needs to invent, sometimes it’s enough to just encourage things that are moving in the right direction.