The Birth of the Form Abstraction
Why Cotomy ended up with multiple form layers, and how that structure came from the gap between desktop application habits and web runtime reality.
Why Cotomy ended up with multiple form layers, and how that structure came from the gap between desktop application habits and web runtime reality.
In CRUD screens, the core problem is often not where state is stored, but whether the mutation path is defined. Once load, input, save, and reload are allowed to diverge, the screen becomes difficult to reason about.
Server-side postback screens were limited, but they kept one execution path. Once Ajax became the main update mechanism, keeping display, input state, and server truth aligned became a structural problem.
State failures in business UIs are usually not isolated bugs. They appear when DOM state, in-memory state, and server state have no explicit ownership and synchronization rules.
Why I moved from natural keys to surrogate keys, and why that change made both database design and application code easier to manage.
Explains how meaningful types help determine when inheritance is structurally appropriate.
Explores when inheritance and composition fit naturally, and why meaningful types matter more than convenience.
Explores why many modern developers avoid inheritance, examining cultural, historical, and practical factors in business application development.
Why page-level control became necessary and how the first PageController design appeared.
Why Cotomy standardizes query-string search, AJAX submit, and shared form contracts to control long-term cost in business systems.