In the run-up to his talk at Generate London, John Allsopp examines how the Internet of Things is going to transform what designers do.
A lifetime ago I wrote 'A Dao of Web Design'. At the time, it made a bit of a splash, then lay largely forgotten until Ethan Marcotte penned 'Responsive Web Design' which begins by quoting this from my article:
"The control which designers know in the print medium, and often desire in the web medium, is simply a function of the limitation of the printed page. We should embrace the fact that the web doesn't have the same constraints, and design for this flexibility. But first, we must 'accept the ebb and flow of things.'"
Nearly 15 years later, in some ways, our concerns as web designers and developers are much the same as they were in early 2000, focusing on the surface of what we design and build – on the screen, on what appears on it, and on how the user consciously interacts with it.
Now, that surface is important. But I increasingly see it as only a small part of what the we can do with the web; what the web enables. To continue with the metaphor, beneath the screen lies a device, with all kinds of capabilities that we developers are increasingly being given access to.
Gyroscopes and accelerometers and geolocation capabilities allow us to get a sense of where in space a user is, and their physical context: are they sitting, standing, running; travelling by plane or car or bicycle? Are they in distress or relaxed?
Our mobile phones and tablets have cameras and microphones, and will increasingly contain an array of sensors that can detect temperature and air pressure and quality. More specialised devices (connected fire alarms, for instance) can already detect the carbon dioxide, carbon monoxide and other gases in their environment.
Beyond the device lies a network of services it can talk to, send information to, and receive information from. In real time. From almost anywhere, almost any time.
The shape of the future
This, to me, is what the web of the future looks like. Not merely screens being driven by humans looking for information or entertainment, but a vast array of devices constantly sensing the world:
- How fast is this car travelling right now?
- What's the temperature of my house?
- How many calories have I consumed today?
The challenge for us as developers and designers for the web becomes less about screens and pixels and buttons and much more about how the web augments our lives, both actively and passively; how it makes us know ourselves and our homes and workplaces and environments better.
Now, if that all sounds a bit woolly, it is. Partly deliberately, and partly of necessity. If the future is to be interesting, we can't really know it, or predict it, except, as in Alan Kay's famous observation, by inventing it.
What to learn
Not only is it the language of the browser but increasingly, with Node.js, the language of the server, and is even found directly on devices.
And I'd explore Node.js, as the glue to connect this vast array of devices to one another, and to services that can gather and make sense of the vast amounts of data they will generate, and then enlighten our users about their habits, practices, health and lives.
Which all seems rather daunting – new languages and devices and services, not to mention skills and knowledge – but as always with the web, each of these is in a way a small piece, and those pieces will be loosely joined.
Don't be daunted!
There's no need to stop what you are doing today, because the screen will always be an important part of any system that humans engage with, but designing and developing for screen-based systems alone will, just as designing and developing for desktop browsers alone has become a legacy activity.
Don't be daunted: after all, you've come this far on the web, and over time acquired a broad range of knowledge and skills, whatever you do day to day. Rather, be excited that we stand at the threshold of something amazing.
Quite what it is we can't be sure – but to me, that's the best part of all.
Words: John Allsopp
Like this? Read these: