km0 7da748f5d2 | 2 years ago | |
---|---|---|
carpet | 2 years ago | |
chapters | 2 years ago | |
img | 2 years ago | |
bibliography.md | 2 years ago | |
cover.jpg | 2 years ago | |
notes.md | 2 years ago | |
readme.md | 2 years ago |
readme.md
TODO: a file where to keep references
Worlding and Software
How do you chose a particular programming language, a coding style, a development environment and ecosystem, an infrastructure where to run the code, and so on?
These are not just technical choices, but rather coding contingencies.
These contingencies are situated in precise economical, cultural, creative, political, and technical contexts. Programming then is not just sharing code, but sharing context. It's providing a perspective to look at the world before attempting to get some grip onto it with a script.
How to offer a point of view through the lens of software?
Who get to participate in this process of making meaning?
How to create a discourse for the code to inhabit?
How to stretch the affordances of code, besides technicality, marketing, and advertisement?
Enter documentation
Could software documentation:
- be a mean to explore these contingencies?
- be an ideal surface to build worlds?
- be an interface between different knowledges?
- be a device to trigger different kinds of economy around situated software?
How can situated practices inform the process of documenting software? And how can situated software inform the process of technical writing?
Table of Contents (draft)
The critical and theoretical research will be weaved around the actual documentations, in order to create a discourse and annotate the development of this practice. ???
1. Coding Contingencies (2000)
Situate software as cultural object and propose documentation as a surface to explore it.
1.1 Context around software, besides technicality
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.
Personal decisions, trending technologies, curiosity and boredom, to name a few. A talk on esolangs as form of frugality, a collegue passionate about live coding that drags you to an algorave night, a crypto-boyfriend, the tech stack of a company, a drastic turn of events, etc. etc.
These contingencies are situated in contexts.
Programming then is not just sharing code, but sharing context.
It's providing a point of view and a perspective to look at the world, before attempting to get some grip onto it with a script.
- References to software studies
- (500)
1.2 Introduce issues around software
Outline a map of critical issues related to software culture, grouping them in three main flavours:
- Biased and hostile environments
- Toxic masculinity, encoded chauvinism, western monoculture
- Evergrowing complexity
- Intimidating learning curve, disproportion of means, mistification
- The universal solution™
- Techno solutionism, gray tech, ideology
- (1000)
1.3 Propose documentation as a surface to address these issues
- Welcoming diverse knowledges
- Lowering barriers and create entry points
- Orientate software in the world
- (500)
2. Documentation as an interface (3000)
Aknowledge documentation as crossroad for different actors, as intersection between code, machines, developers, users. Articulate it as a vantage point from where to reason about software.
2.0 Define software documentation
What is written?
- From printed manuals to discord servers (small historical overview)
- Dyataxis framework: Reference, How-to, Guide, Tutorial.
-
Here not focusing on one specific catch-all format
-
rather to a form of care (for users, for software, for context)
-
in the context of situated software
-
(750)
2.1 Welcoming diverse knowledges
Who is writing?
- How does development and technical writing interact?
- Is the technical writer a subaltern position in the industry of software development?
- Who gets to write, and who is forced to?
- No one wants to write documentation, or pay someone to do it
- Documentation as a form of care
- (750)
2.2 Lowering barriers and create entry points
Who can access?
Who will read?
Who is addressed?
-
Assuming a certain kind of reader (often male, often white, often with formal education)
-
Read the feminist manual (Karayanni, 2021)
-
Programming for the millions (Ullman, 2016)
-
welcome.js (Bridle, 2016)
-
Debugging (P5js Education Working Group, 2015)
-
(750)
2.3 Orientate software in the world
Who is making the software?
- Post-meritocracy manifesto (Ehmke, 2018)
- "We acknowledge the value of all contributors as equal to the value of contributors who are engineers."
How are we making it?
-
Patterns of Software (Gabriel, 1996)
-
Situated Software (Shirky, 2004)
-
Aesthetic Programming (Geoff & Soon, 2022)
-
Wheatering software winter (100R, 2022)
-
Ways of Being (Bridle, 2022)
-
(750)
3. Situated software requires situated documentation (3000)
3.1 Situated software lifecycle. Inner public, outer public.
-
Inner public is the target audience of a situated software. The community where it has been developed. Private public.
-
Outer public is others: different communities that approach to it later on or for different purposes. Public public.
-
What role plays documentation in these two moments?
-
(1000)
3.2 A recipe in the making.
Documenting situated practices as an ongoing process.
-
Techno-solutionism reversed: are we the solution to our tools' problems?
-
A praise for partial solutions
-
(1000)
3.3 Code as common.
Documentation as loose interface between different needs.
-
Situated documentation is tailored on specific needs, and produced from specific perspectives.
-
How can it resonate with different ones?
-
(1000)