When you’re building a connected device, you’re building for a lot of different people. But no matter how someone uses your device and its associated stack of services, your users will fall into one or both of the following roles:
These are the people who interact directly with the device or its data. They need the device to be on and available when it’s supposed to be, and they expect the same for its data.
Every device needs some degree of integration and ongoing maintenance. The developers take your device (and its APIs) and connect it into their internal or customer-facing systems. They might be full stack hardware developers, or they might work at one of the levels in the stack: from firmware customization to adding new peripheral devices, on up to developing cloud analytics to work with the data, and anywhere in between.
A third role—hardware power users—emerges when someone falls into both of the preceding categories. Hardware power users might be users 80% of the time, but use scripting or plug-in tools to customize their experience.
Each role needs a different set of affordances and features, and will have different expectations about response time and access. A user might need smartphone access to a dashboard that’s updated every second, but she doesn’t need to access the device’s serial port remotely. A developer might need the ability to push over-the-air firmware updates to a device, but he doesn’t need to receive ...