Doing Business in Real Time
The global economy has a life of its own, it lives in real-time, and we are all part of it. Hello brave new world.
In the design of computer systems, all our efforts, our analysis, our long hours are all directed to one end. That end is to discover a design with a quality called “elegant simplicity”.
Such designs use the strengths of the technology you are building with in combinations that are easy to understand (so they actually get built) and in ways that meet peoples’ most important expectations (so they actually get used). Any design other than this is only an incompletely solved problem.
[ I do lively presentations on this and related topics - mhugos@yahoo.com ]
The more times I use the word “complex” in describing a problem and in describing my proposed solution to that problem, the more I know I have not yet found the design I’m looking for. I’ve learned the more complex a problem seems to be, the more important it is to find an elegantly simple (but not simple-minded) solution. Otherwise the project will fail.
In a profession like IT, complexity is always there, always ready to drag me down, wreck my projects, and disappoint the people I am trying to please. The search for elegant simplicity is at the heart of every successful development project. When I don’t find it, when what I find is merely clever and complex, then my projects take too long, require too much effort and never quite work.
Experience is turning me into a connoisseur of elegant simplicity. I’m always looking for insights to help me find it. This week in a book I've been reading (Wind, Sand and Stars by Antoine de Saint-Exupery) I came across three insights worth passing on to other seekers of this fine quality. The first insight is this, “…perfection is finally attained not when there is no longer anything to add, but when there is no longer anything to take away…”
How true; the best solutions always do more with less instead of trying to do more with more. That means I can’t meet every expectation of every user of the system I’m designing, but I have to find that core of functionality that meets peoples’ most important expectations. I have to figure out what those most important expectations are by listening carefully and asking probing questions.
The second insight is, “…all visible evidence of invention should have been refined out of this instrument and there should be delivered to us an object as natural as a pebble polished by the waves…”. Wow. A polished pebble is an elemental shape that results from the complex interplay of wind, water, waves, and other pebbles. What mastery of design to devise such a simple answer to such a complex situation. And what subordination of designer’s ego to find an answer so obvious and appealing that people will think they thought of it themselves.
The third insight is this, “…he who uses this machine should be able to forget that it is a machine.” I think this is an extension of the first two insights. Designs that do more with less in ways that seems so natural we think we thought of them ourselves become part of us. They become like a favorite set of clothes or a car we love to drive. The experience of wearing those clothes or driving that car is not about clothes or cars; it’s a statement about who we are and what we can do.
As far as I can tell, any computer system that calls attention to itself just irritates people. People find it annoying because they don’t care about the system itself (only the designer does); they just care about what the system