The Wholeness Stack diagram

The Wholeness Stack is a portfolio of software and related works dedicated to developing, tending, and curating reliable information, durable knowledge, comprehensive understanding, and ecological wisdom. It's called that because it espouses an underpinning technique—and overarching philosophy—of transforming wholes, rather than assembling parts. It begins with eminently reusable linked data, and proceeds, even, to contemplate how we design our cognitive prostheses, and what we create them for. The overall goal of the Stack is to repair the contract of the Web as a realization of hypertext, graduating it from a technology—with its focus on capability—to a mature expressive medium.

Concepts & Conceptual Frameworks

Wholeness
A superficially woo-woo-sounding concept that has to do with a paradigm that instead of treating our work like we raze the ground and plunk down something new, our role is to improve what's already there by doing site repair through structure-preserving transformations.
Site repair
The title of Pattern 104 from A Pattern Language has to do with improving the bad parts of a system and leaving the parts that are already good alone.
Structure-preserving transformation
This is a synonym for morphism, a relation between objects. In the context of processes, it can be characterized by the state of the system before the transformation—at least the salient part of it—being recoverable from the state afterward.
Pace layers
The maturation of shearing layers, which are a conceptual framework for buildings, pace layers are Stewart Brand's typology for characterizing the different time scales of different classes of phenomena.
Specificity Gradient
Inspired by pace layers, the Specificity Gradient is my own conceptual framework for thinking about how information goes stale at wildly differing rates, and how its perishability tends to track with its level of detail. This makes it an attractive organizing principle for policy and design specifications.
Resource
An information resource is an identifiable thing or place where can get information out of (or put into). For our purposes a(n information) resource can be specified as a many-to-many mapping between one or more identifiers to one or more representations. Web resources further refine this definition as the identifiers in question being URIs, and the resource responding to one or more request methods.
Handler
A handler is a piece of server-side Web application software (like a microservice but not necessarily), that responds to at least one URI by one request method, in addition to conforming to the handler manifest protocol. The purpose of a handler is to be an extremely well-defined development target.

Software

Intertwingler

Intertwingler is an engine for making websites that consist of extremely large quantities of tiny, reusable objects, intelligible to both people and machines, with a thicket of unbreakable links—in both directions—that would be unmanageable in other frameworks. The purpose of Intertwingler is to repair the Web one site at a time: to set a floor for content reuse, FAIR data, and the eradication of link rot, so the Web—as dense hypermedia—can realize its full expressive potential.

Intermingler

Intermingler—soon to be separated from Intertwingler into its own product—is infrastructure designed to support websites that can live for decades. It presents a uniform address space to the network, preserving the continuity and naming history of URLs, that it routes transparently to an array of microservices—which make for extremely well-defined development targets, written in any language—that plug into the back. A novel handler manifest protocol, embedded in plain-old HTTP, tells it what to do.

Sense Atlas

Sense Atlas is a tool that helps you, your colleagues, and your stakeholders create and maintain a shared—and shareable—living structure of what's going on around you and how you intend to respond, drawing on a model that you develop, expand, and enrich incrementally, over the lifespan of your organization.

Minor Products

Data & Protocol Specifications

Handler Manifest Protocol

The Handler Manifest Protocol is the mechanism by which a handler advertises its contents and capabilities to a handler bus like Intermingler.

RDF-KV

Compact UUIDs

Loupe

Loupe is a vocabulary for describing how a non-oriented directed graph structure is to be serialized into a concrete representation as a hypermedia document tree, such as HTML or JSON-LD. Loupe is also responsible for marshalling specific aspects of the representation like labels and processing expectations. The goal of Loupe is enough expressivity to describe how to turn a patch of RDF graph into a webpage with basic semantic markup, including lists, tables, and images.

SWeT

It is rather remarkable that in there is still no standard Web templating language—oh wait, no, there is: It's called XSLT. It's been a reliable, standard part of Web browsers for . It's also slated for demolition.

SWeT—Standard Web Templates—is an attempt to revive it. XSLT got almost everything right: a declarative language focused on transforming whole document trees rather than stitching together fragments of markup. The goal of SWeT is to address the handful of concerns that kept XSLT off the table for the bulk of Web developers:

Media

The Semantic REST Lectures

Semantic REST is the technique behind the Wholeness Stack: crossing the acuity and precision of Fielding with the vision of Berners-Lee, with Nelson, Engelbart, and Alexander supporting. It's available as training seminars for your team, and soon an on-demand lecture series, to get you designing whole systems of your own.

The Nature of Software

The Nature of Software is a serialized book: it's an attempt to apply the methodology of structure-preserving transformations, that the architect Christopher Alexander advanced for buildings, to the craft of software development. It is the philosophical text that concentrates and underpins everything else in the stack.