Thanks, Chris! I agree, I think computers and programming move so fast in a forward direction that sometimes we forget to look back and re-examine their roots.
Ultimately at the point the output hits your eyes the data, its presentation and the potential next behaviours sit together on the screen. So provided you don't modify the data there is no reason to see anything which combines these elements as a conflation of concerns. Insisting that they are separate when they leave the server is unnecessary. The greater sin is processing data in the server middleware when that should be done in the database. Send hypertext to the browser, do the business flows and security roles and federation on the server; and send stored proc requests to the database. No need for layers beyond that. No marshalling, no unmarshalling, no protocol translation boilerplate. Load balancing to the load balancers; authentication to the auth server; data replication to the db servers; separate data ingestion and control plane severs. Ruthless simplicity scales a long way.
There’s a paperback now!? I just bought the hardcover. But Hypermedia Systems is a surprisingly pleasant read. I’m loving the book so far!
Great chat! I really appreciate the context and examination of "how did we get here". Really helped me understand how HTMX fits into the landscape.
Thanks, Chris! I agree, I think computers and programming move so fast in a forward direction that sometimes we forget to look back and re-examine their roots.
Ultimately at the point the output hits your eyes the data, its presentation and the potential next behaviours sit together on the screen. So provided you don't modify the data there is no reason to see anything which combines these elements as a conflation of concerns. Insisting that they are separate when they leave the server is unnecessary. The greater sin is processing data in the server middleware when that should be done in the database. Send hypertext to the browser, do the business flows and security roles and federation on the server; and send stored proc requests to the database. No need for layers beyond that. No marshalling, no unmarshalling, no protocol translation boilerplate. Load balancing to the load balancers; authentication to the auth server; data replication to the db servers; separate data ingestion and control plane severs. Ruthless simplicity scales a long way.