When I was a kid, it barely existed, except in corporates and universities, but it expanded slowly. There wasn’t much you could do, even after it began to really explode through the 90s. But lately it’s become somewhere new, somewhere much bigger, somewhere much more interesting.
It’s a place I call the Codescape, and it’s becoming the platform on which the whole world runs.
The Codescape is simply the space of all computer programs (code) spanning the world. The internet is implemented in it, but it is not the ‘net. “The Cloud” is one of the more interesting pieces of it, but it is not the cloud. It exists in every general purpose machine, as soon as anyone tries to make it run code. Some of it is in your computer, some is in your phone, there’s even a little bit in your car. There might be a tiny pocket in your pacemaker.
In fact it’s something that many of us grew accustomed to thinking of as a lot of isolated little pocket worlds – the place inside one machine or the place inside one network. It’s related to the computer scientist’s platonic space of pure code-as-mathematics, but it is really the gritty, logical-physical half-world of the running program instances, and the sharp edged, capricious, often noxious rules that real running environments bring. It is the space of endless edge cases, failures, unforseen and unforeseeable interactions between your own code and dimly perceived layers built by others.
The platonic vision of the code is a trick, an illusion. We like to fool ourselves into thinking that we can create software like one might do maths, in a tower of the mind, all axioms and formal system rules known and accounted for, and the program created inside those constraints like a beautiful fractal, eternal in its elegance and parsimony. Less a construct than a discovery.
The platonic code feels like a clean creation in the world of vision and symbols. Code is something you can see, after all, expressed as a form of writing. If you spend long enough away from the machines, you can think this is the real thing, mistake the map for the territory.
But the real Codescape isn’t amenable to this at all. It is a dark place and a silent place. You know you are in the Codescape because your primary sensory modalities are touch, smell, and frankly, raw instinct.
It is an environment composed of APIs, system layers, protocols and, ultimately, raw bytes. It is an environment where the code vibrates in time with the thrumming of the hardware. You feel through this environment, trying to understand the shapes, reach perfectly into rough, edged crenelations, looking for that sensation of lock, the successful grasp. Always, though, you are ready for the feeling of an unexpected sharp edge, a hot surface, the smell of something turned bad, the tingle of your spidey sense.
It is a place that you can’t physically be in, but you can project yourself into. The lines of code are like tendrils, or tentacles, or maybe like a trail of ants reaching out from the nest. That painstaking projection, and the mapping of monkey senses and instincts to new purposes, turns most people off, but I think those of us most comfortable with it find the physical world similar. Possibly less abstractable, and so more alien. Certainly dumber.
Oddly enough, we don’t talk about the Codescape much. It isn’t because we don’t want to, but because largely we cannot. We who travel freely between worlds often can’t express it, because it is a place of system and not of narrative.
During periods of hype (mostly about the internet), a lot of bad novels and terrible movies get written about it (while missing it entirely), with gee-whiz 3D graphics and faux h4XX0r jargon. Sometimes some of us are even fooled by this, and so we pay unfortunate obeisance to notions like “virtual reality” and “cyberspace”, and construct things like 3D corporate meeting places, or Second Life, or World of Warcraft. Those are bonefide places, good for the illiterate, and a pleasant place to unwind for people of the code. They even contain little pockets of bone fide codescape inside themselves – proper, first-class codescape, because all of the codescape is as real as the rest. But there is something garrish, gauche about these 3D worlds, like the shopping mall inside an airport, divorced from the country in which it physically exists.
The main codescape now, as it exists in 2010, is like the mother of all MMOs. Many, many of us, those who can walk it (how many? hundreds of thousands?) play together in the untamed, expanding chaos of a world tied together by software and networks. Each of us play for our own reasons; some for profit, some for potential power, some for attention, and many of us, increasingly, for individual autonomy and personal expression.
It’s a weird place. It’s never really been cool (although it’s come close at times), because the kinds of people who decide on what’s cool can’t even see it. These days the cool kids (like Wired, or Make Magazine, or BoingBoing) like open hardware, or physical making. But everything interesting is being enabled by software, more and more and more software, and so becomes at heart a projection out of the Codescape.
Douglas Rushkoff’s recent book, “Program or be Programmed”, talks about how we are now living in this world where what I call the Codescape is shaping the lives of everyone, and where we are divided into the code-literate and not. His book is mostly dreary complaining that it’s all too hard and the ‘net should be more like it was in the 90s (joining an increasing chorus of 90s technorati who are finding themselves unable to keep up), but that first sentiment is absolutely spot on. If you can code, then, if you so choose, you can feel your way through codespace, explore the shifting landscape, and maybe carve out part of it in the shape of your own imaginings. Otherwise, you get internet-as-shiny-shopping-mall, a landscape of opaque gadgets, endless ads, monthly fees, and the faint suspicion that you are being constantly conned by fagan-esque gangs.
I contend that if you care about personal autonomy, about freedom, in the 21st century, then you really should try to be part of this world. Perhaps for the first time, the potential for individuals is rivalling that of corporate entities. There is cheap and free server time on offer, high level environments into which you can project your codebase. The protocols are open, the documentation (sometimes just code itself) is free and freely available. Even the very best programming tools are free. If you can acquire the skills and the motivation, you can walk the Codescape with nothing more than an internet connection, a $100 chinese netbook, and your own wits. There is no barrier to entry, other than your ability to twist your mind into the shape that the proper incantations demand.
Everything has a programmable API, which you can access and play with and create with if you are prepared to make the effort. At your fingertips are the knowledge and information resources of the world, plus the social interactions of 2 billion humans and counting, plus a growing resource of inputs and outputs in the physical world with which you can see and act.
It’s a new frontier, expanding faster than we can explore and settle it. It’s going to be unrecognisable in 2020, and again in 2030, and who knows what after that. But the milestones are boring. The fun is in living it. The first challenge is just to try.