User experience for the Internet of Things
Claire Rowland, Independent Product Design and UX Research/Strategy Consultant for the Internet of Things (IoT), shares her top tips to improve the user experience when designing a product for IoT.
When talking about designing for connected products, we often focus on the industrial design of the hardware, and the UI design of web/mobile apps. Both are important, but they are not the whole picture. It’s possible to design devices and apps, which individually look great and make sense, but for the overall UX are still confusing or unsatisfactory.
Many connected products are actually systems: functionality and processing is distributed across ecosystems of multiple devices, app UIs and software services.
When users interact with systems, not just single interfaces, new classes of UX challenges emerge. How do you ensure that the overall UX of the system feels coherent?
How much functionality should you bake into device hardware UIs versus mobile/web apps? On-device UIs are often easier to access, but add to the bill of materials and are hard to iterate later. App UIs are cheaper to build and easier to iterate, but won’t be available if connectivity is lost.
How consistent should different UIs be across different devices? A light switch is not the same as a mobile touchscreen. The task of turning the light on might mean a different interaction on each, but both need to feel like a family. Using consistent terminology for features is the most basic requirement. If a heating controller has an auto setting but the phone app refers to it as a timer, users will worry about whether or not those are the same.
One of the biggest challenges is the network itself.
Firstly, we are accustomed to experiencing latency and reliability issues on conventional internet devices. It’s frustrating when downloads run slowly or Skype calls fail, but we understand this can happen and, to some extent, why. But our experience of the physical world is that it responds to us immediately and reliably. It does not take 30 seconds for a light to turn on.
The instruction does not get lost between the switch and the bulb. We do not expect internet-like glitches from the real world. We can’t always engineer these issues away, so the UX must handle delays and reliability issues as gracefully as possible.
Secondly, many connected devices (especially those that run on batteries) connect to the network only intermittently to check for new instructions or to send data. This minimises power consumption, but can mean that parts of the system get out of sync. Your battery powered heating controller might temporarily tell you it’s set to 19°C, while your smartphone app tells you it’s set to 21°C, because the controller hasn’t yet checked in and received the new instructions.
But good UX goes deeper than UI design. UI design is irrelevant unless the product has a value proposition that users can understand, and want. Connectivity has to add clear, comprehensible value to a product in the eyes of the customer.
Finally, good UX requires closer collaboration between designers and engineers. You can’t make the right UX without the right APIs, and users will expect products to work together: devices interoperating and coordinating with other devices.
The key to good design as an IoT startup is to do only as much prototyping as is necessary to learn what you need at that point. Don’t bake product decisions into hardware until you’re confident they’re right: use low-fi experience prototyping methods to explore product market fit, value propositions and design. You can do this without hardware, but in parallel with hardware feasibility.
- Good UX starts from identifying a clear, appealing value proposition. It isn’t just the job of a designer: it requires good collaboration with engineering and other disciplines too.
- Cardboard mock-ups, storyboard sketches, rough and ready concept videos, and wireframes can all be mocked up quickly to explore and test different ideas, in parallel with hardware feasibility work.
- Prototype and test for the whole system UX. Balance the design of individual UIs and devices with designing and testing cross-device interactions.
- Design for network: handle delays and uncertainties gracefully. What happens between the user initiating an action and the action being executed? How much do they need to know about what’s happening, and whether it might have gone wrong? These might seem like small concerns but they can have a huge impact on UX.
- Anticipate and mitigate new ways to fail: what will happen if your system, or part of it, loses power or connectivity? Will the user be worse off than they were with the old, non-connected version of your product?