Discussion about this post

User's avatar
Guyren Howe's avatar

Frest https://frest.substack.com/ is relational at its core.

To build a chat app, you would define the type that represents a chat entry, and users would insert their messages into it. You might give each user a partially-applied view of the table that had already filled in their id. Knowing only that address, they can only assert values into the chat through that.

If you wanted more of an “app” than just the standard FileMaker like interface, you could override the UI for the chat type, generating custom chrome values containing the functions you wanted available in the UI.

Expand full comment
Federico Pereiro's avatar

Hi Duncan! Federico here, from TODIS/cell. Happy to have been included in this list!

I responded to the C to F converter in the Future of Coding Slack :), given the lengthy response I won't repeat it here. But I think we can agree that some sort of reactive system that on the update of one temperature, updates the other, is necessary at any rate.

Concerning your other questions:

> Does the “single dataspace” (presumably spanning internet domains) have globally-unique IDs pointing to instances of your data structures, or do you have paths that start with domain names like HTTP? How does the “single dataspace” cross domains, in other words?

I would leverage as much as possible what already exists: HTTP and DNS. I would make it as easy as possible for each person to own one node (one server, really) and send receive HTTP traffic with serialized calls.

HTTP calls, within cell, could be "polling" or auto-updated through a websockets signal, so that if they read data from another node, they get updated.

> And does this work in a decentralised way?

I think my goal here is to make it as easy as possible for everyone to have their own node. Either on a VM or dedicated server in the cloud that they own/rent, their own computer (with the drawback of intermittent connectivity) or provided as a service by myself (which would run on dedicated servers). I'm interested more in an open protocol and way of doing things, and tackling the distributed ownership of machines later.

I'm also thinking (thanks to your stimulus with these questions) on having a server that acts only as a relay between two local computer nodes (say, two phones). The server is just a relay and only stores until the receiving node receives the data. The communication is encrypted end to end through public keys. That would keep the convenience of a server (minus the backup) but with much more decentralization.

> And will it propagate data updates?

Yes, ideally, as long as the references to external nodes are kept being polled or there's a push mechanism to notify of changes. What excites me is that the model of call and response works for any source of data (internal or external, under your control or not).

> Could the shape of data above the basic lists, hashes, etc. be standardised in a global schema for common types such as calendar event, contact, etc.?

I surely hope so. It's just a matter of structuring it decently and having a number of people using it. And even if they don't, if they're explicit enough, you might be able to convert it to your own structure on the fly, with a LLM. My hope is, that by setting these four base data types, and an unambigous and readable way to serialize it as text, it will be easy to build new "types" (or "schemas") on top of that.

Concerning your approach, it is great! What I don't resonate with is the lack of distinction between "what you control" and "what you don't". I can see everything as interconnected, but personal (or organizational) control over a part of the dataspace is important. I'm concerned about "deep linking" to someone else's dataspace, it reminds me of NAS (network attached storage) and gives me an unreliable vibe. I could be completely off, though.

I do however strongly resonate with the need to break the app paradigm into something more decentralized, while keeping its practical aspects. Also, the combination of the web and spreadsheets is killer and I'm betting on that full on.

Cheers!

Expand full comment
1 more comment...

No posts