Your Developers’ User Experience

Designing for the Internet of Things

Alasdair Allan
10 min readFeb 26, 2019

This is the third article in a series of six on designing connected devices, the previous article in the series is “Starting With One” and covered prototyping. The next is “Remember the Physical Environment,” and discusses deployment issues. Links to all six articles can be found in the series overview.

Right now one of the main problems facing developers when building an Internet of Things device is platform proliferation. This problem is particularly evident in the proliferation of new development boards, but can also be seen in the cloud, and amongst development environments. As a result, it’s becoming more than a little difficult to choose between the competing offerings.

The Two Platforms

Until as little as five years ago for developers prototyping an Internet of Things device the choice of platform was actually fairly simple. If you wanted to talk to arbitrary bits of electronics your best bet was to buy an Arduino micro-controller board, if you needed the power of an Arm-based board and wanted to run Linux you should use a Raspberry Pi. Despite the drivers behind the adoption of both of these platforms being very different.

The “two platforms,” with a Raspberry Pi 3, Model B (top), and an “classic” Arduino Uno (bottom, right) along with a more modern Arduino MKR WiFi 1010 board (bottom, left). (📷: Alasdair Allan)

The evolution of micro-controller boards aimed at the individual developer — rather…