When designing computer systems, keeping various orthogonal aspects separate is a very good idea: it keeps the design clean and the various parts of the code easier to understand and to test. When designing an UI, this orthogonality adds states that might not make sense and add clutter and noise.

One example of this I found in the UI displaying flight information on airplanes. They all follow the same pattern: various bits of data are rotated in various languages and units. As my flight was from Roma to Zürich, the languages where: Italian, German, French, and English, and the units where metric and imperial. I’m not really sure which type of miles where displayed (US or nautical), nautical would make more sense, but then should the speed not be expressed in knots and not MpH? Things would be simpler if we only used metrical units, but that is not the point here.

In any case, the system displayed temperatures in Fahrenheit degrees in French, Italian, and German, which makes absolutely no sense. Fahrenheit degrees are only used in the US (and two minor Islands that speak neither French or German, or Italian). While the unit system is orthogonal of the display language, there is in practice a strong coupling between the two. For me this is the typical case where orthogonality in the underlying system (which is good), transpired in the UI, producing noise (which is bad).

2 thoughts on “Orthogonality

  1. That’s bizarre. My SwissAir flight last year displayed centrigrade for Italian, French, and German displays, while it used fahrenheit for the English/American display.

  2. I think there are many different instances / versions of that information display program.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.