I’ve written before about “keeping it simple”. You know, the KISS principle.
It’s an old idea, but these days it’s even more ignored than ever. Whether it be modern computing, modern government, modern medicine, or modern law… all have become overly complex.
Of course, “simple” does not seem so easy to define, and in fact, simple designs are often much more difficult to achieve or produce.
This morning at about 2AM it occurred to me how to define “simple”.
It’s important to first understand that simplicity is relative to the layer you’re looking at. For example, if I talk about a diode, or even just a tree for that matter, the concept formed in your mind is quite simple. Yet, if you drop down a layer or two, you find vast complexity.
What I’ve concluded is that the concept of “simple” requires both layered abstraction and clean expression.
I’ve written about it on my other blog. See Definition of Simple for the story.
I think having a solid grasp of the definition of simple is critical these days. So many of our systems, including government, management, medicine, law, banking… are collapsing under the weight of their own complexities.
Sure, there are people/experts who do understand many of the complexities, but that’s not enough… because there are many others who must deal with those complexities, but who do not understand, and will make the wrong choices and decisions as a result. That’s how governments, companies, markets, engineering marvels, and entire societies collapse. Best to be avoided.
Best to keep things as simple as possible. But, of course, you need to know the definition of simple in order to do that.