Some things exist in the mind as Mental Images, others from that image are converted into artifacts DonaldNoyes.20070628.20121201
The trick is to understand how creativity and mindful activity work together:
- Sometimes people think that creative ideas spring out of nothing (like the proverbial "blank page" staring back at the writer) but creativity is in fact the result of using and manipulating your knowledge in certain ways.''
- From SourceCodeIsDesignRequiresInversability:
- Foo is at first an Incompleted MentalImage? viewed "at a distance". It engenders a feeling of possibilites, of becoming a SatisficingArtifact?. For example, suppose you are going to design an foo. You may have included in a MentalImage, of what you want the foo to "be".
- If you as an Architect, have conceived of it as a whole, for which you have complete control as to what it will become, and you also are the shaper and/or Supervisor of its becoming, the MentalImage has few "fuzzy" or areas lacking sufficient clarity as to prevent focus and concentration on its becoming a SatisficingArtifact?.
- On the other hand if you are an ArchitectOfaPart?, the image that you start with is more likely a hazy, uncolored and shapeless blob, similar to that of a clump of clay, which has attached to it IncompleteSpecifications?, features and requirements which have as sub-parts, "Patterns", "Interfaces", "Integration Issues", "TimeMaterialCostingConstraints? and "ToFollow?" uncertainties. And so on. Most of the design issues in SoftwareDesign follow this partial sense of a MentalImage and as a result require much "translation" via planning, scoping, and implementation.
- Imagination is required. Imagination which can begin to form a workable, stepwise conversion of a perceived image of what will "realize" and "actualize" and "reshape" that image.
Context - Formalizing context
- Language - Naming collisions
- Ameliorations:
- EntitiesHaveOneName?
- PatternsSelfDescribe??
- Patterns and slice graphers
- MetaMinimilization?? or CombinatorialNameOptomization?? - How "the name of a pattern is a sentence that describes the pattern"
Building - Organization and Construction
- Building on abstractions built on abstractions
- Building maps of maps
- ManipulatingAbstraction?s so they interact properly
- Combinatorial/CriticalMass systems
- Complexity/non-orthogonality entanglement
- When to question established guidelines
- Maintaining a MediaBase?? - files, concepts, source, etc
Diagramming - How to diagram artifacts:
- Example RolePlayingGames?
- How to: diagram the RPG example
- platform
- game
- server
- faction
- guild
- party
- character has name,gender, race, class, professions
Imagination and Visualization - How to recast a big ball of mud
- Remaining adaptable for the future and retrofitting old software with new concepts (these two meet in the middle)
- Realism - staying realistic in the sea of theory
- InventionIsReduction??
- Mental organization
- If a system represents the organization that creates it, to create better code, one must become a better organization.
- a MentalModel or MentalImage for holding tasks/truths
- BackgroundAutomaticOrganization? and Mapping
Focus - Concentration and Centralizing
- Active concentration(hard) - what happens when you need to minimalize something
- Passive concentration(easy) - what happens when you want to add something
Related: PlanningGame (Flow Chart) | UserStories | UseCases | MentalIndexability