Alternatives: A New Fundamental Structure for Computer-aided Design
It is beyond reasonable dispute that a central (if not the central) act of designing is to explore in a space of possibilities. Some call it search, some exploration or even sketching, but it is at the core. Designers make many representations on their way to a design that satisfies them. Along the way, even the notion of what will satisfy a situation can change. The iconic sketchbook, in pencil (or ink) remains the principal tool for exploration. In stark contrast, current computer aided design (CAD) tools provide little exploration support (though this is growing) especially in the academic literature. CAD provides relentless single-state systems that bias strongly to working with one model at a time, clever workarounds such as using layers for alternatives notwithstanding. Clearly we need a new way to interact with alternatives. We need tools for multiple alternatives, rapid sketching and exploration over multiple visible, editable alternatives. We have built such a tool, which we call CAMBRIA (after the Cambrian explosion of life) and a language to support alternatives, which we call SHIRO (after spreading mycelium). In this talk I present design arguments for working with alternatives and show how CAMBRIA and SHIRO implement some of these ideas.