Monday, February 20, 2012

Design of Design - Summary of Chapters 11 - 12

Chapter 11: Constraints Are Friends

  • Constraints
    • Constraints can cause problems, but often constraints are good for designers. It allows the designers to focus and speed up the design process.
    • Constraints challenge the designer to create something that evolves around the constraints set.
  • Up to a Point
    • Artificial constraints are easier to relate to, so designers don't have to worry about that constraints as much as other constraints, perhaps ones that at may push the designer into an empty corner.
    • One must carefully distinguish between constraints:
      • Obsolete Constraints.
        • Obsolete Constraints are those that can not be changed and have to be obeyed.
          • Ex: creating software using certain amount of memory spaces.
      • Misperceived Constraints.
        • More subtle.
        • Uses the example of multiplying two 2x2 matrices in only seven multiplications instead of eight, "one must discard the misperceived constraint that vector operations must be used" (Brooks, 130).
        • Example of designers meeting all the system performance requirements and all the system reality requirements, but their analysis was rejected because it did not specify topology.
        • "When you specify something to be designed, tell what properties you need, not how they are to be achieved, If implementation approaches are given as constraints, better solutions are cut off. For the sake of the artifact and the user, the designer confronted with false constraints should fight back!" (Brooks, 132).
      • Constraints misperceived as real.
      • Intentional artificial constraints.
  • A Design Paradox: General-Purpose Artifacts Are Harder than Special-Purpose Ones
    • Hardest part of designing is deciding what you want.
    • If there are no constraints, then there are no criteria for excellence.
    • The most constrained, the assigned goal, the more of this task has already been accomplished.
    • Dashing Off a General-Purpose Design.
      • General-purpose computers are well understood.
      • A good designer can sketch for days; the set of architectural decisions is clear:
        • Instruction formats
        • Addressing and memory management
        • Datatypes and their representations
        • Operation set
        • Instruction sequencing
        • Supervisor facilities
        • Input-output
    • Designing the Special-Purpose Computer Architecture.
      • This clearly takes a lot of work up front.
      • "One has to develop an explicit characterization of the application" (Brook, 134).
    • Designing an Excellent General-Purpose Architecture.
      • A designer also needs a user model to design a general-purpose architecture, which is much harder to craft.
      • Each application must be understood, then they all have to be weighted:
        • Across the entire application set.
        • Across the entire set of intended machine implementations.
        • Across the decades of lifetime that a new architecture must contemplate.
    • Software Design.
      • "Designing a special-purpose programming language is straight-forward compared to the delicate balancing of expressive power, generality, and parsimony that one must seek in a general-purpose programming language. Restraint is so much easier to practice in the special-purpose design" (Brooks, 135).
    • Spatial Design.
      • Designing a bedroom hold the same paradox. It is easier to design a really nice bedroom than having to design a public living room because public spaces should have more functionality.
  • Net
    • If a task does not have any constraints, then first think harder about what you really want, about the user models, and probably find some constraints which will benefit the user and the designer.
Chapter 12: Esthetics and Style in Technical Design
  • Esthetics in Technical Design
    • Vitruvius says to build a good building architecture, it needs three things: 
      • Firmness
      • Usefulness
      • Delight
    • Vitruvius claims that all of our building structures must satisfy our soul's need for beauty.
    • What role does the beauty of esthetics play in technical design?
      • Physical form are capable of visual beauty. Some even incorporate term such as "elegant" and "ugly" when referring to different programming languages.
  • What Is Logical Beauty?
    • Parsimony
      • "Elegance" Requires Parsimony.
        • A definition of elegance in mathematics is "accomplishing a great deal with few elements."
        • Designers are always persuaded to create programming languages with parsimony as a guide, since computer design is placed at a higher value on parsimony.
      • Not the Whole Story.
        • However just parsimony is not enough, adding index registers that aren't necessary can radically improve performance and cost.
        • Uses Van der Poel's design as an example.
        • APL - similar story can be told for this programming language.
          • "it is even fashionable to see how much function can be packed into one line of APL"(Brooks. 141).
    • Structural Clarity
      • Parsimony Is Not Enough.
        • One key element in a computer architecture is its uniformness. The language that is used to communicate via two devices must be straight forward and easy to understand.
      • Structure.
        • ""Elegance" in a technical design demands that the basic structural concept of the design be plainly evident and, if not logically straightforward, easily explained" (Brooks, 142).
      • Metaphor.
        • "Both “elegance” and comprehensibility are aided by the use of familiar and simple metaphors, especially in user interfaces to the designed object" (Brooks. 142).
    • Consistency
      • Good architecture will be explained in the next section by Brooks and Gerry Blaauw.
    • What Is Good Computer Architecture?
      • Good computer architecture never fail to include needed functions. If it does, it is known to be erroneous.
      • Brooks and Blaauw believes that consistency is shown in its quality.
      • Some consistent solutions are not easy to find, and some are very hard to identify.
      • For computer architecture:
        • Brevity of description.
        • Simplicity of code generation.
        • Suitability for many implementations.
      • Derived Principles.
        • Three major design principles:
          • Orthogonality
          • Propriety
          • Generality
      • Orthogonality: Do Not Link What Is Independent.
        • A change in one function of the design doesn't affect the another function in the same set of design.
      • Propriety: Do Not Introduce What Is Immaterial.
        • When the product meets necessary goals just to function, the product is then called proper.
        • "Parsimony is a subset of propriety. Another is transparency, the property that a function's implementation produces no visible side effects" (Brooks, 144).
      • Generality: Do No Restrict What is Inherent
        • The ability to use a function for many different needs. Designers design this way when they think that the user will use it inventively or change it drastically to fit their needs.
    • More Virtues of Consistency
      • "Consistency is reinforcing and self-teaching, because it con- firms and encourages our expectations. It also solves the conflict between ease of use and ease of learning" (Brooks, 144).
  • Style in Technical Design
    • There are two style components that affect delight:
      • Consistency with which a style if effected.
      • Intrinsic qualities of the style itself.
    • What is Style?
      • Definitions.
        • "The Oxford English Dictionary defines style, in the sense we are considering, as
          • 14. Those features of literary composition that belong to form or expression rather than to the substance of the thought or matter expressed.
          • 21. A particular mode or form of skilled construction, execution or production; the manner in which a work of art is executed, regarded as characteristic of the individual artist or of his time and place.
        • Webster’s Revised Unabridged Dictionary (1913 edition):
          • 4. Mode of presentation, especially in music or any of the fine arts; a characteristic or peculiar mode of developing an idea or accom- plishing a result.
        • Akin [1988], “Expertise of the architect”:
          • Style as an expression of the designer’s personal and professional choices is a vehicle which helps limit the many degrees of freedom that design problems have" (Brooks, 146).
      • A Characteristic of Detailing.
        • We know that works are different from different artists and designer, however, there is still a similar style among them.
      • A Hypothesis: Minimization of Mental Effort.
        • All design, all creation, involves hundreds of microdecisions. Habits seem to be a mechanism by which humans economize on mental effort, by which we reduce the burden of decision making in everyday life" (Brooks, 146).
      • Consistency across Microdecisions.
        • Designers have to make sure as they make microdecisions, that they are consistent, not only across time, but also among similar decisions that have already been made about the same factor.
      • Clarity of Style.
        • If a designer is able to make decisions that are consistent on a boarder scale, we say that the designer has a clear sense of style.
      • My Working Definition (Brook's Working Definition):
        • "Style is a set of different repeated microdecisions, each made the same way whenever it arises, even though the context may be different" (Brooks, 147).
  • Properties of Styles
    • Specification Is Costly.
      • It takes a remarkable amount of time to make a style explicit. It took the Chicago Manual 984 pages on just style.
    • Specification Is Hierarchical.
      • Any specification is inherently hierarchal.
        • Dialect and diction
        • Person, tense, formality, vividity of color, warmth of tone
        • Balance and rhythm
        • Usage
        • Punctuation
        • Compositional layout
    • Styles Evolve.
      • Over time, style change, just as fashion changed or the 17th century English gardens.
  • To Get a Consistent Style --Document It!
    • A design style is defined by a set of decisions made by the designer. A clear style show consistency among the decisions made, however we can not say that a clear style is always a good style.
    • A design team must always document the style and design properly whether it be via drawings, blueprints, or a manual.
  • How to Achieve a Good Style
    • Simple, straight-forward.
    • Study Other Designers' Styles Intentionally.
      • Practice working in someone else's style.
    • Make Conscious Judgments.
      • "Write opinions as to what styles you like and why, what aspects of a particular style and why" (Brooks, 150).
    • Practice. Practice. Practice.
    • Revise.
      • "Look for stylistic inconsistencies" (Brooks, 150).
    • Choose Designers Carefully.
      • "Seek for your products designers who have clear styles and good taste, as demonstrated by their previous works" (Brooks, 150).

No comments:

Post a Comment