User interfaces for the Internet of Things
New Internet of Things (IoT) devices appear every day. Since many of these devices lack screens and are used infrequently, it can be tricky to design user interfaces (UIs) for them. To me, this is one of the most fascinating design challenges today.
So far, there has only been a few dominant UI paradigms for digital devices. The good old desktop metaphor with windows, icons, mice and pointers made computers usable for the masses. With iOS and Android, smartphone UIs seem to have settled on touch screen input. Now we see a rapid growth of subtle and smart devices that might not have any screens at all. What types of UIs will emerge for IoT?
“If computers are everywhere they better stay out of the way” — Mark Weiser and John Seely Brown
State of the art
Today’s IoT devices use at least one of these three different UI approaches:
Some IoT devices are so subtle that we usually don’t notice them at all. For example, many thermostats and alarms are designed to only demand our attention when there is some kind of urgency. When devices are smart enough to automatically adapt to our context and goals, no interface is often the best interface.
No matter how subtle, we might still want to actively interact with IoT devices occasionally. Most devices need some kind of physical UI in case some people don’t have the right apps or the wifi goes down. This can be a few buttons, a tiny display or some LEDs and minimal audio output that indicate different states. Still, the physical UIs of smart devices are often limited for aesthetic reasons, to avoid excessive components and to save energy. This is also why they often lack screens.
Since we carry screens in our pockets anyway, the UIs of smart devices are often outsourced to “companion apps” on smartphones. This approach opens up a lot of potential for creative industrial design as well as innovative software design. Installing one app for each IoT device works well when we only interact with a limited number of devices. However, this approach won’t scale once we want to adjust different lights, audio systems, alarms or climate solutions in numerous locations.
Remote controlling anything over wifi is a deceivingly simple UI solution for IoT. It might be easy to implement, but it can be difficult for users to understand. When remote controlling things over wifi, there is really no difference between using an object nearby and any object, anywhere. To completely ignore the potential physical and spatial aspects of IoT devices is a missed opportunity to design great experiences.
“There’s untapped magic in the gaps between gadgets” — Josh Clark
Where do we go from here?
Instead of continuing to develop UIs for IoT based on easily available solutions, we should consider what types of experiences we really want. These are some things I think we should look for in the next generation of IoT interfaces:
One app to rule them all
Soon, there will be so many IoT devices that it will be difficult to know what things around us can be used. Instead of searching for companion apps for each device, we might soon need some kind of aggregation service that clearly presents all the IoT objects around us that we can access. This type of service should appear temporarily on your smartphone (or watch) as you enter a new space, without demanding too much attention. Also, there should be some way to manually ask all smart objects nearby to introduce themselves. How would you want them to reply?
Design for occasional use
We tend to forget tools that we don’t use frequently. When designing a UI for an IoT device, assume that your users know or remember very little about it. If they need to browse the Internet to figure out how to use their smart object, they won’t feel very smart. The more IoT disappears into our everyday lives, the more our devices need to support us when we actually want to interact with them. Since many devices will collaborate to solve our problems, we also need to be able to understand how they communicate between themselves.
When you bring up the smartphone UI of an IoT object nearby, you should get some kind of response from the actual object as well. A UI that involves two or more devices is much easier to understand when you can clearly see or hear the connection between them. The spatial arrangement of objects should also be part of the experience of digitally searching for available devices. What if you could establish a connection by pointing the remote control device directly towards any object you want to interact with?
Design links between devices
If possible, we should combine the clarity of a physical, on-device UI with the flexibility of remote control over wifi. Design clear connections between different devices through orchestrated audio and synchronised visuals. It’s possible to design beautiful and even magical experiences by seamlessly blending the UI of two, separate devices. If there is a delay in the link, use it to design chain reactions. We all love Rube Goldberg machines, right? How would you build one for IoT devices?
The next generation of UIs for IoT devices need to support many types of interactions. Sometimes, devices will be completely invisible and stay out of our way. To me, the really interesting experiences will be when many devices collaborate in rich, multi-device UIs.