Input Devices

The long history of aerospace control design provides many ideas for input devices. For example, the SR-71 Blackbird's autopilot system [Lon01] featured two finger wheels that allowed the pitch and roll of the aircraft to be controlled with a single finger. The Flightdeck-UI project aims to use such ideas in designing generic input controls.

Flattening Hierarchies

Interfaces which use a few elements to implement many functions may look simpler at first glance, but they are far more difficult to use. For example, a telephone-based system — with its limited keypad — is harder to work with than the relative multitude of controls in a car [Nor88]. This idea is also part of the Python design philosophy: "Flat is better than nested" is one of its 19 principles.

Limiting nesting at the user interface level makes a program easier to interact with. Possible inputs are more obvious, and are easier to remember. Heavily nested menus and frequent use of popup dialog boxes make a user lose context. The Flightdeck-UI cmdwatch.py demonstration program does not use any menus or dialog boxes at all. In order to serve as an example, it will continue to keep these features to a minimum as it evolves.

Dials

Analog dials have a similar "gestural" value to gauges. Flightdeck-UI includes a Dial as of version 0.1.3. An illustration is given below.

Uses for a Dial Element

A dial input element — similar to an analog gauge — allows the user to quickly get an approximate reading of its setting. Current Flightdeck-UI dials focus on this feature, and include no text markings on the face. The exact value to which the dial is set can be shown in a text label near the dial, which is how the demonstration program cmdwatch.py uses this element. See the next subsection for a full description of features.

Flightdeck-UI dials are most suitable when some adjustment must be made quickly, but great precision is not required. There are actually many tasks that fit this description. For example, when the cmdwatch.py application is in its "minimized" state, a dial element is included to allow the sampling rate to be adjusted between 1 and 10 times a second. A few clicks of the mouse over the relatively large dial target suffice to change the sampling rate, with a strong graphical indication of that change being shown immediately. A small text label below the dial supplements the graphical information with a displayed numerical value.

Of course, when something like 15-digit numbers must be accurately entered via an interface, the traditional text box is probably the best approach. In many cases, however, the input required is much more coarse, and the ease of setting it, along with a strong indication of the approximate value, are the determining factors for reducing operator error.

The Flightdeck-UI Dial Design

The features of the Flightdeck-UI dial are listed below.