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 than large enterprise development teams — has been interesting to watch. They’ve become progressively easier to use, more accessible, and a lot of that can be directly attributed to the arrival of the Arduino. As a result, the Arduino has many imitators, its model for software development has been copied many times, and it fundamentally disrupted the market for boards aimed at enterprise companies. Large companies, like Texas Instruments with its LaunchPad boards based around their MSP430 processor, have gone out of their way to provide Arduino-compatible development environments in an attempt to capture the developer community.

Conversely, and unlike the Arduino, the Raspberry Pi was never really designed as a platform to be used by developers. However at $35 it almost overnight created a market for single-board computing, and it was months after its release before supply caught up with demand. The release of the Raspberry Pi Zero, at $5, was met with a similar…

--

--

Alasdair Allan

Scientist, Author, Hacker, Maker, and Journalist.