The idea that something (usually applied to software, but also applicable to most other areas of design and arguably behaviour) should act in the way that people expect it to. A button labelled close that pops up a window rather than closing the existing one violates the principle of least surprise. So does version 2 of your program reversing the meaning of two gadgets. Effectively it should be a reasonable assumption that things should behave consistantly with themselves and everything else. Wilfully breaking this without a good reason is bad and wrong.

Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.