Convivial design heuristics for software systems
Illich’s notion of conviviality centres on the balance between individual freedom to act and collective freedom from domination. This balance, or tension, is present in the design of most user-facing computer systems, and especially in the design of programming systems, but software lore has arisen so far with at best a skewed perspective on such issues, having developed mostly from an industrial viewpoint. While the free software movement has shown regard for collective freedom on the levels of enterprise and licensing, there is far less evidence of such regard in the design of programming systems and other influential user-facing software.
In this paper I survey some examples which (perhaps by accident) do show such regard, and propose some tentative design principles which I have extracted from them. Although preliminary, my hope is that these principles may yet develop into a set of concepts, memes and dictums at least equal, and largely countervailing, to their many non-convivial peers as learned by today’s software creators and computer science undergraduates. Relevant topics may include language semantics, information hiding, language virtual machines, portability, declarative programming, classical logic, and layered system design.
Thu 7 MayDisplayed time zone: Belfast change
16:00 - 21:00 | Thu May 7, 4-9 pm LondonConvivial Computing Salon | ||
16:00 60mTalk | Escaping the Prison of Style Convivial Computing Salon Antranig Basman Raising the Floor - International, Philip Tchernavskij Inclusive Design Research Centre / OCAD University | ||
17:00 60mTalk | Convivial design heuristics for software systems Convivial Computing Salon Stephen Kell University of Kent | ||
18:00 60mBreak | Session Break Convivial Computing Salon | ||
19:00 60mBreak | Session Break Convivial Computing Salon | ||
20:00 60mTalk | Bicycles for the mind have to be see-through Convivial Computing Salon Kartik Agaram akkartik.name Pre-print |