+++ title = "Essays" insert_anchor_links = "heading" sort_by = "date" generate_feeds = true template = "essay_index.html" page_template = "essay.html" +++ ### Hypermedia and REST * [HATEOAS](@/essays/hateoas.md) * [How Did REST Come To Mean The Opposite of REST?](@/essays/how-did-rest-come-to-mean-the-opposite-of-rest.md) * [Two Approaches To Decoupling](@/essays/two-approaches-to-decoupling.md) * [Hypermedia Clients](@/essays/hypermedia-clients.md) * [HATEOAS Is For Humans](https://intercoolerjs.org/2016/05/08/hatoeas-is-for-humans.html) * [Taking HTML Seriously](https://intercoolerjs.org/2020/01/14/taking-html-seriously) * [The #ViewSource Affordance](@/essays/right-click-view-source.md) ### Why Hypermedia? Why Multi-Page Applications? * [Hypermedia On Whatever you'd Like (HOWL)](@/essays/hypermedia-on-whatever-youd-like.md) * [A Response To "Have SPAs Ruined The Web"](@/essays/a-response-to-rich-harris.md) * [When To Use Hypermedia?](@/essays/when-to-use-hypermedia.md) * [The API Churn/Security Trade-off](https://intercoolerjs.org/2016/02/17/api-churn-vs-security.html) * [Does Hypermedia Scale?](@/essays/does-hypermedia-scale.md) ### Real World htmx Experiences * [A Real World React to htmx Port](@/essays/a-real-world-react-to-htmx-port.md) * [Another Real World React to htmx Port](@/essays/another-real-world-react-to-htmx-port.md) * [A Real World wasm to htmx Port](@/essays/a-real-world-wasm-to-htmx-port.md) * [Next.js to htmx — A Real World Example](@/essays/a-real-world-nextjs-to-htmx-port.md) * [You Can't Build Interactive Web Apps Except as Single Page Applications... And Other Myths](@/essays/you-cant.md) ### On The Other Hand... * [htmx sucks](@/essays/htmx-sucks.md) * [Why Gumroad Didn't Choose htmx](@/essays/why-gumroad-didnt-choose-htmx.md) * [A Modest Critique of htmx](https://chrisdone.com/posts/htmx-critique/) [[Response]](https://news.ycombinator.com/item?id=41782080) * [Alternatives](@/essays/alternatives.md) ### Building Hypermedia Applications * [Hypermedia-Driven Applications (HDAs)](@/essays/hypermedia-driven-applications.md) * [Web Security Basics (with htmx)](@/essays/web-security-basics-with-htmx.md) * [Hypermedia Friendly Scripting](@/essays/hypermedia-friendly-scripting.md) * [10 Tips For Building SSR/HDA applications](@/essays/10-tips-for-SSR-HDA-apps.md) * [Why I Tend Not To Use Content Negotiation](@/essays/why-tend-not-to-use-content-negotiation.md) * [Template Fragments](@/essays/template-fragments.md) * [Web Components Work Great with htmx](@/essays/webcomponents-work-great.md) * [View Transitions](@/essays/view-transitions.md) * [Model/View/Controller](@/essays/mvc.md) * [Is Rendering JSON More Efficient Than Rendering HTML?](https://github.com/1cg/html-json-speed-comparison) * [Is JSON Smaller Than HTML?](https://github.com/1cg/html-json-size-comparison) ### Complexity Very, Very Bad * [The Grug Brained Developer](https://grugbrain.dev) * [Codin' Dirty](@/essays/codin-dirty.md) * [Locality of Behavior (LoB)](@/essays/locality-of-behaviour.md) * [Complexity Budget](@/essays/complexity-budget.md) * [Why htmx Does Not Have a Build Step](@/essays/no-build-step.md) * [Is htmx Just Another JavaScript Framework?](@/essays/is-htmx-another-javascript-framework.md) * [htmx Implementation Deep Dive (Video)](https://www.youtube.com/watch?v=javGxN-h9VQ) * [Vendoring](@/essays/vendoring.md) ### Hypermedia Research * [A File Structure For The Complex, The Changing and the Indeterminate (Ted Nelson, 1965)](https://dl.acm.org/doi/pdf/10.1145/800197.806036) * [The Mother Of All Demos (Doug Englebart, 1968)](https://www.youtube.com/watch?v=B6rKUf9DWRI) * [The First Web Page (1991)](http://info.cern.ch/hypertext/WWW/TheProject.html) * [Architectural Styles and the Design of Network-based Software Architectures (Roy Fielding, 2000)](https://ics.uci.edu/~fielding/pubs/dissertation/top.htm) * [State of the Art Review on Hypermedia Issues and Applications (2006)](https://paul.luon.net/hypermedia/index.html) [[archive]](https://web.archive.org/web/20240428215142/https://paul.luon.net/hypermedia/index.html) * [Hypermedia Controls: Feral to Formal (ACM HT'24)](https://dl.acm.org/doi/pdf/10.1145/3648188.3675127) * [Preserving REST-ful Visibility Of Rich Web Applications With Generalized Hypermedia Controls (ACM SIGWEB Newsletter, Autumn'24)](https://hypermedia.cs.montana.edu/papers/preserving-restful.pdf) ### Interviews * [Henning Koch](@/essays/interviews/henning_koch.md), creator of [Unpoly](https://unpoly.com/) [//]: # (* [Makinde Adeagbo](@/essays/interviews/makinde_adeagbo.md), creator of [Primer](https://www.youtube.com/watch?v=wHlyLEPtL9o)) [//]: # (* [Chris Wanstrath aka @defunkt](@/essays/interviews/chris_wanstrath.md), creator of [pjax](https://github.com/defunkt/jquery-pjax)) [//]: # (* [Mike Amundsen](@/essays/interviews/mike_amundsen.md), author of [RESTful Web APIs](http://restfulwebapis.com/)) ## Banners