Collection No 1
We should expect another digital revolution, or two, or three.
In fact, I would like to think we could plot them like stops on a subway line, or – introducing free will – cities on a map.
Nonetheless, I must confess that even being a software engineer, I was puzzled during the ‘90s when I read an article about a company with the odd name of “Amazon” that was building warehouses to replace all of retail. It was like I had woken up to the sound of bulldozers constructing an airport next to my house, and I was a farmer living in 1850. More recently, despite again understanding the constituent technologies, I went through the gee-whiz period of any clueless parent as I discovered just how much TV my kids could watch on their phones.
Let’s agree not to be surprised again.
We are a few years beyond this last revolution, which I characterize as the answer to the question, “Can our software be omnipresent?” But we aren’t done asking questions, or creating revolutions. To me, when I take a long view of computing, I see a logarithmically accelerating sequence of achievements defined by the central problems being solved to realize each achievement. As these problems are solved, surprising shifts in technology and society occur, but these shifts are the answers to a logical sequence of fundamental questions.
Technology advances by leaps, resembling the “paradigm shifts” of science as described by Thomas Kuhn—with one exception. In technology, these shifts are of our own making. We have the chance not only to anticipate them but also to bend them to our will.
In science, Kuhn characterizes paradigm shifts as arriving seemingly by surprise after long periods of “normal science.” “[N]ormal science ultimately leads only to the recognition of anomalies and to crisis. And these are terminated, not by deliberation and interpretation, but by a relatively sudden and unstructured event like the gestalt switch.” 
To most of us, technological advances feel much like a “gestalt switch,” but they don’t have to. We can take a step back from the headlines of the moment—the big data, the cloud computing, the semantic web, the wearable stocking stuffers of 2014—to ask ourselves what, fundamentally, are we trying to build? What do we need? What would make life easier and more enjoyable?
The preceding chart begins with the era when engineers created a machine that could run any algorithm, then moves to the era when the “operating system” layer was created to house applications, and so on. Though such a timeline can only hope to approximate eras and dates, an acceleration of major paradigm shifts does seem to emerge. (In my defense I stop short of predicting the date of the Singularity.)
My sense, again, is that we are a few years past one of these shifts and are working in a new layer of technology—a “layer of abstraction,” in engineering parlance. That’s how it feels to me, in my role as software architect at frog, where I am called upon repeatedly to grab bits and pieces of functionality from all across the web — social media, Google maps, and cloud storage to name a few. The question of the last era, “Can our software be omnipresent?” has been answered, and we are now turning our attention to the next question: “Can we build new applications from running programs?”
But we aren’t done.
There are other simple questions coming, each difficult to answer but a necessary precursor to the succeeding one. My opinion is that the next question is “Can our applications understand and use each other’s capabilities?” This will abstract the work of today’s engineers into tools for end-users and will provide the necessary foundation for other darlings of the “Web 3.0” vision, such as the autonomous “agent.”
Ultimately, we end up with a “World OS” in which human intention is captured by personal agents able to navigate a universe of honest, well-defined products, services, and—other agents.
Why engage in speculation like this? Because we create these paradigm shifts. We can still shape them, as well as profit greatly by anticipating them. Do you agree that these are the right advances to work toward? Are there open standards that need to be championed in order to enable them?
New standards often destroy or marginalize the killer apps of today, but we should embrace these “gestalt switches.” They are the nature of innovation.
 Kuhn, Thomas S. The Structure of Scientific Revolutions: Second Edition, Enlarged. U. of Chicago Press, 1970. Chicago. p. 122.
Sheldon Pacotti is a Principal Software Architect at frog, a lecturer at the University of Texas, an indie game developer, and an aspiring fiction writer.