Bring programming to the people.
Present-era software is a giant hairball of complexity, and Clojure/EDN/Datomic—the calculus of data—presents an opportunity to fix it. Clojure's key idea is that software is simpler if it is oriented around the data it processes, so basically data-oriented programming rather than object-oriented. This paradigm shift is what makes possible Hyperfiddle, a Rails-killer which derives power from this simplicity. With Hyperfiddle, if you understand your data, you understand your software. This breakthrough brings programming within reach of creatives and creators who can't program today. The best part of Rails was that it created a long-tail of cookie-cutter systems that all work the same way. Similarly, the long tail of Hyperfiddle/Clojure systems will all treat data the same way, and speak the same data-oriented protocols.
APIs are hard
The Hyperfiddle network of systems will exchange data much more seamlessly than today's APIs which are all uniquely different like snowflakes. Their data is incompatible by default: it takes deliberate—and expensive!—integration, to make square pegs compatible with round holes. Integration cost scales much worse than linearly, and exposure to beauracracy multiplies it still further. This super-linear factor is probably the dominant cost of software construction and the deep reason why all software turns to shit: it outscales all human capacity to pay it. (Healthcare.gov is an infamous example of runaway integration costs.)
Free market solution
Hyperfiddle inverts this balance: systems are default compatible, you have to go out of your way to break interoperability. Megacorps face market incentives to create data silos, and they are of course free to do so in order to compete. But, Hyperfiddle alters the incentives and this has huge ramifications in the long run. First, baby startups, since they are born compatible, can gang up and leverage their interop in interesting new ways to try to get an edge up on the encumbants. Once grown up, it's not so easy for a company to rewrite it's cultural DNA after the fact (or it's business for that matter). Second, those powerful companies who do wall off their data, can no longer use "everyone is doing it" or "we can't afford to do it" as an excuse. They're just being shitty, and they do so under a public spotlight and exposed to social pressure to behave.
Software no longer exists in a vaccuum, it is only valuable when it can get people to do things. Megacorps like Facebook know this intuitively, which is why they maintain total control of the interface at any cost. However, by stunting third party growth and trying to "go it alone", Facebook caps the total possible magnitude of their network strength. The strength of a social graph scales with number of users, an S curve with finite upper bound. Obviously, Facebook's network is incredibly strong, but finite nonetheless. The strength of a general purpose data network is unbounded: it scales with total amount of data, and compounds with each additional datom, forever. Facebook will eventually die, but open networks are forever.
A general purpose data network makes it possible to design technology that works the way humans work, like in the movies. Cognitect, Clojure's steward corp, has been building the mission critical infrastructure since circa 2010. In Q2'18 the final piece became operational. Hyperfiddle is a catalyst for this movement, by bringing Clojure's simple approach to software construction to more diverse kinds of people who couldn't program before.
Hyperfiddle is made possible by the vibrant Clojure open source ecosystem, by Cognitect's visionary stewardship and by Datomic, the functional database.
Thank you to the maintainers of the following critical dependencies, without which Hyperfiddle is not possible to think, let alone build:
What does Datomic make possible that wasn't possible before?
Hyperfiddle was conceived in 2013 while driving to Clojure Conj, while trying to answer this question. The first prototype, a Scala library for immutable REST services, was developed over Christmas break. By 2015 a second prototype for data-driven UI was built in Clojure/Script. We pitched it to Rich Hickey, who said in the way that only Rich can, “This is good but I am looking for something that lets you work with data in more flexible ways”. So we started over. In time, we realized what we had was worth doing properly, so Hyperfiddle, Inc was born.
Karl Hardenstine (left), Dustin Getz
- Philadelphia, PA, USA
- Freelance Clojure devs, please reach out
- Contact: firstname.lastname@example.org