Home

Faucets & Orthogonality

Things that aren’t conceptually related should not be linked in interfaces. This design principle is called orthogonality (if I may slip into italics for a moment). The classic example of a non-orthogonal interface is that of the helicopter:

A helicopter has four main controls: foot pedals, collective pitch lever, cyclic, and throttle. The foot pedals control the tail rotor. With the foot pedals you can counteract the torque of the main blade and, basically, point the nose where you want the helicopter to go. The collective pitch lever, which you hold in your left hand, controls the pitch on the rotor blades. This lets you control the amount of lift the blades generate. The cyclic, which you hold in your right hand, can tip one section of the blade. Move the cyclic, and the helicopter moves in the corresponding direction. The throttle sits at the end of the pitch lever.

It sounds fairly simple. You can use the pedals to point the helicopter where you want it to go. You can use the collective to move up and down. Unfortunately, though, because of the aerodynamics and gyroscopic effects of the blades, all these controls are related. So one small change, such as lowering the collective, causes the helicopter to dip and turn to one side. You have to counteract every change you make with corresponding opposing forces on the other controls. However, by doing that, you introduce more changes to the original control. So you’re constantly dancing on all the controls to keep the helicopter stable.

A better, less confusing example of a non-orthogonal system is the late 20th century sink faucet:

Figure 1

The left knob controls the flow of hot water and the right knob to control the flow of cold water. This interface is non-orthogonal because it links the two conceptually unrelated concepts of water temperature and water flow rate — it’s impossible to change one without affecting the other. (This interface is plagued by more than orthogonality issues — e.g., it gives no indication which knob controls hot/cold or which direction one should turn a knob to increase flow).

How can we fix this interface? First of all, we can make it orthogonal:

Figure 2

Now lifting the handle increases the flow, and rotating it changes the temperature — it’s possible to adjust one without changing the other. This implementation also makes it clear which direction is hot and which is cold. Finally, it’s now possible to control every aspect of the system with one hand.

Is there still room for improvement? Consider these observations:

  1. Users don’t need granular control over flow rate, they just want it to be always set at something reasonable when the faucet is on.

  2. Users don’t need that much control over temperature. The faucets in both figures allow the user to choose between hundreds of temperature settings, far more than people need.

A better solution would be one that gives the user only one choice of flow rate (off v. on) and 4 or 5 choices of temperature. Unfortunately temperature preferences vary, and thus it would be difficult to settle on which 4 or 5 temperatures to provide (without costly calibration). Furthermore, it’s pretty easy to control the flow via the interface in figure 2 as if it only had two settings (i.e., handle fully up or handle fully down).

Ignoring the temperature problem for now, we could simplify the interface by removing the user’s ability to pick flow rate via a faucet functionally equivalent to this one:

Figure 3

Opening it even a little increases flow to the maximum level and sets the temperature to cold. Further opening it increases the temperature (while keeping the flow level constant). This is simpler than the interface in Figure 2 because the user only has to operate it on a single dimension (turn left / turn right v. lift / depress & rotate left / rotate right). Despite its simplicity, this interface has two disadvantages relative to the one in Figure 2:

  • It’s not clear which direction one should rotate to make the water hotter v. colder

  • You have to make the water maximally cold before you can turn it off (though you can mitigate this by turning it off quickly).

So yeah, who among us is able to unbate his breath while awaiting the faucet innovations coming in the next century?

Posted May 4th, 2009