Welcome back to the local first FM podcast.
We're currently on holiday break, but we've prepared a special episode for you,
which was recorded as a Twitter space conversation between Gordon Brander,
Peter Van Hardenberg, and Jess Martin.
This conversation explores the ideas and trade offs of apps versus files.
I hope you like it.
All right.
I guess we're going to get started here pretty soon.
So my thinking on this would feel something like we've all been at a
conference and we've heard an interesting talk, maybe enlightening talk even,
where the person shared like five minutes of thoughts, but not even like
a full, they didn't fully elaborate on everything they wanted to say.
And the two of us said, Hey, you want to go sit down at a conference
table and talk through this?
Cause I feel like there's some interesting stuff here.
And I have thoughts on it, and I would like to work them out, out loud.
So that's kind of my framing.
I love that.
We are all, I think, building in one way or another, around this problem as well.
Is that right, Jess?
Yeah, more or less.
Yeah.
Do you want to maybe, like, recap what the motivating question was?
Absolutely.
the reason this is called File, Symbol, App, File over App is, Kepano from
Obsidian posted a little, I guess a Twitter post that also he has, I
guess there is a link on his website to a fuller article about this.
And it's a philosophy that, Kepano holds.
And then the tool called Obsidian, also embodies this philosophy.
And, I'm not gonna go into the whole thing now.
I'm gonna kind of assume that most people are, can like, go and read the, the post,
and kind of get his thoughts, more fully.
But I, the basic idea is that the tools that we use should store that data.
In a way that we own the data, and he calls that files, and
that we, and that the data lives beyond the application itself.
So once we've, like, even if the app goes away, we've still got the file,
and that file gives us some ability to, continue interacting with that
data that we've spent such a hard time, or had such a long time creating.
That's the, that was the impetus.
And I think the reason that I wanted to chat about it and reached out to
Gordon and Peter reached out as well, is because I mostly agree with what
Kepano is saying, and yet there are some subtleties at which I, I think
that probably we would, if Kepano was here, that we would, we would part ways.
So I'm curious to kind of work out where the subtleties are and
then talk about, you know, some real systems that embody this.
Well, let me, let me make the opposing case because I think it's important
to have both perspectives here, which is files got their asses kicked.
Right?
Like, you want to email people your Google Docs?
That, that's the case here?
Oh, I get it.
I get it.
Yeah.
You don't want to be able to share a link to a thing.
You want to have to send it and then choose a file name for it and get it back.
And then, something, something, merging, something, question mark?
Make a small change, change the name of the file, send it back,
final Underscore, final, March
7th, 24th, final, final, as submitted, dot, doc, dot, you
know, word, x, dot, whatever.
so I mean, files got beat because they're worse.
What people want is places, not things.
And so, okay, now I'm going to, I'm going to undermine my argument,
but like the desirable properties of a Google doc are that a Google
doc is a place, not a thing, right?
So when you join a Google doc, you are given a key.
To a place where you can go and collaborate.
Now, everything that's wrong with Google docs also falls out of this, I think.
But like, what's great about a file is also what's bad about a file.
What's great about a file is that it's a thing that you have, you can't take it
away from somebody else who has it, but also they can't take it away from you.
Right.
They have a copy.
They can edit it privately.
Right.
They can share it themselves.
They can decide what they want to do with it.
But like, there are lots of power dynamics as well in terms of
like, places versus things, right.
Which is like, if you've given someone a thing, it's hard to get it back.
But if you let someone into a place, you retain perimeter control.
You can choose who's let in, in the future, if they're allowed back.
Right.
And while there's sort of a fiction about like actually retaining control over
data, like You know, I can screenshot it.
I can copy paste it.
I can exfiltrate any number of ways.
You know, that's like an extra step I have to take versus if I email
you a PDF, you've just got it.
So I think like, that's the, that's the beauty of the place is that it
gives people, it gives the person who creates the data a lot more agency
over its destiny, and it gives you a natural collaboration point,
you know, kind of by definition.
Yeah.
And I think, I know that Gordon was.
Wanting to talk about collaboration as well as like a natural place where files
kind of fall down But I think one of the things that you're mentioning here One
of the things that I think is included in the file over app that isn't mentioned
explicitly is the file system, right?
It's the it's the container for the file of like where does that file live?
What is the place at which it actually lives because it does have a place.
It's just not a Internet accessible place via URL.
and I think that is, that's actually part of Kipano's argument is that
the place where the file lives is a better place than the cloud.
He's saying the file lives on a local file system on a device that you
control, like a hard drive that is yours.
And that makes it.
in some place, in some sense is a special place or a better
place than some of the cloud.
And that's what you were mentioning as well, Peter, that like the cloud places
enable, certain things, file system shaped spaces, places enable certain things.
Like, how can we get the best of both of those worlds?
Oh, well, that's a different thing, right?
You're claiming like, also, this is a little bit of a category error, right?
Like you're arguing, Like Apple over refrigerator.
Oh, between file and app?
You're talking about Kepano or the argument that I just made?
Well, just the, the sort of framing of the discussion, right?
Like, there are plenty of apps that work on files.
Right?
It's, it's not The problem here is, Like, apps do not imply the death of files.
But there is a culture and a community set of values and certain
sets of expectations, right?
Like, are we talking about mobile apps or web apps?
You know, there, this is a, like a, I think there's a, there's a lot of
articulation points potentially here.
For sure.
And I think the only point that I was making to try and simplify
that, that first point is just where does the thing live is whether the,
whether the file or the app, is the file living on my local device?
Is it living in the cloud?
how do I get to it?
Do I have to have a network connection to get to it?
Can I get to it, locally without a network connection?
I think those are all wrapped into Kipano's thinking about
the philosophy of File Over App.
Yeah, I guess, Kipano and, and all of us are kind of, you know, thinking through
this problem from different perspectives.
I think he's making a pretty strong rhetorical point.
I guess I, I prefer to look at this in terms of design goals and
kind of the qualities of different materials that you can work with
rather than what's good or what's bad.
Though I am personally, I'm very drawn to capturing my notes in files myself.
You know, I've got 10 years worth of notes, you know, in a folder that syncs,
and I've used plenty of SaaS tools over the years, some of which have gone out
of business and I've lost those thoughts.
So when I think about, you know, why files, why, why is
Kapano interested in files?
you know, there's some areas that I resonate with and I, you know,
I think files, to your point, they live in a place that you control.
the file system is a sort of user on substrate.
It's old.
It was designed in, you know, the sixties and seventies and didn't
anticipate a lot of the things that we ended up doing with networks.
It has a lot of problems around security and conflicts and many
other things that we can get into.
But I guess the one thing it does do.
That the web tends not to do and many apps tend not to do is it does
leave you in control of that content.
And that's kind of interesting because it means often you can
open that data in multiple apps.
no one can
tell you no.
That the opening in multiple apps was the other side of this thing that
I think is like, not actually true.
Except in a few very narrow cases, which are the ones that
programmers live in, but that much of the rest of the world does not.
Well, you know, much of the rest of the world doesn't live on desktop
machines with file systems anymore.
I think, again, it's just, it's not about it is or it isn't.
It's about, there are different jobs that people are solving.
I think, you know, there are actually a number of things
that open up in multiple apps.
They tend to have strong power laws.
Like there's only a handful that end up.
working out in this way, but I think that it's better when you have this
sort of user owned substrate where those use cases can emerge, permissionlessly.
Well, the thing is,
like, I'm reflecting on like the file format wars of the nineties, right.
And like the EU legislation to try and like force Microsoft to open,
you know, the office suites file formats to other participants.
And, you know, I don't think that was terribly successful, but, you
know, that, that this is, um, just because you have the file doesn't mean
that you really own it in a sense.
Like there are certain properties of it that are quite desirable.
And I think this longevity is, is really remarkable and a really
excellent point to bring up, but yeah, there's a tension here between like,
open file does not imply openness.
Sure, though that can emerge retroactively.
Like we saw that happen with PSD and with, you know, the doc format.
Like PDFs were proprietary, right?
Like they I was going to say PDFs
the same way.
So the thing that lets that emerge is that, that substrate
that belongs to the user.
If it was up to the app, if it was up to Photoshop, they would say, no,
a competitor can't open up our file.
but they don't get to make that choice.
I can open it up and, you know, Affinity Designer or in.
some sort of other app.
And we saw the same thing happen around image formats, around
video formats, around 3d formats.
They tend to be things that are pretty low level and have like very broad
expressive power so that there's a wide range of jobs to be done.
That people want to, to do with them.
I also think there's like a Lindy effect around these things.
They consolidate around a few, like text, plain text has a lot of problems,
but I fully expect it's going to be here in, you know, 10 years, 20 years,
maybe even a hundred years, define it in whatever way you like, but I,
I suspect whatever way you define it, it's going to last longer than, you
know, the, the Notion API, like notion.
com.
Oh, certainly.
Yeah, yeah.
Yeah, I guess I'm just pointing out plain text.
It's, I often think of it as a fixed point, but.
You know, if you look back at, the history of plain text, right, we go
from like ASCII encoding and having to, you know, I don't know if you
were ever opened up like, fileid.
diz from like Eastern European countries, which had different ASCII encodings than
your, you know, Windows computer did, back in the like late eighties, early
nineties, but you get these sort of,
Yeah, plain text across Windows and Mac had, different file endings.
That's right, yeah.
You would hand a text file back and forth, and it would, you
wouldn't have line breaks where you expected them to be, or you'd have
additional line break characters.
Control M symbols, yeah.
no, that's, I thought, there was, there was a couple areas, like,
I think, Gordon made the point that Kapano's making a really
interesting rhetorical argument here.
I love that he picks a fight here, and that he has a very, it's
a really nice mantra, but he's definitely cheating a little bit.
He cheats files as if they don't have an encoding, like, as if, like,
plain text is some given thing, but plain text is an encoding.
that we had to, like, as you come to adopt it widely enough that there are a
large set of readers for that file format.
And I think that when you get beyond, I think whether it's
programmer usage or not, it's when you get beyond the document format.
That's when things start to get, this argument is more
difficult to, not as clear.
because, you know, I, like canvases, for example, are everywhere now.
And there's no single file format for exporting the contents of a canvas,
whether it's Muse export or tldraw has the tldr file, all of these things, they're
not compatible with one another, it feels like the early days of text files,
like BDH was just mentioning, where you've got a bunch of different formats.
And the weird part about saying file over app is that you still
need a reader for the file.
Like you have to have some code somewhere that reads that file.
And so it saying files are better than apps or files or
should be preferred over apps.
It's like, well, a file without an app is literally useless.
Like you have to have an app to, manipulate that file in some way.
Can you define what you mean?
Like the word app is, is carrying a lot of water here.
Can you, can you unpack that word a bit?
Sure.
I think when I simplify file over app, I think what he's saying is data over logic.
Okay.
In other words, the, the data or data over behavior, the data stored at rest in some
way that you can carry it into the future, own it, copy it from device to device,
that's his idea for files, I believe.
and he's making that, I think he's making, And then for app, he's saying,
he's basically, I feel like collapsing, apps into databases, basically, of
like databases that you don't own.
you can't take your individual records from that database and,
and do something with them.
They're stored in this, mash of things.
at least that's why I understood it is like data over the application logic.
The term we use at Ink & Switch is tools, not apps.
Can you expand on that a little bit?
the concept is that an app in its sort of cultural construction, though
not necessarily in its technical requirements, generally implies that,
you know, it holds the data inside it.
I think mobile apps and web apps both have different kind of habits here, right?
Like, For the most part, a mobile app is a hermetically sealed box.
Nothing gets in or out of it.
You can't open your Apple Notes in Dropbox or, you know, Notepad
or, you know, anything else.
That's not necessarily true, but it is practically, culturally the case.
And so the idea is that tools operate on some kind of material, right?
And so Obsidian has strong tool culture.
Right?
Like one of the interesting things with Obsidian and reflecting on
Gordon's comments is just that like Markdown and like plain, Obsidian
doesn't operate on plain text.
It operates on Markdown, but there's no such thing as Markdown.
There's like as many Markdowns as there are apps that use some grammar
of Markdown, but you get like a certain amount of interoperability
because it's like these really nice, graceful degradation patterns.
Yeah.
Markdown is like an escalator.
It can't break.
It can only become text.
Right.
So like, it's kind of an inspired choice from that perspective, but I think your,
your point is well taken like these formats, they tend to layer and it sort
of necessarily like interoperability is an ecological condition.
It's something that emerges over time.
You don't design it.
This is often, this, this is actually why for me, sort of permissionless
substrates, substrates that belong to the user where their data saved
seems important because it allows interoperability to emerge retroactively.
But in any case, like these things, they tend to emerge over time where,
you know, one person creates a format, another kind of app implements it.
it doesn't happen often, but when it does happen, it tends to be very valuable.
It's often oppositional though, isn't it?
It's often oppositional and often happens in layers.
Like I think that, you know, text is on top of, you know, bytes and
then markdown is on top of text.
And then we have like Obsidian layering their own sort of like bespoke
markup forms on top of markdown.
And, and these layers tend to move at different speeds with the lowest layers
kind of necessarily moving slower.
Like the part of the problem that's standardized and that people can
interoperate around is necessarily the part that has to move slowly.
Well markdown's not standardized, right?
Like it's that's an emergent Like cultural phenomenon.
It's de facto, right?
Like there's sort of flavors that people converge on, like GitHub flavored.
And you know, like all, all standards are sort of cultural
constructions at some level.
Yeah, you're right.
It's, it's not like standardized in like the W3C or IETF sense.
Or even in the Unix POSIX sense, right?
Like files are.
You know, these kinds of bytes and these kinds of orders, and
this is how you end a file.
But there, there are a couple of emerging standards, right?
We're at the, we're at the situation where there's multiple plain
text formats of Markdown, right?
There's Common Mark and different parsers that you can adopt that give you.
true, guarantees around the way that markdowns, but there's as
you said, there's no one Yeah,
this this actually seems important to me Like I think a lot of people think
about standards and interoperability as these sort of platonic forms that we
design in standards bodies And you know, while that's true that there are people
who craft that kind of material it's like Typically done in retrospect and
in real life cooperation usually happens in the sort of ad hoc or de facto way.
And when our systems aren't designed to support that, it's not a huge surprise
that, you know, interoperability doesn't emerge and then we can sort of
point and say, well, nobody wants to interoperate and it's like, well, yeah.
Cause the material doesn't support it.
Like, like there's a kind of chicken or the egg problem here.
Right.
I think both in your work and Jess's work and our work, right?
We're all exploring.
Different ways of exposing the substrate in more interoperable ways.
Yeah.
And it's not so much like locking the door open as like, right now, I think
like the political economy of choosing files over these other things, right?
Like if it's so much harder and worse for you as a developer to choose, Like a
file like thing over an API like thing.
You're probably going to pick the API like thing.
Indeed.
Some of this is like technical capability and some of it is cultural norms.
Yeah.
Like files are just the thing that's there.
And they're actually in many ways, an odd.
odd shaped thing for the problems we're trying to solve, but they're
just, uh, at least in the app store and on the web, there aren't really
good, viable alternatives yet.
Like in the browser, we're starting to get things like the file API and I, you know,
on, on iOS, we're starting to get like a little bit of a sort of file system.
So it was very charming when Apple excitedly announced
files like they'd invested in.
Yeah, totally.
Right.
But I, I, it's actually kind of telling that like, why, why is
it actually that we want this?
It seems like a lot of knowledge work that
needs to cross boundaries of multiple apps.
and this is just the only tool we currently have to do it.
Mostly because there haven't, I think, haven't been good
commercial incentives to build.
Right.
Interoperability layers that, that makes sense on the network, at least not
yet.
Well, you still need a data container, right?
Like it's one of the nice things that files make is like this, you know,
relatively, this thing that has boundaries that contains a certain amount of data
that you can then pass around via a whole bunch of different, units of
sharing.
Yeah, exactly.
So I, I'm actually curious.
So for people who are listening, who don't know, Peter's work, he's working
on a, CRDT, which is, basically a data structure you can think of it's called
Automerge and Automerge actually calls their, unit of, merging a document.
So.
Peter, do you guys think of documents, Automerge documents, as files in this
file like way we've been describing, or do you think of them in a different way?
The specific stated intention of Automerge is to invent the
new file system of computing.
Like, the CRDT thing is just like an implementation detail.
The problem is, We don't want places and we don't want things.
We need properties of both, right?
There's a wave particle duality here.
We don't want to give us the good things about files, things that we have,
things that we can hold, things we can maintain, things we can keep for as long
as we want that we can use in whatever way that we want, we can pop open the
hood and peer under the covers, right?
Like all that stuff is, is I think vital, but like, it's so apparent that the POSIX
metaphor of the 19th, literally 1970s.
Right.
The series of bytes, it assumes single access, right?
Like, God, the amount of my career I've spent trying to figure
out how to lock a file system.
There's so many, so many tricks that, that we use in like professional
contexts to cope with shared
mutable state, shared mutable state.
And the whole idea behind Automerge was to say like, look, what if you could.
Really think about this, really take your time, really sweat all the details, not
be in the rush that a startup's in, not, you know, spend years with Martin Klepman
proving the algorithm correctly, then spend years with, you know, Orion and
Alex Good getting the performance right.
And people are like, Oh, Automerge is this, Automerge is that, Automerge
is just getting started, right?
Like this is a, this is a 10 year project.
It's a 50 year project.
It's, it's a thing that you just keep working on until it works.
And I think at this point a lot of the pieces are in place and we're
starting to see that pay out and if anybody's following Ink and Switch's
patchwork project right now, right, like what we're seeing is like this
ability to do ad hoc, like new forms of real time and asynchronous version
control on top of this substrate because it has the right primitives.
And of course, this is a research project, so in the process of working on this we're
discovering the ways that the APIs are insufficient or where we need to add new
kinds of indexing to improve performance or, you know, all those other kinds of
things, but it's sort of like we, We've talked to so many people, you know, I
was talking to, someone over at Scratch the other day and they were saying like,
oh, I did this in my thesis, but like, it wasn't actually possible to build
because we didn't have the material.
Right.
And like a former collaborator, Blaine Cook, who was a coauthor on
the Upwelling paper we did last year, you know, he was saying like, it's so
amazing getting to work on this stuff.
He did a startup five years ago or something.
Where you tried to build, you know, text editing tools, but like
they didn't have the material.
And so it's about trying to figure out what the shape of that material is.
And you know, I, I hadn't brought it up before because I don't want this to
be about a particular like concept that I have or that we have about a single
technology, but it's about like really thinking about what the opportunities
are and the potential, but I think a lot about this question, right?
Like I don't want my computer to be a mall where I go in and I take
products out one at a time, you know, and bring them home and consume
them and put them in the trash.
I want my computer to feel like a wood shop where I have my stock of lumber and
I've got my tools and if I want to make something, sure it's going to require a
little more thinking and expertise, but I can make anything, I can do anything,
I can work with other people, right?
Like it's, it's a different kind of productivity.
Like a kitchen is very much the same thing as well, right?
We buy groceries, we buy staples, you know, and a handful of like basic
tools, cutting board, a heat source, a knife, you can do almost anything in
the kitchen with a few extra things.
You can do remarkable things.
Right.
And like, you know, we, we reject the idea of unit task devices.
Often we make fun of people who buy the one off gadgets for the
kitchen, but then we live in a world of these one off gadgets on our
devices, you know, on our computers.
I'm trying to think like, if, if we're gonna invent tools, we also need to
figure out what the stock material is.
And like Yeah.
Text files are cool 'cause they're old and, and like what's old is good.
Like I don't mean that in a dismissive way.
Like it, it is cool because, and it stood the test of time.
Exactly.
It's, and it will stand the test of time.
It'll still be here in 50 years if it was here in 50 years.
For 50 years SQLite is amazing too.
Simon Wilson's super inspiring.
They're working on, Like data set and these kinds of ideas where
it's like, yeah, like a database is a file like that's awesome.
Yeah
It's more or less written by actual monks as well It's it really does feel
like a kind of cathedral of technology.
That'll be here in a thousand years Yeah,
I think that's, I love that woodshop metaphor and it's often one that I
think about, it, it's so evocative because if you've worked in a woodshop
and you understand all the things that you're, the, the ways that
you're able to modify your shop and your tools in order to get work done.
And then you just put that same lens and look at your computer.
You realize how incredibly rigid, the computer is, even when you're a software
developer who has, an ideological commitment to using open source
software, where you have the source of every single application that you use.
The difficulty in modifying those applications to your own
custom specifications is, is astronomical compared to working
models and metaphors.
Mm
hmm.
Yeah, the new materials you're talking about.
It's great.
I was reading, uh, Brian Kernighan's biography.
it looks like the C programming language, but it's his, his self published thing.
Unix, a history and a memoir.
And, um, it's a funny book.
But there's some really great parts in it where he talks about sort of like the
invention of Unix pipelines and how it was sort of like somebody would ask how you
could do X with a computer, you know, or with this new pipes thing they'd built.
And then, you know, him or Richie or somebody would go off and, like,
write the next little piece, you know, sort or whatever, so that
they could answer that puzzle.
And I just love this sort of, like, they discovered the Lego bricks, they
you know, they built the shape and then they just filled in a few pieces and
then after a little while it was kind of like, yeah, all the major pieces
are there and that was good enough and they stuck you know, it's still
out there and you can still use it.
But it's not really the best way to do spellcheck anymore, you know?
Such a glorious vision though.
You know, I guess for me, like files are not the thing, but what they are,
at least for particular formats is like a kind of Lego dot and producing Lego
dots like this that allow you to compose things together, like Unix pipe is
another kind of Lego dot this strikes me as important in like a laws of physics.
Kind of way.
Like, one of my favorite books,W.
Brian Arthur's the nature of technology.
I always get it confused with Kevin Kelly's book, but the, the nature of
technology, he basically makes this, this very sort of, mathematically grounded
argument that innovation at its core is a combinatorial process and not just
like technological innovation, but, you know, evolution, language, art, like
these are about taking pieces, composing them together to produce something
new in a sort of recursive process.
And like early computing was all kind of like, I don't know if this was
intuitive or chance or what, but all of these early pioneers of computing
designed their systems in this way.
And we saw this kind of Cambrian explosion of really interesting
new things emerge very rapidly.
Like actually we've had mobile phones, for Longer than it took the browser to be
invented after the introduction of DOS.
So it's just like, like a lot happened in like a very short
amount of time in that first wave.
Right.
And that's part of me kind of wonders that if, We sort of reduced the
combinatoriality of technology to actually slow the rate of innovation.
not necessarily like there's someone scheming in a room, but sort of the
purpose of the system is what it does.
And like, like big money, but also kind of governments and people.
It's eternal September, right?
Yeah.
It's like
if
you have a bunch of silos and those silos do one thing, like on Instagram,
you post photos and on TikTok, you post short videos and on, like you, There is
no such thing as combining those into some new medium because they don't let you.
And so you kind of have these known quantities that you can regulate
and control and also extract 30 percent taxes on pretty efficiently.
So there's this kind of like striation that's happened of the space.
Some of this is probably inevitable, but I do kind of want to click the dial a couple
notches in the other direction, just by
nature.
I kind of think this is, the way you describe that is, to me, a lost cause.
Or maybe lost cause isn't actually the right term for it.
What I mean is that, actually, a television is great if you
want to watch Love is Blind.
Is everything necessarily a television?
No.
Well, this is, this is the point.
And so what I think though is like,
I don't think we should be trying to convince the mainstream systems
to change their minds or solve the problems we want to solve.
It's that we need to, you know, like a woodshop is not the right way to build
an IKEA, you know, assembly line, right?
Like, but we need the existence of this other kind of computing.
It is, it is not.
a replacement for, it is an alternative to, for the people
who want it and need it.
Yeah, we don't disagree.
Like there's always going to be Facebook, and there's always going to be like the
Big Bang Theory or whatever, but I would love for there also be like a world where
like there can be, you know, I don't know, independent films or hell, like,
uh, Dune II is like something that's, kind of in the air and kind of strikes, that
balance in a nice and interesting way.
It just feels like Like what we want is diversity.
We want like a technological ecosystem that can actually support
a plurality of, of different ends and not just like Walmart.
Yeah.
And well, and the political economy is the challenge here, right?
Which is that right now it costs so goddamn much to write a piece of software.
It's like completely untenable to build or operate software at all.
And I say this as somebody who has done quite a lot of it at all
scales, you know, in production.
It is just insane.
We think of software as an informational good, right?
Like that's sort of the like conceptual model.
Oh, it's just some bits on, you know, floating around, but it's not, it's
like a whole, like massive amount of extremely expensive infrastructure that's
operated by a, you know, a priesthood of like DevOps people who sacrifice
themselves to get up at three in the morning to figure out why the transaction
wraparound on the Postgres has happened again, you know, like it's hell.
It's crazy.
Yeah.
The strange economics of, software, I guess, support that
kind of, like, rising floor.
Because if you do have a hit, it tends to make a ton of money and
then all of that's a rounding error.
Yeah.
It's the
network
effects.
The complexity of software is determined by the economic value that
can be extracted from the software.
Yeah.
And that, that sort of sets the floor as well.
Right?
Like if you're, if you're making not thousands, but billions on a success,
then you can afford, you know,
Yeah.
To burn out a bunch of, software engineers and, you know, leave them
staggering around, their hometown, gazing bleary eyed into the morning light and
wondering where their life went wrong.
At the same time, like these economic incentives, they create individual
choices for like, individual developers.
And I think that's, I think that's where a lot of the slowdown has happened is
when you, there aren't, there weren't options if you were into computers in
the sixties to go make whatever the sixties equivalent of 450, 000 a year.
and kind of at a cushy job where they.
You know, bring food to your table and you can get up and take
foosball breaks whenever you want.
like the, the cruise ship mentality, I think, lures a lot of people away.
and I think it's really hard to kind of wake them up to the fact that
software doesn't have to be this way.
We might have to do a little work.
We might have to be a little uncomfortable for a little while.
You got
to make the right thing.
The easy thing.
That was the lesson we learned at Heroku.
If you make the right thing, the easy thing, people will do it.
All the, you know, all of the principles and ideals, like, yeah, there's a
certain amount of cultural affinity and there'll always be some, like, weirdos
and early adopters, but ultimately if you want to win the day, you have to
make the right thing the easy thing.
But you need some people doing that, making the right thing, the easy thing.
And I think that's what I'm talking about is like, I want to find that 2 percent
or 3 percent of the developer population who actually wants to do the work and
make the right thing, the easy thing.
and that, and for that, you need to talk to people.
You know, you need to have, these wonderful mantras that, Kepano and
that, um, Peter and, Gordon, you guys have honed over the years.
actually, Gordon, I, to turn the conversation a bit to your work,
because you are working on a, network tool, network thinking tool that
captures those thoughts in documents, files, one might say, and, You
have not chosen to use Markdown.
You've chosen, you've made some interesting technical choices.
So I'm curious how, when you, when you look at file over app, are you like,
yes, that, that aligns with my, The decisions that I'm making right now
for the tool that I'm building, or how are your thoughts different from kind
of what you've seen Kapano lay out?
Yeah, that's a good question.
I guess what we are building is a sort of notebook app called Subconscious
powered by this decentralized note graph protocol, and the protocol is multiplayer.
So the notion is like, what if you had your Roam graph or your Obsidian graph,
but it could sort of freely network with other graphs in this cloud of graphs.
But that cloud of graphs doesn't live on my server where I can sort of, you know,
extract a 30 percent text or whatever.
It exists on this decentralized network.
I actually, that's not quite right either.
The protocol is local-first.
so basically it syncs your slice of the graph, like your content plus the content
of people you follow onto your devices.
So you have your files.
and then this was clear,
right?
They're, they are actually files.
They're actually files.
If you
run orb on a, or what you guys used to call it, orb.
Yeah, it's called orb.
Yeah, no, it's called orb.
There's, so there's a couple of things, right?
There's the app, but there's also like a command line interface.
You can use if you're a developer, that's like git.
And, and actually it works a lot like git.
The whole thing uses kind of git like, versioning semantics.
the difference is that it syncs not just your code, Quote unquote
repository of notes, but also kind of the, those are the people you follow.
So you have your own little internet archive, I guess.
Right.
You like Git, uh, it's like Git sub modules or that's a terrible example,
but it's like, No, don't say
that.
That's mean.
It's not like that.
I promise.
It's, it's, it's all, it's much, much better than that.
It's all versioned together.
I mean, I, yeah, without getting deeply into the details, it's
all sort of versioned together.
This is part of, I guess, what's.
That's what's a little bit different from something like Git or why you can't
just use Git, but right, you know, I guess a lot of what we're doing, yeah,
at some point during your usage of this, you will end up with actual
files on your device, like, yeah, very different than most other systems that
we interact with right now, Obsidian being one of the ones that you do
end up with files on your device.
But that's a choice you guys made.
The files are, I guess you could say they're a lens over
the data on the protocol.
And, for me being able to get a live synced, instance of those files
on a device is sort of proof of, of what, what we call credible exit.
So this is like our minimal definition of what Sort of user ownership of data should
mean for our tools for the way we choose to build for it It's like you should be
able to take your stuff and leave or bring it into another app or whatever Now I
think Obsidian actually has credible exit as well And they do this through through
files, but I think they have some maybe tricky edge cases around multiplayer And
this is because, you know, f files, one of the shortcomings of files is they don't,
they're, they just don't do multiplayer really well on, on two axes, actually.
One is, most file formats are not designed to sort of freely merge updates
from a bunch of different sources, like Peter edits the file, I edit the file,
how do we resolve those conflicts?
The other sort of axis around which file systems are not really well designed
for multiplayer is around security.
so once you have multiple players, it's sort of an adversarial environment,
or you have to design for that anyway.
You have to predict
the emergence of an adversarial environment.
Yeah, because, you know, imagine you're reading and writing these files and
then you just connect this thing to the internet, what if 4chan suddenly
has write access to your hard drive?
Like that's the, that's the worst case that you need to the mistakes
Scuttlebutt had too, right?
Which is they did this like replicating friends of friends thing and then you
only had to compromise one person's friend graph and all of a sudden
you were, you know, you could sort of sneak someone into the graph and
then have everybody else back up your objectionable content for you.
Right, which is, and then this became a major problem because everything was
append only and everything was replicated and everything was encrypted and all of
a sudden you're downloading gigabytes of like terrible hate speech or other
kinds of nasty stuff because, you know, somebody made like a face account,
you know, infiltrated a community and then like, you know, linked in all
their like hateful people that they want to follow and now everybody else
is like stuck mirroring their content.
I guess, yeah, you know, again, this, this system of replicating
friends of friends content.
Is very easily gamed by an adversary.
Yeah, I guess it's important to kind of define your, Risk profile.
Yeah, yeah.
The threat model.
Yeah.
Like is your threat model that, like about replicating friends of friends content?
I like, I think, browsers for example, are even coping with this in a more
pedestrian, not a decentralized way, but like they're introducing the, the
file API, which actually will allow you to save files out from the browser in a
sort of, so you could go to photoshop.
com, edit a photo and that saves it out to your disk.
And this is something I worked on when I was at Chrome a
little bit, and it has a lot of.
Thorny issues.
Actually, most of the browsers only partially support it right now or
support, you know, certain parts of it because the way the web secures content
around domains is very different.
sort of comes in at an odd angle to the way file systems think about security.
And so anytime you have these two sort of security models budding up against
each other, you have this turbulence zone where all sorts of funny, scary things
can happen and you need to deal with that.
So this is actually, this is a pretty tricky problem.
You know, it's one that we've, taken a stab at for our use case.
but I think often you'll run into this dilemma that isn't immediately
obvious, but you can sort of, typically you can either have.
sort of files or, or, or data ownership or multiplayer.
but not both, unless you start picking apart some of the security problems
that the web has, you know, sort of left us with some of that security stack.
Gordon, when you say, unless you pick apart some of the security
problems, what I hear you saying is like, you have to solve for sort
of the identity slash network slash authentication authorization piece in
order to get files and collaboration.
Like it implies that there are multiple, you know, Writers that have different,
that are different, you know, and, and you have to somehow allow them to
communicate with one another, allow them to identify one another, and then
also, allow them to secure content, set up the rules for who can write
when, how, all of that kind of thing.
Is that?
Yeah, I think that's right.
I've personally become convinced of the, the value of and this is rather
low level stuff, but signing everything with a key that maps one to one to you.
And I think, you know Hold on, everything?
What does
everything mean?
Because this is a specific technical problem that we're, like, quite
deeply investigating right now.
Because, like, you sign every keystroke on a 200, 000, keystroke
essay, like the Embark essay.
And what you have is mostly signatures.
I like the way that you, you, you love mip mapping, don't you, Peter?
Like going one level more, granular with definitions.
Well, it's tough because like this is this, like you have to constantly
be moving up and down these hierarchies of abstraction when you're
working on these problems, right?
So like, you know, Newsphere is cool because, you know, you can operate
at this very coarse, chunky grain.
But when you say everything, this is why I'm asking, like, you
know, like, does this exclude that kind of lower real time thing?
Maybe this is a solvable technical problem.
Just curious what you think about that.
Well, and I suppose you might be able to sign at the
granularity you care about, right?
I guess what I mean is, the web anchors security to domains.
So the way the web thinks about security is, it's guaranteed by a domain.
if you want to start making attestations about, people or individuals or actors
on the network, then you start, maybe wanting to give those actors keys.
In some capacity.
And now I think there's, you know, sort of the cypherpunk view of it, which is
that these keys should be self sovereign.
And I, I sort of think that that's a possibility that a protocol
should allow for, but a lot of people are going to want to escrow
those keys or have them recovered.
It doesn't, a detail that users shouldn't have to care, care about most of the time.
Right.
And an important one too.
Yeah.
But, what signing with keys does is.
It allows for what a cryptographer called non repeatability.
Like you can basically say this person definitely signed this at this time,
or at least the person who had control of these keys, and if you keep those
keys secure, you can actually sort of compose, trust at pretty high levels
in pretty useful ways, mathematically.
So in any case, I think where the file system and the network tend to run up
against each other at odd angles is the, the internet or the web rather tends to
think about security in terms of origins and, of domains and actually apps by and
large adopted that security model as well, like, like iOS apps, Android apps, and the
file system tends to think of, Security in terms of who has access to the device.
And these, these two ways of thinking about security don't, don't mix
very well without some sort of trust boundary or sandbox boundary
that mediates that relationship.
Can you, can you talk more about this?
Cause this is, I've had many conversations with like browser heads
and like, I get the idea of an origin and let me see if I can say this in
a way that like a non browser head.
I mean, maybe I'm a browser person now, too, by, by fate, but like an
origin is basically like somebody owns the SSL cert for this DNS.
And so we're just going to trust everything within that domain
that's signed by that cert, period.
But we're, but we're going to prevent mixing of that data.
You know, unless it helps us sell ads with any data from any other origin period.
I mean, I'm a little bit snide when I say that, but it is a very real concern
and it is very empirically how ads work and, you know, however you feel about
that, that's just, it is the case.
That sounds like a pretty accurate description to me.
We're pretty far down the rabbit hole on this stuff.
Do we want to keep going?
Well, the reason why I think it's relevant to the files conversation where
we started and the apps conversation is that origin model is like so Like, many
people I meet who work on these kinds of problems They get really frustrated by
like cores and like same origin policies.
And the browser keeps ratcheting these tighter and tighter and tighter
over time, you know, yeah, exactly.
And so to me, this is actually a really fundamental problem.
Where it's like, well, but it's my computer.
I want to decide what I do with my data.
And then in the JavaScript console, it's like, browser says no.
Yeah, actually it's the, um, right.
But like the, the most secure web would be one where each website is hermetically
sealed and you can neither interact with it nor receive output from it.
Just little pocket universes.
So, I mean, there's a sort of like reductio ad absurdum to this, where
like we started with a pretty simple, it was like a reasonable solve right at
a time, especially in the early days of the web when they were like, I think
the mental model was that you might run a, a server out of a closet or perhaps
your school would run a server, like it was this very utopian kind of flat
Notion of what a network would be.
And so the server was assumed to be the agent of the, you know, let's say,
uh, Gordon's email would be like a computer that was like in my , my closet.
And so like, yeah.
Gordon com Right.
Was a, yeah.
And so if that, if that server is signing things, you know, you can sort of say,
Oh, well, Gordon signing things, but that's not really the world we ended
up with because of network effect, because of Facebook signs, everything.
Yeah.
Now.
Keys are tricky, like, because there are these funny little things
that you can't lose, just like in real life, or you'll be locked out.
Except there are no locksmiths.
There are no locksmiths, yeah, at least unless the NSA has its way, you know, but,
No, but I do, I do have some hope that we're going to see some, some interesting
kind of new calculus emerge around this problem with, the advent of like trusted
computing modules, like secure enclave, on the iPhone, or I forget what the Android
version is called, which makes me a bad former Googler, but you can sort of stash
keys on these secure pieces of hardware, and then you have a pretty, you know,
maybe your threat model is the NSA has your phone and is trying to crack into
it, but that's less the world I'm trying to solve for, and more the world of like.
It'd be kind of nice to know if,
this I think Bonsy Buddy is a, is a, is a really credible threat model, right?
Like, that's sort of the core threat model for, that browser
vendors think about, right?
Which is, you've got some, like, hostile agent on the user's computer.
They've installed a search, ostensibly a search toolbar,
or some kind of browser plugin.
Which is now like extracting their credit card information or their bitcoins
or just other private information.
So so why does this matter?
Well, so like this this origin security model inevitably results in silos
like by definition data silos Like the the silo is the website the the
whole security models that the data can't make it out of the website
And so you just sort of end up with,
Well, it does at the server, right?
That's, that's the funny thing.
The server.
That's right.
So they run an API so you can come in from other places there, but the
user can't do it for themselves.
Yeah.
and then this puts the server in a very privileged and powerful
position on the network because an API can, can cut you off.
so data that might be notionally yours, is in practice, it's not really.
I don't know.
If you want to try to solve for that problem in some capacity, like multiplayer
and some kind of data ownership or the ability to take your content with you.
I think there's only three ways to solve this.
one is with a decentralized protocol.
Without going too much deeper into it, the protocol also has to
have certain security qualities.
I think the other is actually with local-first data, and this is, Peter's
working on this problem of CRDTs.
The reason local-first data gets you this is because you know, a server might cut
you off, but it's like, screw you, buddy.
I already have my content, right?
It was already synced to my device.
No, but that's not true.
Like I wish, I appreciate the compliment implied there, but I think you still
require the first thing, right?
Cause like when you get the data, like this idea of local-first data,
if it's happening in your browser, it's still being written into an
indexed DB or an OPFS or whatever else that's owned by the origin, there is
the ability to write real files, but it sucks and doesn't really work.
And I see some folks here who have, like, built apps, like, no one is making a
user click, like, allow access to this folder every time they open an app.
Gosh, yeah.
Uh, so that's what the, that's like the file access API.
Yeah.
Right, like, so it is, it, all of that data is still trapped inside the origin.
Yeah, I'm sure that's true.
I, so, Peter, you were saying, I have, wait, I have a third, third point.
Yeah.
So, and actually I do want to say CRDTs are still important.
You're talking totally, totally, but it
doesn't solve the, it
doesn't solve
the origin thing.
And that's the part I don't have a good,
let me circle back to this.
I just want to throw out one time over coffee.
You told, you told me.
You don't need to care about which protocol you get the data from if
the file knows how to merge itself.
And I thought that that was a wonderful provocation to sort of like
argue in favor of the CRDT thing.
And, and all of these are satis satisficing, right?
Like a protocol, a CRDT, these are not going to give you perfect exit in any
case because, you know, in the worst case you might be shut out from the app.
That lets you use this stuff in a useful way.
But I do think they give you the ground conditions for things like
adversarial interoperability to emerge.
But the third thing, and the one that I think is underexplored, and I haven't
even thought through it fully, is, something like a legal contract that
guarantees the user access to their data along some axes, as long as a
service continues to be maintained.
You mean like a, like a
UCAN or like an actual, like.
Like TNC.
Like something like, so, and this is the thing, nothing like this exists today,
but there's no reason you couldn't write something like a EULA where
the valence goes the other direction.
Instead of the user signing away their rights, the user is granted
certain rights over their data.
Hey, I'll take that To my lawyer and yeah, no, actually I've been
thinking, I've been asking for
this.
I sent some, I sent some irony there, but if you're interested in, I was
thinking about actually going to a lawyer and see, like asking, is this crazy?
Cause like open source would have been crazy at one time, but you
know, it's interesting, right?
Like we actually can bend contract on some interesting directions to solve
using Social technology is things that are difficult to solve with, you
know, bits and, atoms technologies.
Right.
Well, the challenge here is not even, could you write a
contract that would do this?
The question is like, how would this affect your ability to fundraise?
Or what would happen when you told your VP of sales what you were doing?
Yeah, maybe so.
I think you run into a lot of these same problems when you say, Hey, we're going
to give users control over their data through a protocol or through a CRDT
anyway, so, you know, it's like in a lot of ways, like, this condition of things.
Not interoperating and users not owning their data, like, an investor might look
at that and say, that's a moat, right?
It is a moat.
Yeah.
I tend to think about this in like longer terms that, you know, it's like in some
ways, like Google doesn't have like a lock on search, like it keeps trying with
things like the open graph, but I, like, I think it's perfectly possible to build
a defensible business without data lock in, but it is, it's something you get for
free with the current software paradigm.
And so we're sort of stuck in this metastable state where extra work.
This is where I think things like your protocol or Automerge or other kinds
of similar projects have potential.
If you can crack the, like what you need is enough benefit from
participating in the ecosystem that allows you to get like a network style
returns from interoperation over time.
Yeah.
You need a low enough activation costs that you can bootstrap
the ecosystem around it.
That has to be enough value from adopting the technology to see that
kind of like a feedback on the returns.
And I think the other thing that we haven't talked about that, but that
is implicit in all of this is like the political economy of the software.
That is available to us is determined by like the market economy of the
labor market and the VC funding market and everything else.
And like, it's all well and good to like hand wave that away, but it is empirically
the case, you know, like information may want to be free, but my rent isn't.
I think I look at this as in like a kind of scrappy, maybe
like entrepreneurial way.
I'm looking for the cheap hat because I don't want to wait, abolish, wait
for the abolition of capitalism to improve software somewhat.
And I do think there are these kinds of judo moves, these interventions, like
CRDTs that can change the calculus.
Yeah, maybe I'm wrong, right?
and, and maybe you're wrong.
Maybe we're all wrong, but I, I don't think so.
I, I think that it requires great ingenuity and creativity to find
the strategic angle of intervention.
But yeah, you know, people do this all the time.
They do it, for, they, They apply strategy to find an entry into a market in order
to gain, because incumbents don't want new entrants in the market either.
And I think we have to put that hat on actually, if we're going
to, to change the, the balance of power, that users have.
How do you think about that with what you're
doing?
Oh, sorry, Jess.
No, it's okay.
I was going to mention, I think there's, so I, I love your three things, Gordon.
The, there's three ways you can solve the problem.
Like some decentralized protocol that, Or two, local, distributed local file
state, like distributed local state.
And then the third, sort of a legal contract.
And I think the one, Peter was pointing out that the market economics right now,
what is easy is also very profitable and therefore the label market and the funding
market were, it, it drives against the, any of these values and it supports sort
of the data modes that we were talking about before with the same origin policy.
And I think the biggest funding mechanism that I see, Peter's not going
to love this, that is alternative to VC right now, is there is a large lump
of money in the Web3 blockchain world.
And you do see some of those projects putting that to use
to try to solve this problem.
I see.
Famously anti capitalist distributed wealth system of
the cryptocurrency market.
Known for its transparency, honesty, and, Fair outcomes for all involved, yes.
You're not wrong, and also there's a lot of money there.
And so this is kind of like, it's basically the flip of
what you were just saying.
It's like we have to acknowledge the reality of the market economics.
Well, the reality of the market economics is that there is billions of dollars
in these decentralized protocols that are basically payment rails for
Distributing tokens and things like that.
And a lot of shady, crazy stuff is happening there for sure.
but they are, tell me about the
stuff that's not, cause I think that's interesting.
So here's the one that I wanted.
This is the reason I brought it up is I don't know if you guys have been
paying attention to the Farcaster protocol, but they're distributed
social media protocol and they have been iterating on this thing called
frames and frames are like a micro app.
Within a tweet, if you could embed.
And the, the interesting thing about it, they're opting for Gordon's
option one for distributing state and, access and, and all of that.
Yeah, they actually,
their, their protocol is not too different from BlueSky or even our own, Neosphere.
but it does make a couple of choices around key rotation that,
and they use a blockchain for this.
I could get into the why, if we want to later on.
Well, here's the more interesting thing.
Just today, they showed off, frames that allow for, money tra uh, sorry,
token transfers to happen inside of it.
So basically they built into their protocol, micropayments.
And the reason I think this is really interesting is because I think
one way out of this, the current.
uh, world that we're in with browsers and same origin policy and the sort
of, the dead end, but it's a happy dead end where the web is, is a, is
building a payment protocol into the, the primitives of the network itself,
such that people can renumerate each other directly, and You know
the web was meant to have this?
There's an HTTP code for payment, like pay per view.
It just never got, yeah, yeah, yeah, yeah, yeah.
This is like Tim Berners Lee just stuck it in there.
There's it's, it's along there with like, uh, what is the, there's
another code for I am a teapot.
Um, there's like these funny, like reserved codes for just in case that Tim
Berners Lee stuck in there and payment was one, uh, we just never got it.
Yeah.
I don't know.
I don't know what you're going to ask with regard to Web3.
I think the idea of like digital payments is not crazy on its face,
and it would be interesting to think about ways to do that with a protocol.
I think my stance with regard to Web3 is sure to piss literally everyone off
on both sides of this very kind of like divisive issue, which is that, uh, I
think that, I look at a blockchain as a really interesting technological
artifact that does solve some problems that are very difficult to solve in other
ways, but the number of people who want to solve those problems is small, and
nevertheless, they can be high value.
So these are things like key rotation, which Farcaster uses.
There's been this, there's always been a challenge with key rotation
where you need like a third party to, to basically handle that rotation.
And that third party is kind of like a point of failure if someone, co ops it,
but in any case, you know, I, here's where I'm going to piss everyone else
off, uh, on the crypto side is like.
I think all of the problems of crypto are not crypto problems.
They're, market problems.
And if you look at them point for point, like, you know, tulip mania,
wildcat banking, crazy token pump and dump, these are literally all things
that we had to go through with regard to, capitalism in general, markets
in general, for the last 200 years.
And then we accrued this enormous edifice of regulation.
Around markets in order to get them to function.
So my personal attitude toward this stuff, which probably a lot of people
are going to agree, disagree with for one ideological reason or another, it's like
markets are kind of like nuclear reactors.
They can generate a lot of interesting outcomes.
but they also have a tendency to melt down, without cooling rods.
And, and this is just kind of what I see happening with, with crypto.
And I think it'll continue to happen up until the point that it gets
some sort of enlightened regulation, which may never come because it
seems like nobody's actually invested in that outcome on either side.
so there's Gordon's unpopular take with regard to Web3.
So Web3 is speed running 200 years of financial market regulation.
Yeah, and, and actually,
especially To me, like, proof of stake blockchains are a really interesting
technology that solve, like, a interesting problem of, like, decentralized,
totally ordered, sort of, source of truth that's credibly neutral.
These terms all have to be qualified because, you know, they're all, all
of that is also kept afloat by, like, basically, The financial function
that a chain is supposed to serve.
but I think the product market fit that chains have found right now is
basically Vegas and, you know, crypto just recently skyrocketed back up again.
So I've come to the conclusion that Vegas is actually anti
fragile and you can't kill it.
but that's also something that is, Vegas is not personally my favorite place to be.
so.
If I engage with it, it's, it's, you know, kind of, with, with care and
with a little bit of self protection.
Yeah, I mean, I, I think Jess, has certain expectations about my
perspective on these things that are not entirely unfair, but I, I would
say I'm not anti crypto conceptually.
I'm just opposed to getting dragged into the kinds of communities that I've seen.
You know, I just, like the ideas are reasonable.
It's just, the outcomes seem.
Odious.
So I'm just like,
so many things when,
when there's like a healthy, high functioning, cryptocurrency for like
micropayments that isn't like a, like an insane pump and dump, a penny
stock, gambling, whatever, right?
Like, yeah, like, but that would be cool.
I, I always ask if anybody has one in mind and nobody does, but in the
meantime, I also think it's a little bit irrelevant cause like, Oh man, use PayPal.
Use, like there's lots of, use Square Cash.
Like there's, use a freaking credit card.
Like there's, payment is, is, yeah, there's more friction
than, than you'd like.
But like Stripe is pretty good.
There's alternatives and Wraparate.
Like these are hard problems, but they're so much less hard than they used to be.
And they're, you know, Apple Pay is pretty great.
Like, you know, like we don't need to invent a whole new
financial economy to do payments.
But I do think broadly, like we've got a little bit off
track here, which is like files.
Well, no, it's files over apps.
And I think again, like we have to ask why, why are things the way they are?
And so things are the way they are because you can make a living
building software that way.
You can get investment from other people to build software.
And if you can't get investments and you can't make a living, then you're
not going to have the ability to attract, attract top talent, right.
To bring in the investment it takes to build a team in advance of revenue.
Right.
And like the problem with crypto money is that it always ends up being predicated on
like the promise of crypto style returns in sort of the, you know, idealized case.
And so what you see is like ecosystems aligning around trying
to generate one of those crypto pops, because that's the expectation
that comes with the investment.
And I think, I don't want to call anybody out.
I'll just say that there have been very interesting and promising
projects that have over time had to realign themselves to generating
crypto Interest style returns.
And that, that, that has very frequently been to the detriment of their mission.
Right.
Yeah.
Token pumping tends to be an unstoppable force.
Yeah.
And getting that doom loop.
Yeah.
And I wasn't necessarily bringing up web three to say that that was
the solution, but I do think the acknowledging there, there's two things
that I think are interesting here.
One, how do you fund the.
The research into making, making easy what we want, what we believe to be the future.
and one of those funding sources that is non VC is a pool of cash that is Web3 that
has all sorts of other challenges with it.
Right, but look at what's happened there, right?
Like, like really specifically look at what's happened there.
Well, I do actually, I want to take Jess's, perspective on this for a minute.
Cause I, I sort of gave my, you know, like very boring, ambivalent take on it.
But like, I think actually there, if you, if I remove my moral valence,
like there are a lot of things that seem crazy on their face, that generate
unexpected outcomes and like, I see a lot of money getting dumped into
things like ZK proofs, which is a general purpose cryptographic technology
that has nothing to do with chains.
Work has been mostly funded by, blockchain maxis.
I see interesting work on elliptic curves.
you know, like, uh, like Zuko Wilcox's work on elliptic curves,
that's being done around this.
they use IPFS.
IPFS ecosystem has this new kind of, I guess you could think of it as like
a zip format for blocks that, you can stream in and it's all sort of like
signed in the way that you can sort of streaming, uh, stream this stuff in
and, and cryptographically verify the blocks as they come in is it's using
this elliptic curve technology that was, you know, it's ultimately developed by
Zuko Wilcox for ZK stuff, uh, Zcash, I
believe.
And, uh, UCANs, from the Fission team are another great example.
I think they've taken, you know, a lot of research funding
from those kinds of sources.
I think that's good stuff.
Yeah, I think
we're also, we're seeing like Farcaster and BlueSky and Nostr and various sort
of stabs at decentralized, protocols that actually don't really have a
crypto component, but I think are benefiting greatly from the mental
models developed by crypto researchers, cryptographic researchers, as well
as, Cryptocurrency researcher.
So I think, you know, it's, it's like, there's this quote I really
like from this, evolutionary biologist who says, containment can lead to
contagion, and a degree of isolation is of, great, Importance in sort
of new forms of being a false.
So it's like the island ecology thing Like if something's off to the side
and it's under a set of different selection pressures You could be like
those selection pressures are perverse.
They're terrible.
Maybe they are but you're gonna get some weird and interesting critters
that emerge out of that primordial soup for good or ill, right?
Like I definitely think we're seeing some things emerge out of the crypto
landscape that wouldn't emerge out of the incentives of like the web 2.
0 aggregator kind of landscape.
Well,
we're, we're about a little over an hour and let me see if I can try to
land the plane here and kind of recap the conversation we've had so far.
So we kind of jumped in with this files over apps and kind of talking about each,
some of our different work around this.
And then, there was a lot of history discussion around sort of how
did we get to the current system where apps could even be used in
a sentence like file over app.
and what does that, what does that mean for where we are today?
And then I think the, the most recent exploration has been
how do we get somewhere else?
How do we get to a place where files to open, to echo Peter's opening
comment, where files didn't get their butts kicked and where we can actually
rely on some of the file like goodness that we get, where we can get this,
a combination of files and places.
And, Yeah, there's been some really great work, that, Gordon and Peter and
certainly, I've been trying to chip in as well on, moving us in this direction.
Really appreciate Obsidian and Kapano for kind of, being a
working piece of software that embodies these concepts as well.
we've talked a lot about, local-first software as well.
that's another term.
If you're not familiar with it, you should definitely look for the original
article from Ink and Switch that defined the term local-first software.
And if you want to kind of hear more conversations like these,
there's a podcast by Johannes, which I noticed is sitting in
the audience, called localfirst.
fm.
And that'll kind of take you on the journey of, local-first and which
really does, not 100 percent overlap with the file over app, philosophy,
but there's a lot of overlap there.
And there's a lot of technology that's being developed that can
hopefully get us from where we are.
And sort of this current ecological conditions to a new place.
but Gordon or Peter, do you guys have any closing comments before we
wrap up?
I do, I do, which is, I liked Peter's put that we need to make
the right thing, the easy thing.
I think it's actually extraordinarily difficult right now to build an app
that, puts the user in control of their data in any meaningful sense.
Almost literally, no matter how you define user ownership of data.
And, you know, the work Peter's doing in CRDTs, and I think the many decentralized
protocol projects, including our own, are all attempts at trying to lower the floor
so that more people can, can build apps that actually do put users in control.
I think that's, that's necessary.
cause otherwise it's going to continue to be prohibitively
expensive to make that a reality.
Yep, absolutely.
Absolutely.
Peter, anything to wrap us up?
I don't think we have an answer yet.
Like, I don't mean us here, though, also that.
But, like, I think that, there's a lot more work to do and a lot more to say.
And, you know, I have plenty of like pet theories and, and ideas as I'm sure
everybody here on this call, does, but I think, I've tried not to, I've tried
not to fall into solutioneering in this conversation because I think it's, it's
easy to get, jump into the why don't we just, kind of mode, but I think that
like a good, clear understanding of the opportunity, the challenge and the
benefits and like a, uh, Like I just feel like very often people sort of
lament the way things are, but I think Gordon's approach to kind of analyzing
the, not just the technical landscape, but like the political and cultural
landscape as well is part of why I so enjoy these conversations that we have.
And I really, thank you, Jess, for, for allowing me to
jump in and be a part of it.
Likewise.
It was great.
But yeah, I'm, I'm, I'm very, uh, Excited to see folks like yourself, you know,
like actively engaging kind of one rung closer to sort of market forces.
And, you know, I don't think there's a wrong thing to try.
Like if you're doing things, I wouldn't, I'm doing things you wouldn't.
I think that's great.
I'm not here to be a bigot for an approach or a technology.
I'll speak my mind and tell you what I think.
And if your thing works, I will celebrate, you know, that's, I hope that we all
have that mindset of like, You know, it's not about arguing for ideological
purity or like the one true solution.
I think it's just we got to get out there and try and make things that work
for people and then See what people say when they try them and then keep, keep
going, keep iterating, keep trying again.
So if you're sitting and listening to this, I don't
know how many people are here.
There's a bunch of people wandered in.
yeah, like go, go make things, I guess.
Or try some of the things that we've made and complain about
the ways they don't work for you.
That's, that's honestly, that's honestly a pretty good, pretty good contribution too.
Such a gift.
All right, guys.
Well, thanks.
And, yeah, look forward to the next time I get to chat with both of you.
I see it, Jess.
Take
care, y'all.
Oh, Hey.
And if anybody out there wants to see, I think you're going to the
local-first conf in person, right?
Yes.
I will.
Yeah.
I'm going to be there.
Gordon, are you coming?
I'm so sad to miss it.
Yeah, I will not.
Yeah.
I think it's going to be glorious though.
It's, it's going to undoubtedly be an interesting cross section of people.
I feel like this is a, an idea that's just breaking into
sort of broader consciousness.
and the people who have been investing in it for a long time,
I'm sure are all sure to be there.
And it's, it sounds like it's going to be a real party.
Yeah.
local-first conf I mean, not everybody will be there, but hey, that's the idea.
local-first conf, it's in Berlin, end of May.
yeah, you should look it up.
Berlin is amazing too.
That should be like excuse enough.
Oh my goodness.
What a place.
Alright.
See you guys.
Bye.