# Substrates Vision Statement by Jonathan Edwards
## Metadata
- Author: [[Jonathan Edwards]]
- Full Title: Substrates Vision Statement
- Category: #articles
- URL: https://alarmingdevelopment.org/?p=1842
## Highlights added July 26, 2025 at 1:44 PM
Substrates have been built upon PLs (Smalltalk/LISP) and UIs (the browser). How about building upon a DB instead? ([View Highlight](https://read.readwise.io/read/01jwewgqdw6henb8byxp10nc2m))
UI for navigating the substrate: inspector windows, outline, zoomable canvas, etc. ([View Highlight](https://read.readwise.io/read/01jwewg7dxkt3byawakzffx6cv))
Modes of collaboration: multiplayer, git, and beyond. ([View Highlight](https://read.readwise.io/read/01jwewfzyd2fcv49yjtdk0s180))
Interoperating with the mainstream: calling/serving HTTP APIs, reading/writing standard file formats. ([View Highlight](https://read.readwise.io/read/01jwewh4xyty9b4wzc109deeg7))
What is the role of LLMs? Will they obsolete the need for substrates? ([View Highlight](https://read.readwise.io/read/01jwewh73t56dgxfghfzrp1pj1))
What is a “killer app” that justifies substrates? ([View Highlight](https://read.readwise.io/read/01jwewhe22314a2wykec2e468w))
My target users are the beginners and non-technical people that embraced HyperCard, and the “power-users” of spreadsheet fame, but who need more power and generality. ([View Highlight](https://read.readwise.io/read/01jwewmba0dfmva5rtvktwwh24))
Who isn’t the user? I am not targeting users like myself, nor current professional programmers. I do not want to build a “tool for thought” for intellectuals. I would rather build a “tool for getting stuff done” by ordinary people. ([View Highlight](https://read.readwise.io/read/01jwewmpspdmqf4qm145qnh7ys))
Focus on data first. Users care more about data than code. ([View Highlight](https://read.readwise.io/read/01jwewmvyyxsed77rjdhfvep95))
an edit calculus formalizes the interaction between a user and a stateful system, where edits are operations mutating the state. ([View Highlight](https://read.readwise.io/read/01jwewpka8d9kxvjegc201qkws))
I formalize this with a set of edit operations that are surfaced in the UI to capture the intention of a type change and accordingly migrate instances. ([View Highlight](https://read.readwise.io/read/01jwewqz6neryqsxjp4zktdxq2))
Provide a feature-complete GUI. ([View Highlight](https://read.readwise.io/read/01jwewra8gkaa3ys3mpdnn64ba))
I need an executable specification language for the migration rules. ([View Highlight](https://read.readwise.io/read/01jwewsp6rvtaajp1dn56h0mdq))
- Note: send to Michel Dejong. discuss with local _ first