- groud with a concrete example to make the intro more accessible
- adjust contingencies paragraph to better address intended audience
- scheme is:
- Lowering barriers.
- Welcoming diverse knowledges.
- Orientate software in the world.
---
How do you choose a particular programming language, a coding paradigm, a development environment, an infrastructure where to run the code, and so on? These are not just technical choices, but rather coding contingencies.
The IT class program of a public school, the job requirements for working in a tech company. An Arduino board received as gift from your daughter. A collegue passionate about experimental music that drags you to a live coding concert. The storming of NFTs & flooding of consumer-ready AI services in popular culture.
The IT class in a public school. The job requirements for working in a tech company. An Arduino board received as gift for birthday. A collegue passionate about experimental music that drags you to a live coding concert.
These contingencies are situated in specific contexts.
Programming then is not just sharing code, but sharing context. A significant statement about our relationship to the world, and how we organize our understanding of it (Ullman, 2017). A point of view and a perspective to look at reality, before attempting to get some grip onto it with a script. A way to deal with both the software and hardware circumstances of code (Marino, 2020), but also engaging with the sociality and communities around it.
Programming then is not just sharing code, but sharing context. A significant statement about our relationship to the world, and how we organize our understanding of it (Ullman, 2017). A perspective to look at reality, before attempting to get some grip onto it with a script. A way to deal with both the software and hardware circumstances of code (Marino, 2020), but also engaging with the sociality and communities around it.
It's an approach that helps us to think about software as a cultural object. Something "deeply woven into contemporary life –economically, culturally, creatively, politically– in manners both obvious and nearly invisible." (Software Studies, 2009), and not just as technical tool existing in a vacuum.
An object that, in turn, can be used to probe its surroundings. Who is developing? Who is gonna use it? Who is paying and why? How is it structured? It is a big and centralized system or a loose collection of small and interchangable tools? How long is it supposed to last? How can be fixed if it breaks?
An object that, in turn, can be used to probe its surroundings. Who is developing? Who is gonna use it? Who is paying for it and why? How is it structured? It is a big and centralized system or a loose collection of small and interchangable tools? How long is it supposed to last? How can be fixed if it breaks?
The main focus of this research is to propose and explore software documentation as a surface where this kind of questions can be addressed. Where the complexity of code doesn't act as a black box, and ideas and choises behind development are really open source.
The main focus of this research is to explore software documentation as a surface where this kind of questions can be addressed. A place where the complexity of code doesn't blackbox ideas, and choices behind development can really be open source.
Working at the intersection between people, code and computer, documentation seems a good place where to aknowledge the different voices involved in the making of software. A way to question hostile and gendered IT environments, creating welcoming spaces for diverse identities, lowering barriers, and offering multiple entry points.
Documentation brings an understanding on code by disclosing its magic. It reveals what can be done with it, and where are the limits. By lowering barriers and creating entry points, documentation broadens participation at software.
There is a massive labor of care besides technicalities, labor that is often marginalized by tech culture. No one wants to write documentation, nor wants to pay someone to do it (Gabriel, 1996), plus is a difficult and delicate practice. The result is lack of documentation. At the same time, this very scarcity could be used as a starting point.
Documentation is a public space that interfaces between the code, the user, the developer, and the world. A space where to welcome different voices: not just engineers, not just experts, not just boys.
A space to aknowledge the massive labor of care besides technicalities, often marginalized by coding culture.
Documentation could be a space to reclaim given margins. A surface that could host principles in close contact with code, letting them entangle and shape each other. A way to orientate our instruments towards "non-extractive relationships, but in the meantime, being accountable for the ones they are complicit with." (A Wishlist for Trans\*feminist Servers, 2022)
A surface that could host principles in close contact with code, letting them entangle and shape each other. A way to orientate our instruments towards "non-extractive relationships, but in the meantime, being accountable for the ones they are complicit with." (A Wishlist for Trans\*feminist Servers, 2022)