KISS My A*s
In my prior articles, I wrote about my views on simplicity, my objections to putting diffuse concepts into seemingly straight rules, and the risk of unintentionally sending the wrong messages therewith. Since then, I seem to keep stumbling upon stuff that somehow adds to my position.
KISS, in its purest an acronym for “Keep it simple, stupid” (note the comma!), is another example of a brilliant principle diluted in the process of mass circulation. Here’s an excerpt from the wiki of CKEditor (a.k.a. FCKEditor),1 a lapidary – and sensibly inaccurate – reflection of the KISS principle:
Great code is the code that solves a task in the simplest way.
Code that achieves the same result with a super-complex genial solution is bad code.
Now, this is only one detached example, of course, but I actually encounter its “spirit” quite frequently: Ingenuousness is considered a synonym for complexity.
But this is by no means so!
Ingenuous solutions have always been ingenuously simple, too.
The original, substantiated concept of simplicity has very well a recognition of its own relation to brilliance and prefection, readily identifiable by Antoine de Saint Exupéry’s “It seems that perfection is reached not when there is nothing left to add, but when there is nothing left to take away” (and the fact of it being quoted on Wikipedia’s KISS Page), or St. Thomas Aquinas “God is infinitely simple“. However, in everyday lingo, I frequently find the original meaning twisted into a subtle propaganda against everything that’s beyond average comprehension.
I think the misconception stems from the (commonly overseen) fact that there are two kinds of simplicity. Put in M. Scott Peck’s words:
I wouldn’t give you a dime for simplicity this side of complexity, but I would give you all that I own for simplicity the other side of complexity.
I think, “simplicity this side of complexity” is actually comprehensibility. We call something simple if we are able to easily understand and/or reproduce it. Obviously, with growing knowledge and experience, we are able to comprehend and reproduce more, so this kind of “simplicity” means different things to different people.
The other kind of simplicity is “when there’s nothing left to take away”. Alan Hirsch terms the “simplicity the other side of complexity” simplexity:
As for the other side of the equation “… I would give all that I own for simplicity the other side of complexity” I believe this refers to those truths that have somehow honored the complex situation in which we exist and have yet to offer a simple solution/insight that seems to just somehow unlock the meaning of things. Often these ’simplex truths’ recognize paradox and mystery as part of the equation. I think these are the deepest truths of our lives.
Undoubtedly, the ability to achieve simplexity strongly correlates with our skill and experience, but I think not in a “linear” manner. I believe, simplexity requires much more of a mental “quantum leap” onto an entirely different level of comprehension.
Haso concludes well2 that we all begin our journey through the noosphere in simplicity, and either dogmatically refuse to recognize complexity, or learn to deal with it, only to realize that it is not a final state, but a thoroughfare to another, divine kind of simplicity. I like Haso’s final words, and I gratefully paraphrase him:
Great code is not simple. Great code is simplex!
- Desclaimer: I do not how the CKTeam, who BTW is doing a great job out there, is adhering to the KISS principle. I took their formulation, not their practice as an example. [↩]
- Website is in German [↩]