Efficient communication with one or two buttons
David Mackay · AIP conference proceedings · 2004
Abstract. We discuss how the arithmetic-coding-based communication system, Dasher, could be driven by discrete button presses. We describe several prototypes and predict their information rates. Dasher is a communication system based on a beautiful idea from information theory, called arithmetic coding (Witten et al., 1987; MacKay, 2003, Chapter 6). Arithmetic coding is an optimal method for text-compression using a language model. By turning arithmetic coding on its head, we obtain an optimal method for text-generation. We view a person’s gestures as a source of information, and the sentences they wish to communicate as the sink of information. Good interface design maximizes the number of bits per second that are conveyed from the user into text. Poor interfaces waste the user’s time either by failing to extract all the bits that the user could easily generate, or by diverting the user’s bits into redundant activity. The Dasher approach to interface design decouples the issues of efficient bitgeneration and efficient language-generation. Unlike in most interfaces, a Dasher-user’s gestures have no relationship to particular symbols in the language. Instead, they control navigation in a continuous space whose contents are laid out using a language