An information system, regardless of what it's made of, indeed exists in physical space. It also exists in information space, which is embedded in physical space. Physical space has well-understood rules governing its four dimensions—length, width, depth, and time, but the dimensions of information space are potentially infinite, and much less well-understood. Here I propose a model for an anatomy of information space, at least as it pertains to information systems—structures we create on purpose to help us convey, store, retrieve, and operate on information. My hope is that it will help organize the way information systems are made, and altered over time.

Those familiar with the Model-View-Controller pattern will recognize the similarity. Indeed MVC influenced this model, though I believe that there is something more fundamental at work here. Moreover, MVC is concerned with the technical architecture of software systems, and I want to use this model to think about information systems, computer-based or otherwise, in general.

Content Space

Content space contains all the stuff people care about. Every specific arrangement of content is unique: it has to be exactly the way it is, or it's some other content. It has some other meaning. Content space has two identifiable subspaces:

Document (Opaque) Space

Document space can also be called opaque space because the content of a document is either partially or completely opaque to the automated elements of an information system, and must ultimately be interpreted by a human being. A document may also potentially embody several different readings overlaid in the same fixed arrangement of content. The content of a document depends on a specific literal representation, or otherwise a set of specific representations which are only partially isomorphic to one another. There is always an original representation, and some information will invariably be lost through any transformation away from that original representation. Thus documents must remain intact, which contributes to their opacity to the system.

Data (Transparent) Space

Data space is transparent because there is no meaningful concept of an original representation. All transformations to representations of data that do not explicitly alter or destroy the content of the data are equivalent. These transformations are fully isomorphic. This means the information system can see into data space, hence transparent.

An individual datum can indeed be conceived as a potentially very small document, in that any changes to it will destroy information. Likewise, a document can be conceived as a very large datum, which puts document space inside data space.

However, a datum can also be conceived as an answer to a specific question, so a datum all by itself is an answer without a question—it has to be put into context to have any meaning. It's this context that exhibits the transparency and fluidity in representations of data space.

Interaction (Cybernetic) Space

Interaction space has to do with changes in the state of content space over time. Interaction space can also be called cybernetic space because changes to content space may elicit future changes, in a cybernetic feedback loop. In this model, there are three regions within interaction space:

Tool Space

The entities in tool space are for the direct manipulation of content space, and connect directly to interface space. Manipulations can be extremely simple, or tools can be combined together for complex operations in content space. Consider a pair of scissors: the blades and hinge would exist in tool space, while the handles would exist in interface space.

Job Space

Job space differs from tool space in that its entities are agents to which jobs are delegated. Job agents we are primarily concerned with are software: an automated, possibly scheduled or event-driven bulk operation. They could, however, resolve to some kind of commercial service, or even a person or organizational role. The mechanism for sending email is in job space. Google's Web crawler is also in job space. The connection with interface space is slim to none, as the interface of job space is the agent's product, and any receipt thereof, just showing up in content space.

Control (Meta) Space

Control space can also be understood as meta-space. Entities in this space are concerned with conveying knowledge about, and manipulating the behaviour of the information system itself. On a website, for example, the mechanism that logs and generates site analytics would be in control space, as would the mechanism for controlling user preferences.

Interface Space

Interface space is largely concerned with social relationships—even if distantly mediated by machine—and their continuity over time. Interface space is about what the information system promises people and is essential, in conjunction with interaction and content spaces, to its ability to deliver. This model identifies three regions within interface space:

Human Interface Space

Anything that connects directly to the sensorimotor system—and therefore indirectly to the cognitive system—of a human being, is in human interface space. Human interface space is therefore principally physical and geometric in its choice of materials, the specific configuration of those materials at any instant, and the patterns by which that configuration changes over time.

Human interface space is where the disposition of the information system is made manifest. It is where the information system's masters indicate to you that they are competent, acting on good faith, care about your concerns and are genuinely there to help. Human interface space is the principal site where the promises of an information system are made, and broken.

Machine Interface Space

Anything that connects sufficiently indirectly to a human being is in machine interface space, which has different considerations and priorities. These are precision, clarity, and airtight consistency in representation and logic. Machine interface space overlaps slightly with human interface space, in that the other end of the machine interface is ultimately specified by a human.

Consider some examples of machine interface space: the dimensions of a credit card, the threading of a screw, the tensile strength of the hardpoints on the corners of a shipping container. If any of these tolerances are off, the machine interface will fail, and the social relationship that the machine interface mediates may be compromised. In order to have such tolerances, we must first have strict and comprehensive specifications which are agreed upon.

Machine interface space affects the ability to promise and deliver in another conspicuous way: In an information system, machine interfaces can run up quite a tab. Machines are a much more voracious consumer of information than a human, and are liable to put outsized demands on the material resources of an information system. Thus machine interfaces, above all other interfaces, must include some consideration for the economic impact of releasing them into the wild.

Address (Name) Space

Address space, or namespace, is an overlapping but distinct region in interface space. I'm using the terms address and name as synonyms for a label attached to a point in the topology of interaction space—which itself may only be a thin shim connecting to content space—so I will continue with the word address. Address space is distinct because when you mint an address and circulate it, you instantaneously lose control over it. This is because other people take the address and make their own associations to it. This commits you to either preserving the entity in content or interaction space associated with the address, or rerouting the address to a similar target, just as one would forward mail or a telephone number. You may not be able to control address space itself, but you can control the entities in interaction space that the addresses refer to.

This model isn't perfect, but no model is. This is part of an effort to make it easier to talk about targeted work in an incremental process of developing information systems, as well as evaluate the results of that work. The idea is that if we can divide up the space governed by an information system, we can point people to changes in specific subregions of that space, so they know what to look for. This is how I intend to use this model.