|Home • Thoughts and Musings • Thomas M. Tuerke on Design • Imperfect Indicators
n a deliberate plan for the creation or development of an object. vt: to create something according to plan.
good design: /'gud —/ the product of deliberate forethought and careful understanding of the purpose of a subject, resulting in a subject which significantly improves its utility, allowing it to integrate seamlessly and naturally into the role for which it is intended.
false synonyms: fashion, decor.
Table of Contents [show/hide]
Tue Dec 13, 2005 Link to this message
Imperfect indicators are those which closely parallel a state you're trying to watch, but are themselves uncoupled from it. Being uncoupled from that state, of course, means that isn't always accurately representing that state.
A real-world imperfect indicator is looking at the ground to see if it's been raining: wet condition implies rain, dry condition implies no rain. The weakness of imperfect indicators may seem obvious in this example. It just takes a neighbor watering the lawn to give a false indication that it's been raining.
As silly as the example above may be, it's surprising how common imperfect indicators are in software, the subtle inaccuracies they bring about, and the sometimes convoluted measures that then have to be taken to work around the inaccuracies. So it's good to take some time to prevent them being designed into code.
Imperfect indicators usually are identified by succeeding some "if" syllogism, but failing the similar "if and only if " (often abbreviated iff) syllogism. For example: "if it is raining, then the ground will be wet." This sounds true. But let's look more closely: "if—and only if—it is raining, then the ground will be wet." Ah, clearly false, as the neighbor watering the lawn clearly indicates.
This page and all constituent elements are copyright © Thomas M. Tuerke 2019
unless otherwise indicated. The TMT-Diamond Logo is a Servicemark of Thomas M. Tuerke
All Rights Reserved
Reproduction or distribution without prior written permission is strictly prohibited.
Scripting and DHTML by Technomancer Software