David M. Berry (UK) - Thinking Software: Realtime Streams and Knowledge in the Digital Age from network cultures on Vimeo.
Software presents a translucent surface relative to the common 'world' and so enables engagement with a 'world', this we often call its interface (although increasingly the surface is replacing the interface). It is tempting, when trying to understand software/code to provide analysis at the level of this surface level, however software also possesses an opaque machinery that mediates engagement that is not experienced directly nor through social mediations. Without an attentiveness to the layers of software beneath this surface we are in danger of 'screen essentialism'. In terms of this analytic approach, one of the key aspects is that the surface can remain relatively stable whilst the machinery layer(s) can undergo frenetic and disorienting amounts of change (Berry 2012). This frantic disorientation at the machinery layer is therefore insulated from the user, who is provided with a surface which can be familiar, skeuomorphic (from the Greek, skeuos - vessel or tool, morphe - shape), representational, metonymic, figurative or extremely simplistic and domestic. It is important to note that the surface need not be visual, indeed it may be presented as an application programming interface (API) which hides the underlying machinery behind this relatively benign interface.
The software we use is part of a wider constellation of software ecologies made possible by a plethora of computational devices that facilitate the colonisation of code into the lifeworld. In other words, software enables access to certain forms of mediated engagement with the world, this is achieved via the translucent surface interface and enables a machinery to be engaged which computationally interoperates with the world. These engagements are enabled by processes we might call compactants (computational actants) which can be understood through a dual surface/machinery structure. Compactants are often constructed in such a way that they can be understood as having a dichotomous modality of data-collection/visualisation, each of which is a specific mode of operation. Again this may not necessarily be a visual component of the compactant, which may merely re-present data through computational analysis to a visual packager or visualisation device/software system. This modal setting may be accessible to the user, or it may be a hidden function accessible only to certain people/coder/other compactants, etc.
Compactants are designed to passive-aggressively record data. With the notion of compactants I want to particularly draw attention to this passive-aggressive feature of computational agents that are collecting information. Both in terms of their passive quality – under the surface, relatively benign and silent – but also the fact that they are aggressive in their hoarding of data – monitoring behavioural signals, social signals, streams of affectivity and so forth. The word compact also has useful overtones of having all the necessary components or functions neatly fitted into a small package, and compact as in conciseness in expression. The etymology from the Latin compact for closely put together, or joined together, also nearly expresses the sense of what web-bugs and related technologies are. The term compactants is also evocative in terms of the notion of 'companion actants' (see Harraway 2003).
Analytically, therefore, software can be said to have two faces:
Commodity: accessible via the interface or surface and providing or procuring a commodity/service/function. Provides a relative stability for the consumption of ends.
Mechanism: accessible via textual source code, which contains the mechanisms and functions ‘hidden’ in the software (means). This can be thought of as the substructure for the overlay of commodities and consumption.
The materiality of software requires a form of reading/writing of these depths through attentiveness to codes affordances. By attending to the ontological dimension of software, that is it structure and construction, we gather an insight into the substructure and machinery of software. Software is used/enjoyed without the encumbrance or engagement with its context due to this commodity form.
One of the striking things about using this analytical model for thinking about software is that it draws attention to a source of stability in computational society. That is, the commodity layer, the interface, may stay relatively stable vis a vis the user, whilst underneath at the level of the machinery there can be rapid change in terms of both hardware and software. In a usual case, the user is unlikely to notice much difference in the usability of the device, however the interface's constant allows for a de-freneticness or at least a looser coupling between rapid technical change and the user experience of technology. We should expect that when interfaces achieve a certain retinal quality, making them indistinguishable from other representational forms, such as high definition images or photography, then further developments will begin to be made in terms of the skeuomorphic/figurative/metonymic. Indeed, to some extent this is already starting to happen within user interface design with the move to 'simple' or 'obvious' design principles (see Beecher 2010) and the greater use of a surface as a means to access a device.
Beecher, F. (2010) UI Guidelines for Skeuomorphic Multi-Touch Interfaces , accessed 29/03/2012, http://userexperience.evantageconsulting.com/2010/11/ui-guidelines-for-skeuomorphic-multi-touch-interfaces/
Berry, D. M. (2012) Thinking Software: Realtime Streams and Knowledge in the Digital Age, UnlikeUs 2012, accessed 29/03/2012, http://vimeo.com/39256099
Harraway, D. (2003) The Companion Species Manifesto: Dogs, People, and Significant Otherness, Prickly Paradigm Press.