

- EYE OF THE BEHOLDER 3 COMPUTER KEYBOARD CONTROLS SOFTWARE
- EYE OF THE BEHOLDER 3 COMPUTER KEYBOARD CONTROLS FREE
We trade off overall architectural simplicity (the number of modules being low) against the simplicity of each module. This dilemma applies at every level: methods, classes, packages, layers, libraries, (micro)services, processes, database tables, databases, host machines and system deployments. We can build a single monolith that contains everything and performs all functions, or we can break this down into multiple smaller interacting modules. The rest of this article will look at specific aspects in which there are competing notions of simplicity, and try to find a balance between them. And yet, we must make our best guess and live with the consequences. We cannot predict the future in which an unknown person with unknown expertise wishes to understand our system for an unknown purpose, which may be related to documentation, evaluation, remediation or expansion of the system's capabilities. Which aspects are the "most important" is hard to judge. Implicit in this is that there will be trade-offs to be made: in achieving simplicity in one aspect, we may lose it in another. In which aspects should our system be simple? The answer must be: the most important ones, and as many as possible. The challenge comes from the fact that this hypothetical reader could look at it from many different points of view, or "aspects". So, to achieve simplicity, we need to minimise the mental strain on anyone trying to look at our system and understand it. The bottom line is: every medium is a social medium, including architecture designs and source code.
EYE OF THE BEHOLDER 3 COMPUTER KEYBOARD CONTROLS FREE
This is the same starting point as Barbara Minto's "The Pyramid Principle", a bible of simplification (feel free to go and read that instead of this, if you like).

So, our quest for simplicity must be guided by these inherent human constraints, not by the latest trendy idea in architecture or software. The more unfamiliar, unconnected things we have to remember at the same time, the greater the mental strain, and the less the understanding. The human short term memory can hold only seven to nine items at a time, and our brains rely on familiarity, stereotypes and patterns to make each of these items as useful as possible.

The fundamental constraint we are working against is the capability of the human mind to keep a large number of facts in mind at the same time. While most of what we design and build is unlikely to be very poetic (to put it mildly), we can keep the dynamics of poetry in mind as we search for the meaning of simplicity. To convey so much in so few words is poetry. And we recognise a human relationship admitting of an ironic jocularity, in which both participants know that the goal is a difficult one, but nevertheless the pupil's struggles will not be free of teases and taunts from the old hand, who establishes this from the offset by calling him "stupid". We imagine a process, in which the designer must struggle to achieve and retain ("keep") a quality of the product ("simple") despite countervailing pressures. It is only four words long, but when we read it we imagine a little story, with two characters and an object: the speaker, being a sage, and the listener, being the designer of "it", a product. The slogan "keep it simple, stupid!" itself serves as an example of the complexity hidden behind simple things. We always tell ourselves, "keep it simple, stupid!" But what is "simple"? In a complex world filled with complex software, the answer is complicated.
EYE OF THE BEHOLDER 3 COMPUTER KEYBOARD CONTROLS SOFTWARE
In software architecture and code, simplicity is good.
