Full Title or Meme
Design limited by the capability of humans' intelligence and imagination.
It has been felt by some that Evolution could not be correct because the results are so complex as to be unimaginable. But we now know that, in fact, intelligence as we know it is not capable of designing anything complex at all from scratch.
- Humans aren't nearly so smart or inventive as they think they are. They typically over-estimate that change that can be effected in the short term, and underestimate the change that can be effected for the long term.
- It is now well known that no system of logic as complex as arithmetic can be complete. There are things that are true that cannot be determined in advance.
- Project managers often require a detailed design before they will start the project. This is understandable, and a good strategy, but the tactics of implementing the strategy cannot be so rigid or the result will be unsatisfactory, even to the designer.
- While it is fine to do one's best to create a good design at the start of a project, do not be beguiled into thinking it will not need to change as the project proceeds.
The following sections are different paradigms for design. The careful designer will consider all of them.
Design for Usability
- This would include design to fit the purpose of the project.
- Most design looks only at the common use cases, that is the use cases that apply to the target audience.
- Edge cases for this design paradigm are usually called accessibility.
Design for Success
- Unlike Usability, which considers the average users based on existing user experience, success looks beyond the average to the unexpected.
- In his book "The Taming of Chance", Ian Hacking put it this way.
The bad player is the one who tries to calculate and play with the odds, as if his game, his life, were one of a large number of games. To do so is at best to succumb to another necessity, the necessity of the law of large numbers. The good player does not fool himself, and accepts that there is exactly one chance, which produces by chance the necessity and even the purpose that he experiences. Not even a long run of universes would annul the chance that brought unto being our world, and only the false consciousness of a bad gambler could make it seem otherwise.
- Projects must be directed at solving current problems for short term gains with users. Alternatively a project can be directed to solve problems that users have not articulated, but satisfy the users' aspirations in unexpected ways. Always pay attention to the cognitive load that the solutions can demand of users.
- Projects should not be directed at vague ideas, like privacy, based on the designers' concept of what a solution would entail. In other words, don't design solutions and then look for problems, rather target the problems or aspirations of real users. If the cognitive load on the user is too great, there will never be any uptake after the first wave of sales to the technologically sophisticated users.
Design for Resilience
- Design for Resilience requires use cases that are at the edge of performance and attack from malicious or untrained users.
- See page on Resilience
Design for Test
- Test for Resilience requires overloading the system both from a load and from an attack perspective.
- Keep in mind these two laws attributed to Murphy.
- If things can go wrong, they will go wrong; and at at the worst possible moment.
- Murphy was an optimist.
- Kurt Godel, On Formally Undecidable Propositions Of Principia Mathematica And Related Systems. Dover (1992 reprint of the 1962 Basic Books edition from the original 1930 article) ASIN B002G7WH8S.
- Ian Hacking, The Taming of Chance (Ideas in Context). ISBN 978-0521388849