🔨 Cool Contracts or Hypermedia Recipes?
When all you’ve got is hypermedia treat every problem as if it were a web application feature
Pace the claim that “software is eating the world”: all software will become web-based. All real bugs are web-bugs. If it can be written in JavaScript, it will be written in JavaScript.

And forget “smart contracts”! Remember when timbl said, “There is nothing about HTTP which makes your URIs unstable.” Are we under-utilizing our concepts and over-utilizing our tools?
If you look at hypermedia as a recipe of how the next request is supposed to look like, you will grasp what hypermedia is all about.
— Asbjørn Ulsberg
Below are a few of recipes for hypermedia-driven “cool contracts”.
“Smart contracts”
Smart Contracts are typically known by their hierarchical nature: clauses are true under certain objective account considerations (e.g. withdraw and transfer X units assuming Account Y is available and has sufficient balance).
“Chaining”
In the spirit of Memento:
Distributed predicates
Consider these “programmable relations”: we are concerned with not only their discovery but also the conditional nature of their use within an application’s heartbeat, its goals, its teleology *ahem* functional requirements. Machines and persons (non-human or otherwise) may interact with these hypermedia controls as clues on what to do “next”, but we also want to think about how generic clients might implement their semantics prior to the consumption of the href
associated with the “link relation”. There can be a “collective” or distributed execution of these relations post-discovery, assuming membership in a ring or according to a public-key infrastructure.
How much of Web 3.0 is overlooking REST-ful solutions, preferring “smart” instead of “cool”? Cool is better than smart!