: A foolish consistency is the hobgoblin of little minds, : adored by little statesmen and philosophers and divines. : -- RalphWaldoEmerson : Speak what you think now in hard words, : and to-morrow speak what to-morrow thinks in hard words again, : though it contradict every thing you said to-day. : -- RalphWaldoEmerson And there are lots and lots of little minds when programmers try to do interaction design. Speaking generously, people try to consistently apply a rule when they shouldn't because they don't understand the forces that created the rule in the first place. In general, there are three different situations that arise from this: * evil rules * imperfect rules * interaction of good rules with evil rules '''Evil rules''' People develop and maintain evil rules without realizing they are evil because they confuse a ''goal'' with the conditions that bring it about. So even though the goal can be a directly and obviously Good Thing, the condition that brings it about can be evil (directly and obviously bad). The condition can still be good ''indirectly'' if and only if the good it brings about indirectly outweighs the bad it does directly. This is something that has to be judged on a case by case basis, by understanding what the rule is for, as opposed to dogmatically. Example chain of associations: * job > money > consumption > property > necessities & luxuries of life evil job * nazi * corporate lawyer * hired killer (eg, soldier) evil money * positive inflation / interest currencies * centrally controlled currencies submitted to the predations of the IMF and World Bank * billion dollar fortunes evil consumption * Mc''''''Donalds ** ''But, when on the road, don't you feel safer with McD's than Joe's Burger Joint? You go to Joe's when you want and have time for adventure, but McD's when you don't.'' evil property * slaves And we can extend the chain still further by including 'university diploma' 'studying' 'school' and so on. In computer science, an example of an evil rule is "maximize user choice". In fact, choice is directly evil. The good it ''can'' sometimes bring about is the user getting exactly what they want. So a much better alternative to "maximize user choice" is "maximize only meaningful user choices". This fact is referred to in AutomaticVsManualPlacement. ''While I wouldn't compare maximizing user choice with slavery or Nazis (or Mc''''''Donalds, for that matter)...GodwinsLaw and all of that... you do hit upon a good point here. Quite a few people, rather than designing a UserInterface (good or bad), instead design a common interactivity AntiPattern which I will herein name the UserInstrumentedApi. More on why it's a bad idea on that page.'' '''Imperfect good rules''' Example: back-opening bus shelters. Bus shelters are a good thing. And ones that open at the back, when they're too close to the street, are also a good thing. But having to walk all the way around when the bus comes is not such a good thing. Better to have two, or side, openings sometimes. ''Unless you live in a cold climate'' In which case you can have one side opening or two front and back openings that are staggered so that the wind doesn't have a direct path. ''It's not just the wind. Bus riders don't like getting splashed when the traffic on a rainy day sprays water all over the sidewalk--'''that's''' why bus shelters often open to the back. Especially in notoriously wet climates like PortlandOregon...'' '''Interaction of good rules with evil rules''' The MacOs maintains the unity of identity of objects. Maintaining unity of identity at all times is a Good Thing. There is no unavoidable situation where unity of identity should be broken because the Mac OS system programmers deliberately created all those situations. Unfortunately, the Mac OS also has manual placement of objects by the user. Which means that the user can easily and does routinely (in fact, unavoidably) place objects in such a way as to destroy their identity. That's because "is contained in Y" is part of the identity of object X. So in this case, the evil rule of manual placement (user choice) conspires to utterly destroy what the good rule seeks to strengthen. ''What are the alternatives in this example? I can think of making it "reference friendly", but that may make it confusing to some users. Mac strives for intuitiveness, and part of this comes from echoing the real world in which a thing can only be one place at a time. Most users don't "get" set theory and references. Their target market for sales is not geeks and IT experts.'' ---------- See also: WhenAreStandardsRestrictive ---- JanuaryTwelve