# Forces Forces make architectural decisions non-trivial. The initial force vocabulary is intentionally broader than frontend implementation concerns. ## Experience - interaction latency - perceived responsiveness - continuity of interaction - discoverability - addressability - accessibility - recoverability - offline usability ## Information - authoritative consistency - freshness - cacheability - conflict probability - collaborative concurrency - data locality - privacy - information completeness ## Execution - first-content latency - hydration cost - client compute cost - server compute cost - bandwidth cost - connection lifetime - network reliability - startup cost - incremental update cost ## Change - feature change frequency - schema change frequency - independent deployability - team autonomy - release coupling - compatibility pressure ## Engineering - implementation complexity - reconciliation complexity - cognitive load - testability - observability - debuggability - portability - security exposure ## Operations - scalability - fault containment - deployment complexity - cache invalidation complexity - telemetry quality - incident recoverability ## Research questions The vocabulary should remain small enough to reason with. Research should determine: - which forces are independent, - which are merely metrics, - which are compound concepts, - which forces recur across most frontend patterns, - which forces should be modeled as dimensions rather than labels.