Designing for the Internet of Things
A Series of Six Articles on the IoT
This is a overview article for a series of six articles on designing connected devices. The first article in the series is “Where Does Your Smart Product Sit?” and talks about product design. The second is “Starting With One” and covers prototyping, the third is “Your Developers’ Experience” and talks about product design, the fourth is “Remember the Physical Environment,” and discusses deployment issues, the fifth is “Time to Market vs Common Sense,” and talks about manufacturing as a startup. The final article is “Security is Your Job,” and talks about security and the Internet of Things.
We’re used to yearly, or faster, upgrade cycles. A new phone each year, a new laptop every couple of years, and each year the slabs of aluminium, plastic, glass, and silicon get a little bit thinner and weigh a little bit less. But the underlying model around which our computing is built doesn’t change quite as rapidly as the computing itself.
Despite more than a decade has passed since the Apple iPhone changed everything, the last change is still fresh in our minds. The arrival of the iPhone turned the mobile phone market on its head and spawned an app economy that is estimated to be worth around $150 billion, and has swallowed a quarter of Enterprise IT budgets.
But this too shall pass. The black rectangle, which has become so familiar over the last decade, won’t last as long as the beige box which sat under, or on, our desks since it was introduced by IBM in 1981 to disappear without much fanfare around the time the iPhone started to appear in our pockets. For a piece of design that was so ubiquitous the desktop computer disappeared remarkably quickly from our awareness. The black rectangle will fade out just as quickly, and we won’t even notice it as it goes.
Right now our computing is slowly diffusing out into our environment, and with that, everyday objects are becoming smarter. A decade from now everything you carry with you will be measuring and calculating, and with that talking and consulting with the computing it sees in the world around you. Right now almost all of the devices that will one day will be connected to the network, aren’t.
When most people think about big data they think about it living out in the cloud. However at the moment the amount of data that lives on systems that aren’t connected to the network, or are unreliably connected to the network, vastly outweighs the data that lives in the cloud. The shreds of our digital identity, our data exhaust, is scattered amongst uncounted embedded systems that, at least right now, don’t talk to one another.
But the arrival of smart, network enabled, devices means that this data which had previously been locked away, will become available. At first locally, via short range networks, and later on when cohesive standards have finally emerged around connected things, more widely.
The eventual ubiquitous availability of sensors means that you can make assumptions when building larger systems. Autonomous cars for instance no longer have to be quite as smart. With the assumption that the environment they’ll be traversing will be wired with sensors they can talk to and make use of, reliance on their own sensors can be reduced.
Where Does Your Product Sit?
Everything begins with how your users will interact with your device, and how it will interact with both them and the network. In other words, where your product will sit in the hierarchy of connected devices.
Starting with One
Many individual prototypes will be needed. Sometimes a whole prototype is needed to examine how an individual feature of the product will work. But building the physical product that results often begins with two separate versions, the “looks like” and “works like” prototypes.
Your Developers’ User Experience
A proliferation of platforms often happens when people aren’t sure what to build, what the technology should be used for, so they go out and build platforms that are capable of many things. Right now the proliferation of the “kitchen sink” developer boards means it is easier than ever to prototype a product, however prototypes are not products.
Remember the Physical Environment
At the prototyping stage the physical environment for your device operates in is fairly benign, an air conditioned office or a lab perhaps, but once out in the world your final product may face an unforgiving natural environment — wind, rain, snow, and worst of all users.
Time to Market vs Common Sense
Perhaps the most important lesson to learn as a startup looking to manufacturer a hardware product is that you are not Apple, and you can’t manufacturer like they do. Apple products are held up as examples of amazing design and manufacturing quality. You will not be able to duplicate it, because almost no other companies (no matter how large) can.
Security Is Your Job
The author of the ‘Great Internet Census of 2012’ concluded that, “A lot of devices and services we have seen during our research should never be connected to the public Internet at all. As a rule of thumb, if you believe that ‘nobody would connect that to the Internet, really nobody,’ there are at least 1000 people who did.” Unfortunately things really haven’t improved that much since.
Everything I’ve talked about in this series of six articles ties into key lifecycle activities of a connected device. The development of the device, writing application specific code; the deployment of the device, where the device is configured with location specific information; continual monitoring of the device and backend analytics; and finally updating the device to patch (inevitable) security problems.
However while the technology to Internet-enable appliances, from lightbulbs in the home, to large production lines on a factory floor, is now well proven, and the technology continues to mature at a rapid pace. We are still in very early days when we talk about how we should build connected devices.
Unlike software there are few established patterns to follow, and most manufacturers are still feeling their way towards not just how to build a connected device, but how to ship it, and support it afterwards. The business models that supported the digital Internet do not work well with the Internet of Things.
Right now there are three main problems facing the Internet of Things community. These are security of the device, the product refresh cycle, and the confusing mess of networking standards. All of these problems are however things that are addressable through good development practices, by careful prototyping, and considering the purpose of building a “smart” version of a previous dumb device.