B Set the Algorithm in Motion: Live-Scripting and the Human-Algorithm Interaction in Social Situations
The aim of the present paper is to study the relationship between individuals and algorithm, considering it in terms of interaction within a social situation. In order to do that, firstly, I present an overview of the literature in the field of software studies with a particular attention to its relationship with the study of culture. Starting with its formation at the beginning of the millennium, to the current developments in the discipline, it is possible to trace the meaningful shift in terms of object of study from software to algorithm. Moreover, this let emerge how, despite this change, some issues of the past remain still present and unsolved within the discipline, assessing the theoretical challenges in the study of algorithms. Then, relying on recent contributions in cultural sociology (Norton, 2019), I develop a model aimed to study this peculiar kind of social situation, namely the one involving algorithm as well as social actors, exemplified by the ‘live coding’ event. In the last section, I provide the results of the empirical analysis on which, following an abductive approach, I eventually theorized the model presented in this paper.
B.1 Studying Software
The emergence of software studies as a discipline is usually made to coincide with the beginning of the millennium, with reference to the seminal work of Lev Manovich (2000).108 Moving away from the field of traditional media studies, his proposal was to shift the focus specifically on software, relying on the recent studies conducted by computer scientists on arising digital technologies and on the interaction between these and human beings, as well as on how software was itself developed. Thenceforth the field of software studies has acquired growing relevance, being able to count on a wide variety of contributions crucial to the consolidation of the discipline (an essential list of the early accounts in the field can be found in Kitchin and Dodge, 2011: 13).
The general aim of the scholars active in the field has been since then to include software in their analysis, whether they be social, political, economic or cultural, investigating its increasingly prominent role – and the consequences derived from it – in structuring contemporary society. “Curiously”, as noticed by David Berry (2011), “[software] also withdraws, and becomes harder and harder for us to focus on as it is embedded, hidden, off-shored or merely forgotten about” (Berry, 2011: 4). Despite this inscrutability, the effects produced by software still remain “visible and tangible” (Kitchin and Dodge, 2011: 4).
Two of the major issues inherent the study of software are emerging from what have been said so far: its ‘power’ (Ibidem, 9) to have a direct impact on the collective life and the difficulty to study it since its feature of hiddenness. Regarding the first, for the time being it is sufficient to say that software shapes the everyday life of individuals in their “interactions and transactions”, mediating “all manner of practices in entertainment, communication, and mobilities” (Ibidem). Furthermore, the feature of hiddenness proper of the software complicates the picture. As software is not only directly unobservable, but “invisible inside the machine” (Ibidem, 4), it is potentially subjected to speculations of any kind. Thus, one of the main “challenges” for any theorization that aims to have software at its core “is to bring [it] back into visibility” (Berry, 2011: 4), in order to inquire its effective role in society, in the effort to assess whether it is of any power or not.
B.2 Algorithms and Culture
In recent years, it has been possible to witness a shift on the object of this kind of studies: from software to ‘algorithm’ (Barocas et al. 2013; Beer, 2017; Kitchin, 2017; Seaver, 2013, 2017; Seyfert and Roberge, 2016a).
Provide a definition of this “fundamental entity” (Goffey, 2008: 15) is the first issue we have to confront with. In this sense, several contributions in literature (Goffey, 2008; Kitchin, 2017; Seyfert and Roberge, 2016b) begin with the operational definition provided by Kowalski (1979): “Algorithm = Logic + Control”. As argued by Andrew Goffey (2008), defining the algorithm as a combination of logical operations and their control suggests “a link between algorithms and action” (Ibidem, 16). In this sense, the construction of the algorithm – namely the act of programming – is intended as a “precisely controlled series of steps in the accomplishment of a task” (Ibidem).
Thus, relying on Goffey’s contribution, what I would like to stress here is the emergence of a “pragmatic dimension of programming” (Ibidem, 16-7). The human actor, provided with a certain scope, instructs the machine to perform a specific task, breaking this down in a set of sequential steps, which are then “reassembled and executed or processed by different algorithms” (Seyfert and Roberge, 2016b: 1). Hence, on one hand algorithm refers to the set of procedures of which it is composed by, expressed with programming languages – that take the written form of the so-called ‘source code’ – often referring to mathematical terms (Striphas, 2015). On the other, it has to be intended more widely as the description of how to accomplish the given task, “the unifying concept for all the activities” (Goldschlager and Lister, 1986: 12) related to computer science.
In this sense, algorithm is an ‘abstraction’ (Goffey, 2008: 15) due to its independence from the environment in which it is developed, formed in its turn by the programming languages used to write it and the executing machine, particularities that consequently becomes less relevant (Ibidem). In other words, understanding algorithm as an abstraction allows us to consider it as an entity that can be studied regardless the specific kind of software in which is embedded.
The functioning of the algorithms, mainly based on mechanisms of sorting, can be summarized as the combination of three essential elements: “high-level description”, a technical way to refer to the concept of ‘abstraction’ above delineated; “an embedded command structure”, or how the software is structured; “and mathematical formulae that can be written in various programming languages” (Seyfert and Roberge, 2016b: 1), forming a set of procedures to perform the task.
Similarly to their predecessors in the field, these scholars have as general aim the inclusion of software in social scientific analysis. Robert Seyfert and Jonathan Roberge (2016b) identifies three main sub-currents in order to classify the algorithmic research. The first is composed by the ones who tend to develop specific ‘stand-alone’ concepts (Ibidem, 3) without sharing a common approach on the topic (Amoore and Piotukh, 2016; Cheney-Lippold, 2011; Mager, 2012; Uricchio, 2011). The second is the so-called ‘Sociology of algorithms’, originating as a current from the fields of Science and Technologies Studies and Social Studies of Finance (MacKenzie, 2019; Wansleben, 2012), in which Seyfert and Roberge (2016b) include the current of Critical Algorithms Studies.109 The third and last is the ‘Algorithmic Culture’, that has at its foundations the defining work of Alexander Galloway (2006), to which in the years a growing interest have followed – from the already cited book edited by Seyfert and Roberge (2016a) to other notable antecedents (Barocas et al. 2013; Seaver, 2013; Striphas, 2015). This approach to the study of algorithm110 is encompassed with the discipline of cultural sociology, and particularly with its purpose of studying the “semiotic dimension of human social practice” (Sewell, 2005: 164). From this perspective “algorithms are considered as both meaningful and performative” (Seyfert and Roberge, 2016b: 4), in the sense that in following an ‘auto-referential logic’ their routine-based action is based on a proper system of interrelated ‘internal’ meanings (Ibidem).
Eventually, what I would like to express in conclusion to this section is that in order to integrate algorithm and culture in a common theoretical framework, we should look at the more recent development in each of the two disciplines.
B.3 Moving meanings
In his article Matthew Norton (2019) aims to address two of the current issues in cultural sociology: on one hand, the recognition of the limits of human mind from a cognitivist perspective (Lizardo and Strand 2010; Martin 2010), while on the other, directly assessing the existence of a ‘cultural complexity’ – a systemic view, traceable to the legacy of the ‘Culture Club’ and the Strong Program (Alexander, 2006) – that cannot be exclusively addressed in terms of individual’s cognitive processes. In other words, in his ‘circuits of meaning’ theory, Norton’s (2019) attempt to assess a link between micro and macro levels of analysis, which represents one of the major challenges for cultural sociology, as well as for sociological theorization at large (Alexander, 1987). In order to do that, according to him, it is necessary to focus on the underlying mechanisms of the semiotic processes between actors and the environments in which these are inscribed. The general idea is to get rid of rigid approaches in which culture would be confined and practiced only in individuals’ mind or in the world outside it, proposing conversely a dynamic approach – processual – that allows to comprehend how culture acts and is acted – or ‘performed’ (Alexander, 2004; 2006a), on multiple levels of analysis.
At the base of his theory lies meaning. Norton (2019) argues that the semiotic dimension should not be seen as “etherous or mystical, but [as] a specific cluster of mechanisms” (Ibidem, 8) that can be studied. Indeed, when ‘on the move’, meaning leaves traces – that he calls ‘circuits’ – that are recognizable, as traduced in a system of signs known to us (Peirce, 1978), and are thus analysable. Moreover, in his theorization, motivation acquires great relevance, as it is considered to be the ‘key’ to address causality and action in culture (Vaisey, 2009; Martin, 2011; Reed, 2011). Relying on a pragmatist approach (Joas 1996; Joas and Beckert 2002), he argues that motivation is an outcome of the relations between actors and their social and physical environment. Moreover, Norton (2019) introduces the concept of ‘semiotic environmental motivation’,111 stressing the fact that the social environment influences semiotically the motivation underlying action. In other words, he understands the social environment as integral part of the semiosis processes rather than a mere background in culture, overcoming the problem related to the limited capacity of human mind to storage such complex interrelation of meanings, or ‘webs of significance’ (Geertz, 1973: 145).
The interaction of two or more actors, “bearer of culture” (Alexander, 1987), whose motivations are semiotically defined and reciprocally recognized, is considered to be an environmental element and thus to be itself a carrier of culture (Norton, 2019: 7), that actively influences with its proper semiotic elements this reciprocal action. On the other hand, even if possible, focusing on the systemic level implies and acceptance of the – potentially infinite – multiplicity of possible pathways of interaction, which lead the author to affirm that a cultural system could be read as a “probability function” (Norton, 2018: 13). Nevertheless, “[a] cultural system […] is a pattern in the […] circulation of semiosis among people and social environments” (Ibidem) that, as it has been already argued, considering its leaving traces during the circulatory process, is possible to identify. Even more important, as “culture exists in and enters in to motivation from both […] actor and environment” (Ibidem, 2) in order to identify and recognize associational links that are repeated in the form of pattern – namely the constitutive elements of cultural system (Ibidem) – it is necessary to look at the circuits that are ‘in and between’ manifestations of meaning at the cognitive level – as memory, emotions, unconscious processes or conscious deliberation – and at the environmental one – action, performance, materiality and interaction (Ibidem, 14).
B.4 Toward an ecological approach in Algorithmic Culture
In the previous section, the prominent role of environment emerged, providing an account of spatial dimension in semiotic processes: it is now time to bring back the algorithm in the discourse. With remarkable exceptions (Mukerji, 1997; Gieryn, 2000; Molotch and Norén, 2010; Molnár, 2013) the work of cultural sociologists has been generally recognized to be ‘aspatial’ (Domínguez Rubio, 2015: 12). At the same time, Kitchin and Dodge (2011) argue that “an analysis of software [or algorithm] requires a thoroughly spatial approach” (Ibidem, 13), in order to avoid accounts of software-society relationships that considers only their temporal dimension (Ibidem). Thus, in line with the model proposed by Norton (2019), a spatial approach – or ‘ecological’ view (Domínguez Rubio, 2015) – has not to consider space merely as a ‘container’ (Kitchin and Dodge, 2011) or background, but as an active participant in the processes of culture.
Environment’s centrality in semiosis is due to the fact that, providing the individuals with a space to the semiotic ‘translation’ work, it becomes itself the determinant bound through which the intersubjective circulation can happen; ultimately, the locus in which meaning is processed, combined and mutually comprehended and recognized by the actors involved. Moreover, its inclusion implies an acceptance of the possibility for translation to happen also in relation to ‘nonhuman physical forms’ (Norton, 2019: 18). Indeed, “semiotic circuits incorporate physical objects and relationships of all sorts. [Such as] the products of priori circuits of semiosis” (Ibidem, emphasis added). In this sense, avoiding the reductionist idea according to which algorithm is an object, my intent is to analyse algorithm in relation to its semiotic interaction with human actors.
A contribution on this wise is provided by Fernando Domínguez Rubio (2015). In his discourse regarding digital technologies, algorithms have an active role in the process of abduction, being ‘integrated’ in it (Ibidem). Moreover, he claims that “algorithms have made possible a new register of semiosis that operates beyond the traditional scale of human action” (Ibidem, 28). To support his statement, Domínguez Rubio (2015) takes as first examples the work of categorization and new categories creation of algorithm such as the ones underlying web-based platform like Netflix, Amazon, Spotify, Tinder, Facebook, and Fitbit. “These algorithms operate today as powerful cultural engines populating our worlds with interpretations (and misinterpretations) about ourselves” (Ibidem, 29).
This ‘new area of semiosis’ – namely the one that includes algorithm – and the general abductive process in human-algorithm interaction within which it is inscribed are graphical represented in a model, of which a personal reconstruction (Fig. B1) is here provided.112 Both in the cases above mentioned and in the ones referring to digital technological infrastructures, in his model Domínguez Rubio (2015) considers algorithms that based their action on actors’ observable behaviours, which are translated into interpretable data. From this point of view, actors have a passive role with respect to the algorithm, in both the sense that their behaviours are ‘captured’ by the algorithm and because their action is directly influenced by it. Moreover, despite it is stated that actors “operate in environments in which [they] are also confronted with algorithmically-generated interpretations” (Ibidem, 29, emphasis added), this model seems to suggest that this confrontation does not involve the two parts simultaneously. In other words, this model implies a neat separation of meaning systems and the interpretive efforts of actor and algorithm that contrarily, in my opinion, are strictly interrelated.
In order to support this position, I believe we first need to delineate a ‘situation’ (Norton, 2014; Goffman, 1986; Abbott, 2001) in which also the actor, and not only the algorithm, takes an active role. As the aim is to investigate the intersubjectivity of cultural systems (Norton, 2014), an interaction between the two must occur. Moreover, in order to avoid oversimplification and to somehow express the complexity of cultural systems, it should be possible to include multiple actors at the same time. My suggestion is to consider the practice of live coding.
Analysing this particular kind of practice and its performance provides, in my opinion, two main theoretical opportunities. On one side, it allows to have access to a domain, the one proper to software and algorithm, that, as it has been already stated, is usually hidden. Moreover, considering this uncommon perceptibility, I argue that it is possible to consider – and empirically analyse – it as a social situation, as it is able to accomplish all the three requisites previously delineated.
First of all, the actor has an active role in the situation, while the role of algorithm is preserved. The focus on the construction of algorithms, or the ‘pragmatic […] of building software’ (Goffey, 2008: 16), allows to analyse the strong interdependence between actor and algorithm, both in terms of their actions and systems of meaning. In other words, it is possible to understand the two in interactive terms, accomplishing also the second requisite.
Finally, as usually live coding is performed at the presence of an audience, we could consider them as integral part of the semiotic process, increasingly expressing the complexity of culture.
Audience should also be to consider actively involved in the process, due to the fact that it is possible to visualize the operations on the code while they are happening, as they are projected, and in their interaction with the live coder.
B.5 Set the algorithm in motion
Algorithm is here conceived as a bearer of culture itself, due to its characteristics delineated in the first two sections of this paper – namely as it has an ‘internal’ system of meanings and the fact that it is being capable of relatively autonomous signs-translating process. And as its ‘cognitive’ capacity is directly dependent on the one proper of the machine in which it takes form – that to a certain extent represents what the brain stands for human mind – the limitations of this capacity could be observable looking at the quantified parameters expressing, for instance, the speed of computation, of data exchange via networked systems or memory storage. Algorithms participate actively to the ‘restless’ (Wagner-Pacifici, 2010, in Norton, 2019) semiosis processes and its role, I argue, should be intended similarly the one of an actor, with a fundamental difference: its strong dependence on the creative action of another – potentially not only113 – human actor.
As argued above, my main interest is to study algorithm in its interaction with human actors, thus the (mis)match between and the mutual integration of systems of meaning proper of the algorithm and of social actors. Relying on Norton’s conceptualization of the circulation of meanings, and drawing on the above presented (see Fig. B1) work by Domínguez Rubio (2015), in figure B2 (Fig. B2) I introduce my model proposed for the study of live-coding.
In this model, live-coding represents the combined action of live coders (actor) and the algorithm. Simultaneously and contextually, the audience member and its action are included in the model, defining a social situation in which the two actors and algorithm are in interaction. Every action is complemented by a meaning-making work, intended as a work of ‘translation’114 of signs that, following Norton (2019), assumes a bi-directionality: from the mind-engine to the environment and back.
As emerged from previous discussion, environment plays a crucial role with its ‘semiotic action’, “instigating action through its meanings”, and thus influencing actors’ motivations, “as well as by shaping the context and possibilities for what actions can be taken, and with what meanings” (Norton, 2019: 22), providing the actors with contextual meaningful elements – e.g. physical objects. The actors’ motivations are possibly overlapping, to a variable degree, still remaining separated.
Meanings maintain a central position in the model. The three hexagons are apt to represent the three interrelated systems of meanings proper, respectively, of the live coder, the algorithm, and the audience member. They are inscribed in a larger hexagon that represents the aforementioned environmental semiotic element as – while maintaining each a presence in the actors’ minds and in the engine underlying the algorithm – they become part of it by mean of interaction.
Thus, a specific attention has to be given to the live coding action. In my view, in order to analyse it, the course of this action has to be broken into two distinguished, but at the same time interdependent, moments. In the first, the live coder instructs the algorithm to perform a certain task. By mean of this first action, namely the act of writing the source code, the actor provides the algorithm with a set of rules, upon which the latter will base its semiotic action and performance. In this sense, the language of source-code represents what in cultural sociological terms is commonly referred to as a ‘code’, and should be understood “simply [as] a system of conventional relations” (Norton, 2014: 1545)115 connecting signs. Each sign ‘stands to somebody for something’ (CP 2.228; cf. Norton, 2019: 8): in our case, we could say that they stand to algorithm for the rules imposed by the coder.
The source-code itself, on the other hand, can be intended as a ‘script’. In cultural sociology, scripts are understood as codified forms of systems of collective representations (Alexander, 2004: 530). Understanding it more broadly, in order to include algorithm in the definition, it could be said that scripts are the source of information – that are still conceivable as signs – on which the action of the cultural entity is based. In these terms, the act of programming, which is fundamentally an act of writing, can be intended as the formulation of a script by the actor, which will be subsequently interpreted by the algorithm.
In the case of live coding, the script is not a fixed element. Rather, since the practice involved sequential (micro)variation operated on the constitutive elements of the algorithm at the level of the source code – such as the ‘blocks’ of code – it is intrinsically dynamic. From now on, I will refer to this specific dynamicity as the action’s attribute of ‘liveness’.
We can thus define the action of live coding in terms of ‘live-scripting’. The scripts resulting from this kind of action eventually constitute what for human actors is motivation. In other words, with live-scripting the actor set the algorithm in motion, in the sense that it activates in it the translation process that, as it is a result of an interaction, contributes to the broader environmental semiotic element. The system of meanings proper of the algorithm is thus strictly intertwined with the one of the actors, as the latter inscribes part of its own in the script resulting from the action of live-scripting.
Moreover, if we contextualize the performance of live-scripting in the social situation as it is presented in the model, it should be noted how this represent a single fragment of the semiotic processes that are involved in this interaction.
Before moving on with the description of the second moment in the course of action (the one proper to algorithm), some clarifications regarding the performative aspect of this situation are deemed necessary. If from the point of view of the actor much has been said,116 some margin of theoretical manoeuvre seems to be present with regards to the algorithm.
In Alexander’s (2004) view the collective representations are to be considered as a text, that “can be evaluated for their dramatic effectiveness” (Ibidem, 530). In the case of the algorithm, these representations, to which I have more broadly referred above as signs, are instead evaluated for the internal consistency of the script in which they are inscribed. With this I do not mean that in a situation of interaction between algorithms and actors, like the live coding one, this kind of evaluation is not present. What I am here stated, is that this evaluation process is relegated to the human-only part of the situation, as it is the audience that has the role of evaluating the dramatic effectiveness.
There is no such thing as ‘authenticity’ (Alexander, 2004) in algorithmic performance, insofar as an algorithm is not able to interpret a potential ‘impersonality’ in the script (Ibidem, 548) as instead another human would be. In other words, the success or failure of the algorithmic performance is determined by the correct implementation of a code in the (live-)scripting act.
Another important difference that has to be considered in the attempt of applying the Alexander’s (2004) analytical approach to the study of algorithm, is that there is no need for the algorithm to believe itself as “‘actually’ to be in the circumstances that the script describe” (Ibidem, 561), because without that script, that source code – whatever the condition in which it is developed and written – simply the algorithm cannot exist.
Eventually, it should be said that ‘deviation’ and ‘improvisation’ issues (Alexander, 2004: 539) are located outside the performative sphere of the algorithm, within the moment in the course of action proper of the actor. Indeed, algorithm can’t improvise; in the sense that they can only recite the encoded commands of the script, rigidly following it.
Once that the algorithm has been set to motion, it starts its translating action of the interrelation of signs provided by the script. Even if, similarly to human mind, understanding exactly how this process comes into being remained to a certain extent opaque – as it is never really possible to work around the hiddenness feature of the algorithm – this process can be phenomenologically understood by human actors involved in the interaction in terms of observable behaviour.
Indeed, when the algorithm has finished to translate into meaning the instructions contained in the script – this process usually is instantaneous, a matter of portions of a second – it returns a musical output. The music that diffuses in the environment, though, should not be understood simply as an output of the algorithm. Rather, it has to be cleared out that it represents the fused outcome of the harmonious actions of both the actor and the algorithm. It refers to the interrelation system of meanings of each protagonist in the action, whose behaviour is overlapping with the other’s one.
Within this situation, the role of the audience member shall not be left out either. Indeed, with its action, whether it is to focus on the projected script or to listen to the generated music, or physically responding to it dancing and moving following the rhythm, this actor still plays a crucial role in the situation. Indeed, it participates to the interaction bringing in its own previous motivation and, in particular, stir its meaning system within the environment, which will dynamically interact with the present others, in the restless process of meaning circulation and translation.
In the next section are presented the results of the empirical analysis by mean of which, following an abductive approach117 and relying on the literature above reviewed, I built the model presented here.
B.6 Analysis
The empirical analysis in this study relies on the visual methodology of video-based analysis (Knoblauch et al., 2008; Knoblauch and Schnettler, 2012; Hindmarsh and Heath, 2007), conducted on a selection of recorded live coding performances, available on the You Tube channel ‘EulerRoom’ — the reference platform of the live coders community for live streamed event as well as for its resourceful archive of recorded past performances.
As my intent was to move a step inside the “network of thriving scenes” (McLean, 2019) that forms the community grouped under the name of TOPLAP, I opted to conduct my analysis on a specific event that took place online from 18th until 23rd of March 2020: the ‘Eulerroom Equinox 2020’.118 This event, organized to celebrate the 16th birthday of TOPLAP community, has seen an interrupted sequence of audio-visual performances and conferences on the topic, in a live-stream that has last for the whole four days. There are two main reasons why I choose this event: the first, is that it represents an important moment of participation for the international community of live coders; the second, is that, despite the constraint derived from the impossibility to organize event of this kind in public due to the Covid-19 epidemic, this organizational setting is not new to the community, having already included live-streaming performances among their initiatives in the past.
Therefore, I have selected a sample of 16 videos, composed by 15 videos of live coding performances and the one introductory web-meeting that inaugurated the event. This last has been selected in order to grasps analytically useful insights about how the members of the community define and describe the practice of live coding. The other videos have been selected in a first moment according to a chronological order and, as the analysis was proceeding, more accurately on the basis of the emerging characteristics on which I was focusing my attention. In the playlist only the performance of the first two days (until the 20th of March, included) are present and this, of course, has influenced the sampling process.
During the first stage of the analysis I have identified five main categories to focus on, two exclusively related to the practice of live coding, two that I had reconnected to the ‘mise-en-scene’ (Alexander, 2004: 532) part of the performance and one that had at its inside elements proper of the two group delineated (Initial setting). I have coded the five categories of interest as follows:
- Initial setting — how it was presented the programming environment at the beginning of the performance, e.g. the presence of previously written code in the script;
- Performance — all the elements proper of the combined action of live-coding, with a particular attention to the sequentiality of the action live-scripting action and the variation in the music;
- External Gear — integration of external instruments with live coding;
- Communication — as live streamed event, if and how the performers communicate with the audience;
- Screen — namely what were the elements present in the screen - only the programming environment, or the camera of the computer that recorded the performer, whose image was part of the screen.
In the second part of my analysis, I selected the remaining videos until I have reached a ‘saturation point’ — namely until no new insights were emerging from the analysis — in order to include more performance in which the performer’s camera was on and a peculiar case of collaborative coding, in which two coders were programming remotely, but simultaneously, on the same environment.
The two categories on which I theorized my model are the ‘performance’ and the ‘initial setting’ ones — while the one of the external gears119 ended up becoming a code of lower-order, inscribed in the performance one, as a characteristic of it.
The starting point for my analysis have been the concept of ‘liveness’. In order to formulate this concept I analysed improvisation in live coding, focusing on the antinomy ‘from scratch’/’not from scratch’, a way of categorizing the performance on the basis of the presence or not of in the open script in the programming environment at the beginning of the performance (initial setting). As a topic, this antinomy emerged from the analysis of the first inaugural video-meeting, where it is discussed as a definitional matter of the practice itself: is improvising (starting from a completely empty script) the only way to live code? The general accepted answer, in the sense that it has been shared by several actors in the discussion, is that also non-improvising still counts as live coding, as long as it involves programming live. Clearly this statement better defined the concept of live-scripting, as it should be bear in mind that it could also refer to the manipulation of ready-made pieces of code.
Moreover, from the analysis the aforementioned antinomy is also traceable in the tension between ‘exploratory’ and ‘tested’, or “improvisatory” and “danceable” (McLean, 2019). And this can also be read in terms of structure, both in the sense of how it is composed (e.g. how many and how interrelated are the blocks of code that compose the script), as well as how it is structured the performance. In the latter case, it means that is if the performance is a unique piece of improvisation in which, by mean of trial and error methods, the research of a pathway to follow becomes part of the performance itself, and then since we are in one of the less structured possible ways to think the performance, the performance could be defined as highly ‘explorative’/”improvisatory”. In other cases the performance, albeit it is still a unique piece, mostly improvised, some clear structural variations are emerging — for instance signalling different moment in the performance: a temporal structure based on an introduction, a central part and a conclusion, represents a good example — and we are suspended among the two categories, since a presence of something ‘tested’ is emerging as well.
Eventually, the performance can be clearly structured, divided in different songs, with their own progression, and this is the case in which all has been ‘tested’ before, some improvised slight variation in parameters can occur, but mostly this performance resembles the electronic-music performance of artists who are not involved in the action of live coding while playing.
All of this has provided the model with the initial statement by which, on a side, the algorithm can only follow strictly the script written by the coder; on the other, coders comes with motivation that is influenced (even if not exclusively) by his own dimension of action — that is what the coder considers to be appropriate to present in his performance, by the semiotic environmental action — insofar as the motivation comes from the interaction both with the software, with which the coder has to create a meaningful dialogue based on a common language, and with the other actors, that with their actions influences the course of the performance.
Regarding the limitations of applicability of the social performance analytical approaches of Alexander (2004) delineated in the previous section, these are based on two kinds of empirical observations: errors and randomization.
Firstly, the fact that the success or failure of the algorithmic performance is determined by the correct implementation, derived from the observation of the errors within the performances analysed. The error in the algorithmic is due to the presence of a mismatch between systems of meaning - the one proper of the algorithm and the one of the coder. It has to be said, though, that it has been impossible to assess if the performance has been a success or not, and how the audience have reacted to an error, since in the recording - but also live participation could have not prevent from this - the audience members’ observable behaviours are impossible to grasps, if not by mean of highly processed manifestation as comments.
Secondly, that algorithms cannot improvise, in the sense that they can only rigidly perform the script. One could have asked itself: what about if the instruction to improvise is provided by the script? For instance, let’s say that all the randomization strategically used in order to give a sense of variation that allows the live coder to write more complex structure of code, could be considered the algorithm that ‘improvise’. Whether or not this represents an actual case of improvisation this seems to be only an apparent paradox, since from the algorithm perspective, this remains just a command like the other, the instruction remains only ‘to select a number’.
B.7 Conclusions
The legacy of software studies has been continued by the renewed interest in algorithms. Nonetheless, old problems such as the one I have called ‘hiddenness’ are still present, and represents theoretical challenges that any theorization involving algorithm, or software, has to consider. Within this field of studies in the latest years emerged several cross-currents, aimed to study algorithm from different perspective. This paper collocate itself in the current commonly referred to as “Algorithm culture”, adopting a cultural sociological approach to the study of algorithm. If we want to fully integrate this approach to this object of study we have to look at the more recent developments in the theory. I proposed to apply the model of culture in action as theorized by Norton (2019) and adapt it to the study of algorithm and its role in human interaction. Thanks to its attention to the environment in the semiosis processes, I believe it represents a good opportunity to integrate software in cultural theorization. Moreover, I argue that the model presented in this paper provide several potential opportunities for further research, which cannot find place in this paper.
First of all, more performances involving two or more live coders while live-scripting together, is an interesting possibility, which has not been inserted here for scarcity of data – only one performance.
Furthermore, as already mentioned in the course of the discussion, the model can be further developed considering interaction algorithm-algorithm interaction in a social situation with other human actors. But what matters the most, in my opinion, is to include culture and thus a semiotic dimension to the study of this performance, since it can really exploit the peculiar characteristics of these social situations in order to advances in the understanding of the relation between us and the algorithms.
“For us, an algorave is an opportunity for artists
to bring what they have made to nightclubs, and ask
“this is what we have made, what does it mean?”
By dancing, we connect algorithmic abstractions
with the lived experience of movement, and provide
one answer” (Collins and McLean, 2014: 358).
From which the name of the discipline was derived: “[f]rom media studies, we move to something which can be called software studies; from media theory – to software theory” (Manovich, 2000: 48, in Kitchin and Dodge 2011).↩︎
A precious resource is given by the exhaustive list (The Social Media Collective, 2015) of categorized contributions revolving around this approach can be found here: https://socialmediacollective.org/reading-lists/critical-algorithm-studies/ (last access: 02/18/2021).↩︎
This approach differs from the one that sees algorithms as discrete or cultural objects (see respectively Dourish 2016, and algorithm as the new ‘jeans’ in Murray, 2020). Nick Seaver (2017) distinguished these two kind of understandings referring to them respectively as the one that consider algorithms in culture and the one considering it as culture. While in the first culture and algorithms are distinct, and thence are able to affect each other, in the latter “algorithms are cultural […] because they are composed of collective human practices” (Ibidem, 5; see also Devendorf and Goodman, 2014).↩︎
“[W]e are surrounded by words, images, actions, objects and relationships, in the physicality of the environment of action as well as in the other people we encounter there who also inhabit and act within it that we grasp semiotically, and these semiotic elements of the environment motivate us just as other aspects of the environment do, as pressing circumstances of the situations we find ourselves in” (Norton, 2019: 9)↩︎
The original graphical representation of the model can be found at page 29 in Domínguez Rubio (2015).↩︎
It is important to question, at this point, if it would be incorrect to consider algorithms exclusively as a product of human action. Indeed, after recent developments in software engineering and digital technologies – one could think to AI or ‘deep learning’, for instance – in future analysis it might be necessary to account also for the algorithm-algorithm interaction, altough discuss it here would to made us losing the track.↩︎
Norton (2019) derived the ‘translation’ concept from Peirce’s definition of ‘meaning’ (Peirce, 1978: 127, 132; see also Liszka, 1996). The work of meaning-making is traceable to the Parsonians’ concept of ‘effort’ (Parsons, 1949 [1937]), further developed in Alexander (1987a), that represents one of the theoretical principles of the here adopted Norton’s (2019) theorization.↩︎
Insofar as “[t]he systematicity of any given code beyond the basic observation of its relational character is an empirical question” (Norton, 2014: 1545), in my analysis I will not dwell further to that degree. A good reference starting point for an extensive analysis can be found in the work of Geoffrey Cox (Cox and McLean, 2013).↩︎
Without providing a list of all the contributions in the literature regarding – social – performances, see Alexander, 2004, 2006a, 2010, 2011.↩︎
Since “[a]bduction […] is the only logical operation which introduces any new idea” (CP 5.172), thanks to which “all the operations by which theories and conceptions are engendered” (CP 5.590).↩︎
The complete schedule of the four days, as long with some basic information regarding live-code and TOPLAP, can be found here: https://equinox.eulerroom.com/schedule.html (last accessed 15/02/2021) The You Tube playlist in which are collected the recordings of the live-streamed performance of this event can be found here: https://youtube.com/playlist?list=PLMBIpibV-wQLUXxRDiwz5JhoIf2CX_uM6 (last accessed 15/02/2021)↩︎
The initial idea to include it in the analysis was to assess how the live coder handled more than one instrument at the same time, how these are integrating within the programming environment, and how it affect the action of live-scripting.↩︎