Software should be shapeable

You know exactly what the software you use every day is missing.

You should be able to modify it so it works better.

Your software shouldn't live in a distant silo that's out of reach.

To get it out of the silo, you could build it yourself from scratch.

But that requires coordinating countless systems, when all you want is to change what's already right in front of you.

What if the software was a plain web document?

One HTML file can contain an application's interface, behavior, content, and current state.

It also contains the controls for changing itself.

The interface is not a picture of the software, it is the software.

Change an expense in a spreadsheet and the element's value changes.

Drag a project to a new section and the element moves.

Reshape the interface and the artifact itself is reshaped.

When you want to change what's right in front of you, you shouldn't have to contend with dozens of systems.

Full-stack software works for heavy workloads, but not for light, malleable software.

Browsers turn HTML into a live tree of elements called the DOM.

Most web apps treat the DOM tree as a temporary picture of state stored somewhere else.

We treat it as the truth.

Saving means turning the live document back into HTML.

On a host that supports it, the save process duplicates the live document, removes editor-only controls from the copy, and saves the clean HTML as the next version.

The page in front of you stays open, with all your editor controls.

This is file-based software with a minimal, open-standard backend.

We call it a malleable HTML file.

It's a native HTML file.

Without a compatible host, a malleable HTML file still opens and runs as a normal HTML file.

The file is the full application. The host behind it supplies permission, persistence, and recovery.

Authorized changes persist and you can share the modified document.

Software that truly prioritizes the user doesn't separate them from their software.

It gives them control over the full experience and lets them shape it wherever and whenever they want.

It's more powerful than the data or UI alone.

The interface you shape travels with its data.

Because the software is self-contained, it ships with its full source code.

Malleable HTML files make it easier than ever to make and collaborate on great software.

“HyperCard for the modern age.”

Jordan Reger, early user

“I really like what you've done and the way you've described it.”

Jeremy Ruston, creator of TiddlyWiki

Play the whole game at claygoo.com →