Conversation

Replying to
Even more strangely, I whip up quick command line scripts and graphs all the time, in the course of my normal research. Why is building apps so much harder?
1
5
We have a weird theory that a ton of the essential complexity in building apps comes from *managing state*. The user does something: what needs to change? My quick command line scripts are stateless, so of course they're easy to build/test/modify.
1
11
It turns out that people have spent 50 years building systems that specialize in managing state: they're called databases! So that was our question: what would it feel like to try to build an iTunes clone as a database query?
1
7
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 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
Show replies