Extending the compositional nature of programming to digital social coordination environments

[[ 2021-12-21 ]] #social-organism #social-coordination #programming #web3 #holochain


As Paul Chiusano writes in his infamous essay, the point of programming should be to create composable programming environments:

This essay is a call to cast aside the broken machine metaphor and ultimately end the tyranny of applications. Applications can and ultimately should be replaced by programming environments, explicitly recognized as such, in which the user interactively creates, executes, inspects and composes programs.

[…] the goal of software should not be to build machines, but to build pleasing, accessible programming environments that delight and inspire our users to creation while facilitating the sharing and reuse of programming ideas! Paul Chiusano: The future of software, the end of apps, and why UX designers should care about type theory

As a developer, I get to experience first hand the joy of working with composable programming environments. I get to ideate and conceptualize program functionality and have a nearly limitless reservoir of libraries that I can combine together into precisely what I want.

Why can’t non-programmers have similar experiences? Why can’t people who want to activate some online community for a specific purpose compose a bunch of easy to use libraries/modules (like calendars, event scheduling, decision making, chat, project management, collaborative financing, resource sharing, and so on)?

It seems like an arbitrary distinction to limit such programming experiences to coders. Perhaps the constraint is an emergent consequence of our socio-economic matrix that drives software development. From a technical perspective, though, I don’t think there are any significant barriers to creating such environments. In fact, this seems to be exactly what Neighbourhoods is attempting to create.

App development and deployment could be occurring and much smaller and more contextual scales ( [[ holochain enables applications to be designed around the social context in which they will be used rather than being monolithic platforms that groups need to conform to ]]). Community members themselves provide the distributed computing infrastructure for the programs to run on. In this sense, the software lifecycle of modern platforms and dev-ops could shift to vertically integrated, community-centric coordination environments.

Notes mentioning this note


Here are all the notes in this garden, along with their links, visualized as a graph.

Pkm is an antidote to the attention economyA graph is the most flexible, intuitive and least...A healthy epistemic commons is the foundational...adding notes to outline documents often can lead...an ethos of learning and epistemic humility are...anti-polarization as a civic virtueArguments need to be written down to properly...atomic, synthesis-oriented writing counteracts the...attention economybefriend meCurated information can influence worldview...Curation as a new modality of wisdom in the...date medigital gardenEach zettel should be a unit of thoughtEgo's need to be decoupled from ideas and beliefs...Epistemological toolkitExtending the compositional nature of programming...Horizontal open network value flows as an...InstagramInternalizing insight and knowledge from content...Interoperability precedes and enables...long-form arguments are just strings of evergreen...mediated long form dialectic synthesis with public...networked note-taking and spaced-repetition...networked note-takingnote-taking is a form of thinkingour identity-shaping social relationships are made...Our minds require external scaffolding to perform...PodcastsSemantic graphs as a way to annotate and index our...The broad impacts of the attention economy's...Zettelkasten enables one to have a more in depth...Zettelkasten is a way to map my own mind networkZettelkasten provides a space for deep,...Zettelkasten spreads one's mind across timeZettelkasten