Conversation

Replying to
This turns out to be really hard, for mostly technical reasons. We hit all kinds of weird problems just gluing SQLite to React, never mind something more ambitious. But it works! We built a music app (mostly, conceptually) as a pile of inter-related SQL queries!
1
6
This was one of those projects that produced more questions than answers. But we found some cool stuff that we wanted to share: - local databases are crazy fast!! - queries make debugging way easier - noun-based interop feels like living in the future
1
12
We're still in the early days of this project, but a really cool picture is starting to emerge. What if an entire app, from the event log to the pixels on the screen, is just one giant query?
A diagram of the layers of writing an app: processing the event log, materializing some base state, creating derived views of that state, and rendering to a UI tree. What if this could all be one big relational query?
2
17
Replying to
Just read through the paper, very interesting. How would you see this approaching fitting into a paradigm where a more complex application often relies on several backend microservices? Maybe replicate each of their DB's locally and query each separately?
1
2
Replying to
Yeah, that's exactly what we want to do. We're actually experimenting with this right now, since we want our music app to integrate with a few different services.
2
1
Replying to and
The basic idea is that every service that you want to integrate with exists "logically" on the local node, so it just reads/writes events to the local DB. This happens naturally for Riffle apps, but for non-Riffle apps (everything, for now...) you have to write an "adapter".
1
1
Replying to and
The high-level goal is to reduce the problem of complex service dependencies to the problem of cross-device sync, which we need to solve anyway. We've been writing another paper about the sync problem, Coming Soon(TM)!
1
1
Replying to
Yes exactly. Love the direction 😀 maybe you can even sync multiple remote db to a single local one… allowing single queries to join across them all (same power as graphQL)
1
1