- to prepare the plans for (a work to be executed), especially to plan the form and structure of
- designare - to mark out
- make a plan, write it down
We already write down code
- do we still need designs?
Generate docs from implementation?
- not a plan
Monolithic designs, ugh, been there
- plans, not good ones
- Separating into things that can be composed
- Each component should be 'about' one or a few things
- Composing them to solve a problem
- Iterative
- Move from want/need ** to problems
- knowns/unkowns
- domain-side/solution-side
- cause/symptom
- unstated
- queues
- idempotency
- commutation
- transactions
- Also authors ** independent development etc
- Set of logged-in users
- Set class/construct
- Benefits
- Tradeoffs
- Costs
- Problem fit
- Comprehension
- Coordination
- Extension
- Reuse
- Testing
- Efficiency
- Bartok
- Coltrane
- Self-imposed problems/constraints ** like other art forms
- Design for performers ** ditto screenwriting, choreography...
- Organization challenge ** a plan or design addressing those challenges
- Fully orchestrated/arranged ** typical at larger scales
- Melody + changes ** increased latitude for performers ** increased responsibility
- Most compositions are 'about' one or a few things ** melodic, harmonic, rhythmic, timbral ideas
- motif or theme ** variations ** resolution
- Larger works, more structural components
- improvisus - not foreseen/provided
- Melody + changes provide constraints ** Peformer provides variations
- Tremendous preparation, practice, study!
- Deep musical knowledge and vocabulary
- 'accord, congruity'
- 'simultaneous combination (of tones)'
- 'the art or science concerned with the structure and combinations (of chords)'
- Harmonic sensibility is a key design skill
- Masters of harmony
- Students of harmoniousness ** Beyond the rules
- New systems that preserve/explore harmonic essence
- Towering intellectual effort, while totally rocking
- Is Clojure like a song?
- Is it like a syphony?
- An instrument.
- Most instruments are 'about' one thing
- Pluck, vibrate, strike...
- Piano ** no in-between notes
- Sax et al ** one note at a time
- Minimal, yet sufficient ** no missing notes
- Complex target
- Nested design problem
- Should cellos... ** auto-tune? ** have green/red lights when you are in/out of tune? ** not make any sound until you get it right?
- Learners
- Teachers
- Neither are effort free
- Briefly
- Permanently
- What ratio of time spend? ** compose/study/practice ** vs perform/record
- Why do we think we can just show up? ** unlike other creative people
-
Coltrane couldn't build a web site in a day
-
Software isn't made of wood or metal
- In software, same mechanism at every layer
- We all have soldering irons
- Doesn't mean we can do filter design
- Distraction, expansion
- The impetus of constraint
- Constraint is a driver of creativity
Carolina Eyck
- Embrace the constraints
- Be optimistic
- Imagine a lot
- Admin little
- Value conveyed is in decisions made
- Leaving all options open you're just avoiding design
- practice
- study
- developing design sensibilities you can deploy on the fly
- with an eye towards putting them back together
- how will everything get put back together
- deep knowledge of software and design sensibilities
- unreasonably effective
- simple designs