Abstract

Ones and zeros. It is common knowledge that they constitute the ‘data’ central to contemporary life. This knowledge becomes a bit puzzling when we think that the programs we use to do things with this data on our computers are also made up entirely of ones and zeros. Continuing this train of thought becomes downright dizzying: the operating system that runs the computer, the system that regulates the electricity that powers the computer, the microprocessors in the cars that bring workers to the power station, and the personal information on magnetic strips on the back of the workers’ driver’s licenses—all consist of ones and zeros. Code dazzles with its ability to go from nowhere to somewhere, to lift itself up by the ‘bootstraps’, like a computer booting up from a blank screen to fully-functional status. As Kitchin and Dodge demonstrate, this power now bootstraps the very spaces we live in.
Code/Space argues that space itself is now called into being in a dynamic, ongoing way by code, through the process of ‘transduction’. As computing become ubiquitous and pervasive, ones and zeros end up coordinating how, where, and when we move, how we pay for things, whether our utilities function, and what kinds of entertainment and information are available at particular locations. Code intersects with the spaces of daily life not just when we talk on the cell phone or access the Internet, but every time we move through the gaze of a surveillance camera, eat food that has been produced, marketed, distributed, and sold within our digitally coordinated food production system, or turn on a water faucet to drink from our digitally regulated water supply system. While the book’s geographical focus on code is novel, it depends on a familiar notion of spaces as ‘subtly evolving layers of context and practices that fold together people and things and actively shape social relations’ (p. 13). This framing resonates, for example, with Massey’s global concept of place (1991) and Castells’ ‘space of flows’ and ‘network society’ (1989, 1996).
Unlike many geographical writings that direct critical attention to cyberspace, Internet, and computer-mediated-communication, Code/Space gives equal stress to both encouraging and daunting potentials. It explains how the transduction of space by code supports emancipation, self-empowerment, and creativity as well as the ways in which it enables domination, exploitation, and control. Avoiding a reductionist tendency to align with either techno-enthusiasts or luddites, the authors show that technicity—the power of technology to make things happen—is riven with ambiguities. For example, there is ‘sousveillance’, surveillance from below, whereby people willingly engage in technological self-monitoring, surrendering their privacy and even creating life-logs that capture vast amounts of data about their own actions and surroundings. Whether motivated by a simple fascination with details of life or a deeper discomfort with the slippage of daily events into oblivion, life-logging offers a kind of personal power over time and space. However, as the authors suggest, such applications of code invite ‘control creep’, a general process whereby aspects of digital culture are co-opted and repurposed to intensify top-down control. Here, we see the complex intersection of personal empowerment and vulnerability to centralized power.
The most intriguing claim in the book is the idea that software possesses ‘secondary agency,’ meaning that ‘software is afforded power by a network of contingencies that allows it [to] do work in the world’ (p. 44). This makes software both ‘a contingent product of the world and a relational producer of the world’ (p. 43). While acknowledging that they are flirting with the ‘specter of determinism’, the authors insist that code itself does not ‘determine in absolute, nonnegotiable means the transduction of space’ (p. 73). What would clarify this argument, I believe, is to more deeply incorporate the insight that an important ingredient in the actor networks of code/space is the programmer. Just as a bomber acts by planting a bomb that later explodes, and we would be misguided to focus too much attention on the agency of the bomb—whether secondary, contingent, or otherwise—because the bomb’s explosion is a result of the agency of the bomber, we must be careful not to underestimate the agency of the programmer. Programmers act on the world—though not always self-consciously or successfully. They act when they write programs; they do not simply write programs but they indirectly do or make whatever it is that their programs appear to do or make. Of course, the human agency of the programmer(s) combines with the agency of other humans who purchase and cause the programs to run, and the agency of people who keep the data transmission infrastructure running. Still, there is an overwhelming human dimension to digitally enhanced agency and that dimension has implications for what it means for each of us to act (or not) in these new and emerging spaces.
My concern then is that Code/Space is somewhat reticent about how code permits people to act at a distance and over time, more often, with more ongoing feedback, and in more complex ways, than they were able to do without code. Repeated and delayed sequences of actions as well as self-regulating and self-adjusting type of actions, all appear to re-situate agency in machines and environments. But to a significant degree, it is the agency of the programmer and the program-user that is extended. Like a bomb or a fishing lure, a projectile point or a pit trap, the invention of writing or printing, all of which permitted human action at a distance and after a delay, the diffusion of code promotes a more general phenomenon of personal extensibility (Adams, 1995, 2005).
The authors’ observation of the ‘secondary agency’ of code could therefore pave the way for a broader discussion of how code affects not just the spaces we inhabit but the kind of agents we become by inhabiting these spaces. A fine launching off point would be Chapter Six, which offers examples of the ways in which software fosters creativity and empowerment. The authors show how music, visual arts, video, and cartographic visualization have undergone massive upheaval as software packages have become available to a mass market, facilitating manipulation of ‘digital objects’ in ways that could only have been dreamed of by earlier generations who were dependent on photographic film, cassette tapes, paper, and pencil. Archaeologists have labeled one early species in our genus homo habilis because their remains are frequently found with stone tools. This nomenclature characterizes by association: hand-made artifacts with a hominid indicate that the hominid was ‘handy’. Likewise, our use of and general association with code prompts us to reflect on our status and nature as code-users. For geographers, that reflection should address the human ability to act in and through time and space. It is in this area that Code/Space remains tantalizingly vague.
The book is beautifully written but is not always an easy read, at least through sections I and II that introduce the theoretical apparatus. There are automated, automatic, and autonomous processes; coded objects; hard, closed, and sensory codejects; networked and permeable logjects; capta, captabases, and capta shadows; ubiquitous computing, pervasive computing, and most importantly, coded spaces and code/spaces. This new terminology takes some effort to master even if many of the references are familiar. The going gets easier in section III, ‘The Transduction of Everyday Spatialities’ as the focus shifts to concrete examples showing how space and code interrelate. This section includes in-depth investigations of air travel, the home, and consumption, treated successively in three chapters that are well-suited for use in undergraduate cultural, social, political, or economic geography courses. Some of the earlier chapters may be too abstruse to appeal to the undergraduate audience, at least if they are assigned in their original order, although to a degree this difficulty is reduced by a glossary that defines most of the unfamiliar terms.
In short, Code/Space is a thorough engagement with timely issues; it breaks new ground and provides theoretical foundations as well as accessible case studies. The question of agency is raised in an intriguing way but questions remain about how the secondary agency of code relates to the (primary?) agency of people using that code. The book’s treatment of creativity and empowerment begins to address this issue, and we get a glimpse of other dimensions of subjectivation with the discussions of ‘control creep’ and ‘sousveillance.’ However the code-user-as-subject and his/her spatiotemporally extended agency still beckon as the next big issues to explore.
