Review, Code/Space: Software and Everyday Life

Article Information

  • Author(s): Michael Batty
  • Affiliation(s): Centre for Advanced Spatial Analysis (CASA), University College London
  • Publication Date: November 2011
  • Issue: 1
  • Citation: Michael Batty. “Review, Code/Space: Software and Everyday Life.” Computational Culture 1 (November 2011).


Review of Rob Kitchin and Martin Dodge, Code/Space: Software and Everyday Life, MIT Press, Cambridge, MA, 2011. ISBN 978-0-262-04248-2, xiv+290 pages.

Last week I bought a bagel and drink from Einstein’s Bagels, a food outlet chain in the United States that specialises in such fare. I handed over my credit card and it was duly swiped – no pin numbers there – and no signing either – and then the person who served me said “Michael, I will call you when we have toasted your bagel”. I thought I had misheard but then I realised that when my card was swiped, my name (which is on the card) must have come up on her terminal and as Americans often do, they address you by your first name. This was the first time this has he happened to me but I imagine it will be an increasing occurrence. I did not know whether to be pleased or annoyed that the person behind the counter knew my name but I did wonder what else had come up on the screen, especially as my credit details are on a machine somewhere in the UK, so I presume. But maybe they are not, maybe they are on multiple servers globally distributed. This is the kind of thing that we rarely know but it is clear evidence of the dramatic penetration of information about ourselves into our everyday lives which is accessible from anywhere using a multitude of devices.

My bagel example is a wonderful instance of what Kitchin and Dodge in this remarkable book call ‘coded space’. Coded spaces are spaces which are penetrated by information technologies whose function involves the use of such technologies but spaces that do not depend intrinsically on such technologies. If my credit card had failed or I had used cash, the transaction could still have been completed by more traditional means but without any of the information that dominated the scene being on display. In fact, though this book is about these kinds of coded space, it is much more about spaces which the authors call code/space in which the entire functioning of the space is dependent on code and where traditional functions can no longer be used to enable transactions to take place. Amongst the best examples are check-in desks at major airports where it is impossible to function – that is to check in – unless networked information technologies are available to facilitate the task. If these systems fail, or if you as a customer are unable to provide appropriate ID, often now only digital, it is impossible to check in at all. Moreover such spaces are constantly being renewed and transformed as new information technologies are invented or ‘transduced’ as the authors term this process. Code/space is forever being transformed, particularly as its domination by software processes is continuously evolving, as new functions come to be imposed on a set of generic tasks and as spaces that are so networked, come to be reconfigured for new and related purposes.

This book is all about such spaces, how they form and re-form and how information technologies, specifically software, are coming to pervade all such space through networked access and through their definition in terms of objects that in themselves are networked pieces of software. What Kitchin and Dodge do here is develop a new vocabulary for describing such spaces. Implicitly, they suggest that most space, if not all space, will ultimately be pervaded with software in diverse ways and their thesis develops this rather fundamental notion through a series of examples and themes that are evident in contemporary life. They call this future state ‘everyware’ which is the ultimate convergence of hardware, software and orgware (organisational-ware). By the end of the book, they have sketched this future in sufficient detail that it is quite clear that the way we need to understand space in this future will be very different from the past. This is, of course, a consequence of the fact that digital information technologies are by far the most disruptive forces on social life that humanity has experienced since modern man emerged 100,000 years or so ago. Arguable, of course.

The vocabulary that Kitchin and Dodge introduce essentially re-interprets space permeated by information technologies as spaces dominated by flows, by processes that can be continually reconfigured due to the fact that software can be changed at will, notwithstanding the fact that much software code remains inert with layer upon layer of new content built on top. They define the essential data of code/space and coded space in terms of objects imbued with functionality which is activated by software and capta – usable information pertaining to people who function in such space. In a sense, the spatialities of the past may not have been intrinsically different and the notion of reconfiguring space in time is an old concept. But it is the speed at which such space can now be reconfigured and the fact that all those who function in such spaces can in principle enable such reconfiguration. This kind of liquidity and fluidity brings its own volatility. They quote from the late Bill Mitchell who says that “Once there was a time and place for everything; today, things are increasingly smeared across multiple sites and moments in complex and often indeterminate ways”. This, argue Kitchin and Dodge, is the essential quality of code/space.

After a preliminary chapter in which they suggest these themes and lay the groundwork for their new vocabulary, they devote a chapter to the construction of software. One of the most perplexing features of software is that there is still no optimal pattern for its design in specific contexts. There are a million or more ways of devising any program to solve any problem. For example, I recently looked at program (available from the web) to solve the shortest route problem. There was line upon line of software to solve a problem that I seem to remember could be stated in perhaps a dozen lines of code when I programmed it 30 years ago. I was working then with a program which was one hundredth the size. I am sure this new program worked as well as my old one but the choice of language used and the way it had been constructed were in my view arcane. But it worked and it may well have been faster than my ancient program because of the code and the machine it was running on. But the key point is that large software programs fail more often than they run. Really big programs built by teams take on a life of their own where no one individual ever really has a sense of how the entire constellation functions. This is an increasingly problematic issue as the world becomes ever more pervaded by large legacy software systems. Software, more than being a product, is increasingly a process in the transduction of space, and it is this that is taken up in the first major part of the book.

Coding objects, transducing space, automated management and creativity in software use are the four themes (and chapters) that provide the structure for this part of the book which focuses on the difference software makes to space and place. The reader is treated to a clear exposition of how objects are encoding software within their form as in the ‘internet of things’, how these objects provide the raw material for defining a genealogy of space, and how automated processes of management and control are restructuring the use and function of this space. This is then set into the wider of context of the way software inhibits, constrains, opens opportunities, and empowers the citizenry to construct and use code/space. The second main part of the book follows and is devoted to examples of code/space: first based on air travel, then on the home and finally on the way we consume using flows of money. This latter chapter on software suggests that the process where the consumer and producer are fixed in opposite but complementary roles is beginning to weaken as consumers increasingly produce elements of the consumption themselves – prosumption is the term used. Consumers increasingly add to software, they engage in its production in diverse ways before they consume the product. In this sense, code/space conflates consumption/production products and processes in ways that Mitchell, in the quote above, implies are ‘smearing across multiple sites and moments’.

Air travel is the quintessential essence of code/space. Online systems in airline travel and scheduling existed long before the internet and were operated across phone lines. It is not surprising the entire process is now automated to a degree that makes it impossible to go back to a pre-digital age. Kitchin and Dodge detail the airline travel process, then move to examine automation in the home through a series of audits that cast different social groups in terms of the way they use IT. The last chapter in this section, deals with the flow of money, credit, and debit, and all this leads to a penultimate chapter on ‘Everyware’: everywhere, …wear, … and ware. This is the future when software will dominate all space. The authors conclude their thesis by arguing that we should open up software to much greater scrutiny as it will be so significant in our future behaviour and use of space. A manifesto is finally presented and then follows a useful glossary and comprehensive list of key references.

Code/space presents an ambitious road map for the way we should begin to understand spatialities – spaces which are being continually transformed by functions based on software processing information. This is one of the first statements of a new approach to understanding space in terms of a world where information is accessible anywhere, any time, and Kitchin and Dodge provide critical structures for understanding how such space can be as differentiated and variegated as the spaces of the past. Their focus on process and product and the way space is transformed relates very strongly to networks and remote services supplying information. There continues to be very rapid developments in this area, such as cloud computing barely mentioned here, but which presage a world where there will never been any stability or convergence in that the nature of software is such that it is forever being adapted and changed in creative ways that in themselves will continue indefinitely. To chart this landscape is what Kitchin and Dodge attempt to do for the first time and their approach provides an essential template for getting to grips with this future. In short they provide a way of thinking about spatial information, smart cities, the post-industrial world, and a world based on information rather than energy which is a necessary prerequisite to a deeper understanding of where we are all headed.