11 KiB
categories | cover | cover_alt | date | description | slug | title | |||
---|---|---|---|---|---|---|---|---|---|
|
birdu.jpg | someone wants to graduate eh | 08/10/2022 | The secret plan to graduate - graduation project proposal | gpp | Situated Docs |
What do you want to make?
Compile a list of resources to explore the documentation of coding related practices from a community-oriented perspective, as a process of sharing knowledge and making worlds together around situated software.
To work within the constraints of a structure such as the list will help to think through the complexity of dealing with a double unknown: the one of software and the one of situatedness. This complexity will hopefully be preserved and encoded in the relations between different items.
These resources will be of various nature: tools, thoughts, anecdotes, excercises, prompts, strategies, ... They will offer entry points to articulate software documentation as a form of care.
Imagine a tools list gradually branching as a coral reef, with the items interfering with each other (Haraway, 1988), resembling the heterogeneous Celestial Emporium reported by Borges (Borges, 1968). Some elements of the list will relate to the materiality and surfaces where documentation is hosted, while others will engage more with the actors and frameworks entangled in the process.
Software documentation is not just a technical list of procedures, but also a matter of providing context and orientate code in the world. In the same way, the list is meant to be a texture where to weave together multiple voices and diverse registry, in order to re-enchant the making of software.
Why do you want to make it?
This project grows out of the contradiction of being frustrated in having to deal with undocumented pieces of software, and at the same time never documenting anything. While for sure there is some thrill in understanding how to stitch codes together, the lack of documentation poses a great hindrance for the participation of diverse knowledges in the making of software.
At the same time, this very lack of documentation could be used as a starting point.
Documentation is a space that interfaces between the code, the user, the developer, and the world. A space with potential to renegotiate and reclaim given margins and entry points. A chance to overwrite what is normalized, and let more voices participate in the discourse that is software.
Documentation is a way to produce narrations around software. To create a world for the code to inhabit, to give it affordances and stretch what is possible to do or to think with it. Documentation is a space for the political in the software. A surface that could host ideas in close contact with code, letting them entangle and shape each other.
How do you plan to make it?
- Read software documentation
- (manuals, guides, references, tutorial)
- (good ones, bad ones, ...)
- Study documentation frameworks
- Prototype small systems to gather items for the list
- Write software documentation
- Experiment with contents, tone and style
~
- Get in touch with communities related to situated software
- Meet the actors involved
- Focus on the writing process
- Tap into surrounding contexts
~
- Gather impressions and insights
- Host them in a list
- Leave it open for others to contribute
- Find a support where to mount this list
What is your timetable?
-
🎃 October
- Define a domain of research.
- Understand where to ground the project by revisiting first year prototypes.
- Think about a glossary and possible formats to test some concept in a small scale
- Experiment writing documentation for XPUB prototypes
-
🍂 November
- Experiment writing documentation for projects outside XPUB
- Artistic and commercial ones.
- Tap into networks related to situated software
- Participate to events! Software is a public discourse don't be too shy
-
⭐ December
- Archeology of software documentation.
- Field research of the current trends in software documentation.
- Explore different contexts and different coding languages.
-
☃️ January
- Follow up on the outcomes of the different hackpacts. Focus on
- materiality (style, contents, forms)
- context (actors, timeframe, hosting)
- Research possible formats for the list outcome.
- Follow up on the outcomes of the different hackpacts. Focus on
-
💘 February
- What surface could host this different factes together?
- Fast daily prototypes or field research
-
☔ March
- Follow up on February daily prototypes
- Plan for production
-
👃 April
- Production in the form of fast and iterative prototyping
- Fine tuning and polishing.
- Think about graduation exhibition and collective pubblication.
Who can help you and how?
- Peers involved in situated software contexts (that is also the public of this project)
- People interested in the making of software, either specialized or not
- People interested in the narrative around software
Relation to previous practice
I'm interested in the development of site-specific software. My artistic and design practice has always relied on the development of custom software to facilitate agency-on and comprehension-of complex systems. The tools themselves were never the main focus though, but rather just instruments to activate and be activated within particular contexts. Tools tailored to specific moments and then forgotten. Situated Software (www.gwern.net, 2004).
During the first year at XPUB the approach started to change. Working together with my classmates let me realize the importance of sharing tools. To develop not just for yourself, but also for others. Code as a common. How important it is to create a space for these tools to circulate, and how important are the narrations we build around these instruments. In this sense software development could be seen as a form of care, as well as a form of publishing.
Since last year I'm prototyping writing machines in order to keep track of what happens around XPUB. Some examples are this very section of the Soupboat that is a way to document projects, the Padliography that is a way to archive documents and links, the xquisite branch made during SI17 that is a branching take on the exquisite corpse game, etc. Probably to develop software is my strategy to get grip on the world. Every writing machine implies a different way to think about your contents. The plan is to develop something as well for this research process.
After the work in the past Special Issues, I'm trying to shift from compulsive development to susteinable development. Sustainable in relation to the context and the other actors involved in the process. This requires to learn how to balance between different priorities, to understand when to develop something from scratch and when to participate into already existing discourses. It means to learn how to balance between accessibility, susteinability and flexibility.
Relation to a larger context
Software comes from a really specific occidental cultural tradition. Software tends to priviledge masculine, binary, exploitative and extractive practices. Software is shrouded in technical obscurity. Software comes invisible, transparent, neutral. Software models the world in order to control it.
To make software means not only to write code, but also to take a stance regarding this trends.
Coding is not just production of software, but also production of knowledge. A dialogue between human and more-than-human actors. The guestlist of this conference of the bits is often compiled by chance: the choice of a particular programming language, the coding style, the development environment and ecosystem, the infrastructure that runs the code, and so on, are the result of specific contingencies.
These contingencies are situated in precise contexts, and these contexts are different one from another. Programming is not just sharing code, but sharing context. Programming means to provide a point of view and a perspective to look at the world, before attempting to get some grip onto it with a script. That's the reason why even if source code, even when obfuscated, speaks for itself, it cannot always cast light around its surroundings.
To make place for code turns to be a necessary act of care in the process of sharing knowledge. This does not mean to constrain the usage of some piece of software, or provide opinionated solutions or tutorials, but rather letting others know where does this code come from, and where it would like to go.
References
- Chun W., Soon W., Wardrip-Fruin N., Zhu J. (2022). Software Studies, Revisited | Computational Culture.
[online]
Available at: http://computationalculture.net/software-studies-revisited/ [Accessed 9 Oct. 2022]. - Fuller, M. ed. (2008). Software Studies: A Lexicon. Massachusetts: The MIT Press.
- Gabriel, R.P. (1996). Patterns of software : tales from the software community. New York: Oxford University Press.
- Haraway, D. (1988). Situated Knowledges: the Science Question in Feminism and the Privilege of Partial Perspective. Feminist Studies, 14(3), pp.575–599. doi:10.2307/3178066.
- Jorge Luis Borges (1968). Other inquisitions. New York: Simon And Schuster Imp.
- Karayanni M. (2021). Read The Feminist Manual.
[online]
Available at: https://psaroskalazines.gr/pdf/rtfm_zine_screen.pdf. - Law, J. and Mol, A. (2002). Complexities social studies of knowledge practices. Durham: Duke University Press.
- Li, J. (2020). Where Did Software Go Wrong?.
[online]
Available at: https://blog.jse.li/posts/software/ [Accessed 10 Nov. 2022]. - Pipkin, E. (2022). Open source, experimental, and tiny tools roundup.
[online]
GitHub. Available at: https://github.com/everestpipkin/tools-list [Accessed 18 Nov. 2022]. - Procida, D. (2017). Diátaxis Documentation Framework.
[online]
diataxis.fr. Available at: diataxis.fr [Accessed 18 Nov. 2022]. - Shirky, C. (2004). Shirky: Situated Software.
[online]
Available at: https://www.gwern.net/docs/technology/2004-03-30-shirky-situatedsoftware.html [Accessed 11 Oct. 2022]. - Ullman, E. (2013). Close to the machine: Technophilia and its Discontents. London: Pushkin Press