# 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