Conversation

I'm excited to share the first public notes about the project that and I have been working on for the past 6 months! Building apps is too hard. We think that the solution involves *databases*. ... what?
9
162
This is probably my inner database engineer talking, but... when I look at most apps—Mail, Photos, iTunes—I see a pretty thin layer of well-chosen queries on a database. Despite that, building an actual app is hard. I'm a pretty decent programmer and it's too hard for me.
A screenshot of iTunes.
1
10
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
Replying to
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
On a personal note, I've enjoyed a tremendously productive collaboration with , , and Daniel Jackson. Especially when the world is falling apart 😢, I'm so glad to be working on this stuff with really talented, caring people.
2
11
Geoffrey and I owe very special thank you to co-author for being our intrepid "alpha tester". 🙏 If you've never used a framework that isn't ready yet... you don't know his pain. 🙃 Thanks for putting up with our constantly evolving, often-broken code!
1
7