Bicycles for the mind have to be see-through
This paper describes ongoing research on building software to be comprehensible to its users so that they can tailor it to their needs in the field. Our test-bed is a computing stack called Mu that deemphasizes a clean interface in favor of a few global implementation properties: small implementation size, few distinct notations, parsimonious dependencies, a simple dependency graph that avoids cycles, and early warning on breaking changes. Assuming a 32-bit x86 processor and (for now) a basic third-party Unix-like kernel, Mu builds up from raw machine code to a memory-safe but less expressive language than C.
Our approach to keeping software comprehensible is to reduce information hiding and abstraction, and instead encourage curiosity about internals. Our hypothesis is that abstractions help insiders who understand a project but hinder newcomers who understand only that project’s domain. Where recent efforts to create ``bicycles for the mind'' have tended to focus on reducing learning time and effort, we explore organizing the curriculum to be incrementally useful, providing an hour of actionable value for an hour (or three) of study. The hope is that rewarding curiosity will stimulate curiosity in a virtuous cycle, so that more people are motivated to study and reflect on the difference between good vs bad design and good vs bad architecture, even as the study takes place over a lifetime of specialization in other domains. Spreading expertise in design is essential to the creation of a better society of more empowered citizens. Software tools have a role to play in this process, both by exemplifying good design and by providing visceral illustrations of the consequences of design choices.
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 |