We’ve been talking a little bit about what we might gain if we begin to conceive of cities, for some limited purposes anyway, as software under active development. So far, we’ve largely positioned such tools as a backstop against the inevitable defaults, breakdowns and ruptures that municipal services are heir to: a way to ensure that when failures arise, they’ll get identified as quickly as possible, assessed as to severity, brought to the attention of the relevant agencies, and flagged for follow-up.
And as useful, and even inspiring, as this might be, to my mind it doesn’t go nearly far enough. It’s essentially the lamination together of some entirely conventional systems, provisions and practices — something that already exists in its component pieces, something, as Bruce points out here, that’s “not even impossible.”
But what if we did take a single step further out? What if we imagined that the citizen-responsiveness system we’ve designed lives in a dense mesh of active, communicating public objects? Then the framework we’ve already deployed becomes something very different. To use another metaphor from the world of information technology, it begins to look a whole lot like an operating system for cities.
Provided that, we can treat the things we encounter in urban environments as system resources, rather than a mute collection of disarticulated buildings, vehicles, sewers and sidewalks. One prospect that seems fairly straightforward is letting these resources report on their own status. Information about failures would propagate not merely to other objects on the network but reach you and me as well, in terms we can relate to, via the provisions we’ve made for issue-tracking.
And because our own human senses are still so much better at spotting emergent situations than their machinic counterparts, and will probably be for quite some time yet to come, there’s no reason to leave this all up to automation. The interface would have to be thoughtfully and carefully designed to account for the inevitable bored teenagers, drunks, and randomly questing fingers of four-year-olds, but what I have in mind is something like, “Tap here to report a problem with this bus shelter.”
In order for anything like this scheme to work, public objects would need to have a few core qualities, qualities I’ve often described as making them “addressable, queryable, and even potentially scriptable.” What does this mean?
- Addressability. In order to bring urban environments fully into the networked fold, we would first need to endow each of the discrete things we’ve defined as public objects with its own unique identifier, or address. It’s an ideal application for IPv6, the next-generation Internet Protocol, which I described in Everyware as opening up truly abyssal reaches of address space. Despite the necessity of reserving nigh-endless blocks of potentially valid addresses for housekeeping, IPv6 still offers us a ludicrous freedom in this regard; we could quite literally assign every cobblestone, traffic light and street sign on the planet a few million addresses.
It’s true that this is overkill if all you need is a unique identifier. If all you’re looking to do is specify the east-facing traffic signal at the northeast corner of 34th Street and Lexington Avenue, you can do that right now, with barcodes or RFID tags or what-have-you. You only need to resort to IPv6 addressability if your intention is to turn such objects into active network nodes. But as I’ve argued in other contexts, the cost of doing this is so low that any potential future ROI whatsoever justifies the effort.
- Queryability. Once you’ve got some method of reliably identifying things and distinguishing them from others, a sensitively-designed API allows us to pull information off of them in a meaningful, structured way, either making use of that information ourselves or passing it on to other systems and services.
We’ve so far confined our discussion to things in the public domain, but by defining open interoperability standards (and mandating the creation of a critical mass of compliant objects), the hope is that people will add resources they own and control to the network, too. This would offer incredibly finely-grained, near-realtime reads on the state of a city and the events unfolding there. Not merely, in other words, to report that this restaurant is open, but which seats at which tables are occupied, and for how long this has been the case; not merely where a private vehicle charging station is, but how long the current waits are.
Mark my words: given only the proper tools, and especially a well-designed software development kit, people will build the most incredible ecology of bespoke services on data like this. If you’re impressed by the sudden blossoming of iPhone apps, wait until you see what people come up with when they can query stadium parking lots and weather stations and bike racks and reservoir levels and wait times at the TKTS stand. You get the idea. (Some of these tools already exist: take a look at Pachube, for example.)
- And finally scriptability, by which I mean the ability to push instructions back to connected resources. This is obviously a delicate matter: depending on the object in question, it’s not always going to be appropriate or desirable to offer open scriptability. You probably want to give emergency-services vehicles the ability to override traffic signals, in other words, but not the spotty kid in the riced-out WRX. It’s also undeniable that connecting pieces of critical infrastructure to an open network increases the system’s overall vulnerability — what hackers call its “attack surface” — many, many times. If every exit is an entrance somewhere else, every aperture through which the network speaks itself is also a way in.
We should all be very clear, right up front, that this is a nontrivial risk. I’ll make it explicit: any such scheme as the one sketched out here presents the specter of warfare by cybersabotage, stealthy infrastructure attrition or subversion, and the depredations of random Saturday-night griefers. It’s also true that connected systems are vulnerable to cascading failures in ways non-coupled systems cannot ever be. Yes, yes and yes. It’s my argument that over anything but the very shortest term, the advantages to be derived from so doing will outweigh the drawbacks and occasional catastrophes — even fatal ones. But as my architect friends say, this is above all something that must be “verified in field,” validated empirically and held up to the most rigorous standards.
What do we get in return for embracing this nontrivial risk? We get a supple, adaptive interface to the urban fabric itself, something that allows us not just to nail down problems, but to identify and exploit opportunities. Armed with that, I can see no upward limit on how creative, vibrant, imaginative and productive twenty-first century urban life can be, even under the horrendous constraints I believe we’re going to face, and are perhaps already beginning to get a taste of.
Stolidly useful, “sustainable,” justifiable on the most gimlet-eyed considerations of ROI, environmental benefit and TCO? Sure. But I think we should be buckling ourselves in, because first and foremost, read/write urbanism is going to be a blast.