Designing for the Next 50 Billion Devices
Four Waves of Computing
The first wave of computing, from 1940 to about 1980, was dominated by many people serving one computer. This was the era of the large and limited mainframe computer. Mainframe use was largely reserved for technically proficient experts who took on the task of learning difficult, poorly designed interfaces as a source of professional pride
The second wave, or desktop era, had one person to one computer. The computer increased in power, but it was still tethered into place We saw the era of desktop publishing and the user interface replace difficult-to-use text inputs of the generation before .
The third wave, Weiser posited, would be ushered in by the Internet, with many desktops connected through widespread distributed computing . This would be the transition between the desktop era and ubiquitous computing . It would enable many smaller objects to be connected to a larger network
This final wave, just beginning (and unevenly distributed), has many computers serving each person, everywhere in the world . Mark Weiser called this wave the era of “Ubiquitous Computing,” or “Ubicomp.”
Weiser’s idea of Ubiquitous Computing was that devices would outnumber individuals globally by a factor of five or more. In other words, if there’s a world population of 10 billion (which Weiser considered not so far-fetched in the 21st century), then 50 billion devices globally is a conservative estimate . Obviously, the ratio will be much higher in some parts of the world than others, but even this is beginning to level off
Some of us are still interacting with one desktop, but most of us have multiple devices in our lives, from smartphones and laptops to small tablets and Internet-connected thermostats in our homes
What happens when we have many devices serving one person? We run up against limits in data access and bandwidth that may lead us, through necessity, into the fourth wave, an era of Distributed Computing. Figure 1-1 illustrates these four waves of computing .
Waves of computing, inspired by Mark Weiser and John Seely Brown’s three phases of computing in “The Coming Age of Calm Technology,” Xerox PARC, 1996.
Ubiquitous Computing describes the state of affairs in which many devices in our personal landscape possess some kind of processing power but are not all necessarily connected to one another. What we know today as the “Internet of Things” is meant to describe a network between many devices, so represents a networked stage of Ubiquitous Computing; it also implies that many everyday objects, like your tennis shoes, may also become wirelessly connected to the network, opening up a whole range of new functionality, data collection possibilities, and security risks . Although it might be great to be able to track your daily steps, it might not be as nice if that data falls into the wrong hands . In Distributed Computing, every device on the network is used as a potential node for storing information . This means that even if a central server is taken out, it is still possible to access a file or piece of information normally hosted by the central server, because these bytes of information are “distributed” throughout the network.
Centralized, decentralized, and distributed systems.*
Weiser's original vision for Ubicomp also included a philosophy about how to handle the increase in devices per person . What happens when 50 billion devices are out there? In a world like this, the way devices communicate with us is crucial. If we were to expand their number but maintain our current standards of communication, we'd soon find ourselves—our entire world—buried under an indistinguishable pile of dialog boxes, pop-up boxes, push notifications, and alarms
* Source: Paul Baran, “On Distributed Communications,” Rand Corporation, 1964. http:// www. rand. org/content/dam/rand/pubs/research_memoranda/2006/RM3420.pd1.