Summary of Software and Ideology, from The Interface Effect by A. Galloway
Galloway defines the interface as an allegorical device
New media and software have frequently been related to ideology, either by claims that they may help to do away with outmoded ideologies or by fears that they introduce new ways to control us (and thus, represent new vehicles for ideology).
In order to properly examine this, Galloway indicates we must examine the history of software, ideology, what it means for software to be "functional," as well as "the way in which something might an analog of something else."
From Wendy Hui Kyong Chun: "Software is a functional analog to ideology"
- 'Functional' in this sense is to be taken in terms of computer code, where 'functions' denote sub programs.
- There is a "formal similarity" between the structure of software and the structure of ideology.
The author first attempts a short proof by contradiction concerning the argument that software cannot be a vehicle for ideology--it can only simulate or model ideology. His argument is that if software can only simulate it, this is due to the precise mathematical nature of software combined with the overwhelming importance of software as a whole. This raises the issue that software can only provide a simulation as a major flaw, but then proceeds to dismiss the issue as insignificant. Galloway states that the name for anything which behaves in this manner is "Ideology."
Galloway briefly goes through several theories of ideology before finally settling on Marx's deterministic view, which aligns well with the deterministic nature of software.
- "Ideology is better understood as a problematic, that is to say a conceptual interface in which theoretical problems arise and are generated and sustained precisely as problems in themselves."
- "Software must be understood not as a[n object] but as a problematic interface.
- ("problem" is a synonym for "interface", which is a stand-in candidate for "software")"
Two main issues are raised regarding discussions of the nature of software:
- Due to the apparent "analog-digital polarity" (in which software is digital and the "real world" is analog...)
- "Software relies on the assumption that there is something like a programmer and something like a user."
Further difficulties in discussions of software stem from how to define and use our terms (including the ones mentioned above, such as "user" and "analog"). Exactly what role does a user fulfill when their actions can be interpreted by a machine in much the same way as code written by a programmer? Where does one draw the line between software and hardware, especially when considering the history of computers in which early computer programs (which we would call "software" today) were written through physical labor?
Kittler effectively argues that these distinctions are immaterial, and specific relationship between, say, C code and the physical mechanics a machine goes through when executing the code are merely technical.
- "Software is an example of technical transcoding, without figuration, that nevertheless coexists with an exceedingly high level of ideological fetishism and misrecognition. (Is this not, after all, the very definition of technology?)"
This is related to Marx, again, who derived fetishism from a "fundametally empirical, or 'technical,' set of relations."
- "Software is not merely a vehicle for ideology; instead, the ideological contradictions of technical transcoding and fetishistic abstraction are enacted and "resolved" within the very form of software itself."
- [here: fetishistic abstraction refers to, e.g., abstracting file system nodes to "folders" and treating them like actual "folders". The fetish belongs to the user.]
Means of communication ideally make the mechanism of communication as transparent as possible in order for the content to flow unhindered. That is, the interface between two people should ideally be invisible. Computer systems seem to be at odds with this, because while they often work to hide the machine they do so by making the interface more obvious.
- "Software operates through a technological model that places a great premium on meticulous symbolic declarations and descriptions, yet at the same time requires concealment, encapsulations, and obfuscation of large portions of code."
Galloway asserts: "Software requires both reflection and obfuscation." He goes on to claim that reflection is not necessary for natural languages (stating that dictionaries and grammatical texts are an attempt at providing reflection, but that they hold no real power--spoken language will always push the boundaries of those texts and can even function in their absence).
Reflection is required for the software to be understood and executed by the system. Without total knowledge of the language and the interface provided to the code, the system could not correctly execute it. The domain of all possible programs is predefined.
The need for obfuscation is given in two ways. First, not as a requirement for software itself but as a requirement for large-scale software DEVELOPMENT. Galloway compares this to the Marxist discussion of Ideology, in which objects are able to hide some of their attributes and history (such as the division of labor that went into their production, which directly correlates to the possibility to use object-oriented encapsulation to distribute development of a complex piece of software). The second source of obfuscation takes place in any situation dealing with data--because the data is never given to the user in its natural form. A web page is stored as HTML but rendered graphically. An image is stored as a series of integers, but displayed through electronic impulses in the user's screen. (and everything is binary, anyway) Etc.
The combination of reflection and obfuscation makes software interfaces "unworkable", but "functional." Going with Chun's claim that "software is functional analog to ideology," Galloway relates software's functional nature to the deterministic theories of ideology, stating "software is ideology turned machinic."
Galloway provides evidence that machine languages are illocutionary in a way that natural languages are not: all machine code instructions, when executed, produce a real physical change in the world. The same cannot be said of performative speech.
Galloway goes on to address another potential difference between software and ideology: ideology is defined by a narrative, but software, as some have argued, can only SIMULATE a narrative. He concludes that because a computer program has some duration during which changes take place in the program and its environment, that it can in fact embody ideology. ("it still might have a beginning, middle and end [...] even if those narrative moments are recast as mere variables inside the larger world of the software simulation. Thus too might ideology be recast in digital format.")