Thread by T. M. Basile Genève 🌺
- Tweet
- Jul 2, 2022
- #Internet
Thread
1/ "What is something you believe that very few in magic internet money circles agree with you on?"
1. operating systems are utterly critical
2. operating systems are much more than tooling
3. operating systems have insane product market fit
Web2 past & present illustrate...👇🏻
1. operating systems are utterly critical
2. operating systems are much more than tooling
3. operating systems have insane product market fit
Web2 past & present illustrate...👇🏻
2/ let's start in the present, because I find people aren't aware of this:
in the current web, devops+cloud are an operating system. Full stop.
Huge amounts of money and developer time go into orchestrating massive cloud deployments. In comparison, actual programs are small.
in the current web, devops+cloud are an operating system. Full stop.
Huge amounts of money and developer time go into orchestrating massive cloud deployments. In comparison, actual programs are small.
3/ An immediate consequence of this is that your pet programming language just isn't very important.
You can write based Haskell of the 3rd astral plane, and it's gonna get run in a Docker container next to hundreds of other little scripts.
You can write based Haskell of the 3rd astral plane, and it's gonna get run in a Docker container next to hundreds of other little scripts.
4/ the real operating system is the scripts and cloud orchestration tools gluing it all together.
This makes sense: web2 is about putting millions of users onto one company's logical server, in order to make handling those users tractable.
This makes sense: web2 is about putting millions of users onto one company's logical server, in order to make handling those users tractable.
5/ This isn't a bad thing!
It's way better than the web3 approach of "decentralizing" by ditching an OS altogether, and ending up with a broken patchwork of cruft.
"Tooling" is just a massive coap layered on top of this fundamental problem.
It's way better than the web3 approach of "decentralizing" by ditching an OS altogether, and ending up with a broken patchwork of cruft.
"Tooling" is just a massive coap layered on top of this fundamental problem.
6/ (Don't get smug, Bitcoiners; your approach is worse, since it doesn't even have a smart contract chain to act as a defacto coordinating DB. Every compelling Bitcoin use case I've seen would need either a massive web2 infra or something like Urbit to be compelling.)
7/ Of course, there are lots of dissatisfactions with the web2 approach.
My main gripe is that it's not extensible: you have to wait for the company to add functionality you want.
This brings me to my point about the product-market fit for OSs, which is huge...
My main gripe is that it's not extensible: you have to wait for the company to add functionality you want.
This brings me to my point about the product-market fit for OSs, which is huge...
8/ That PMF isn't hypothetical: 10-15 years ago, the largest web2 platforms were all about it.
Remember ~2009, when Facebook was totally open as an API that you could build arbitrary apps on?
That's an operating system! It's unifying social graph and auth and networking.
Remember ~2009, when Facebook was totally open as an API that you could build arbitrary apps on?
That's an operating system! It's unifying social graph and auth and networking.
9/ And it was insanely popular with developers. It's somewhat memory-holed now on Google, but a ton of companies were built on this.
The products were often annoying and low-value (Mafia Wars, Farmville), but users did want them...
The products were often annoying and low-value (Mafia Wars, Farmville), but users did want them...
10/ ...I'd argue that the low quality was mostly a function of
1. it was early, and possibilities hadn't been fully mined
2. the underlying OS (Facebook) was still fairly limited in capabilities
1. it was early, and possibilities hadn't been fully mined
2. the underlying OS (Facebook) was still fairly limited in capabilities
11/ and Facebook wasn't the only one!
Twitter was being treated explicitly as a protocol and proto-OS by YCombinator, as seen in this Request for Startups from the time:
Twitter was being treated explicitly as a protocol and proto-OS by YCombinator, as seen in this Request for Startups from the time:
12/ Obviously this was all subsequently squashed, circa 2012.
Notably, it was *not* squashed due to lack of developer or user demand, but rather ad monetisation imperatives.
Notably, it was *not* squashed due to lack of developer or user demand, but rather ad monetisation imperatives.
13/ Viewed in this light, it's the opposite problem that crypto has: the platforms were in-demand and ok, but monetization was hard.
Crypto has shown tons of ways to monetize user demand, with much smaller userbases. The platforms, however, suck donkey balls (technical term).
Crypto has shown tons of ways to monetize user demand, with much smaller userbases. The platforms, however, suck donkey balls (technical term).
14/ Let's bring this back to my initial 3 points, in the context of web3 today:
1. operating systems are utterly critical
2. operating systems are much more than tooling
3. operating systems have insane product market fit
1. operating systems are utterly critical
2. operating systems are much more than tooling
3. operating systems have insane product market fit
(Intermission: taking a nap. I don't like to pre-write threads.)
15/ ok that was a long nap.
So, if operating systems are critical and have strong product-market fit (ie devs and users really like them), where are operating systems going to come from in "web3"?
So, if operating systems are critical and have strong product-market fit (ie devs and users really like them), where are operating systems going to come from in "web3"?
16/ (by "web3", I mean any application that interacts with blockchain state in a load-bearing manner)
Up until now, the web3 approach has been either
1. tools tools tools frameworks frameworks frameworks
2. Linux
Up until now, the web3 approach has been either
1. tools tools tools frameworks frameworks frameworks
2. Linux
17/ Tools and frameworks (hereafter "tools") is the approach where you try to compensate for the lack of an OS by gluing dozens of parts together, and trying to incrementally improve each of those parts.
People are already realizing the difficulty that this will cause for devX..
People are already realizing the difficulty that this will cause for devX..
18/ ...hence the recent proliferation of ideas like "middleware thesis", or "DAO tooling". People can sense that they need *something* to tie all this shit together.
In the absence of clear thinking on operating systems and a historical perspective, tooling sounds appealing.
In the absence of clear thinking on operating systems and a historical perspective, tooling sounds appealing.
19/ However, in reality, web3 breaks down as:
1. Huge economic value captured with simple on-chain (Uniswap, Aave)
2. Slightly more complex and taped together and barely getting by (most DAO and multisig stuff)
3. Web2 with a blockchain integration (Opensea)
1. Huge economic value captured with simple on-chain (Uniswap, Aave)
2. Slightly more complex and taped together and barely getting by (most DAO and multisig stuff)
3. Web2 with a blockchain integration (Opensea)
20/ What does it look like when you're running up against the limits of not having an OS to program to?
That.
That.
21/ A quick note on using Linux as the OS, the approach taken by a lot of Bitcoin-adjacent "run your own node" projects:
It's a dead end. Users, and even devs, are not willing to do heavy Linux configuration.
It's a dead end. Users, and even devs, are not willing to do heavy Linux configuration.
22/ So, recapping.
People need operating systems.
People like operating systems.
People use operating systems.
Web3 does not have operating systems.
People need operating systems.
People like operating systems.
People use operating systems.
Web3 does not have operating systems.
23/ I'm not going to hide my Urbit bias, so I'll just say upfront that I think that is the way forward.
However, I'm also realistic.
However, I'm also realistic.
24/ There are 2 non-Urbit paths to getting web3 OS functionality that I see:
1. Copy Urbit
2. Based Web2
I wrote about both options extensively here, where I justify why my rollup project uses Urbit:
uqbar-network.gitbook.io/docs/uqbar-clearpaper/uqbar-clearpaper/why-urbit
1. Copy Urbit
2. Based Web2
I wrote about both options extensively here, where I justify why my rollup project uses Urbit:
uqbar-network.gitbook.io/docs/uqbar-clearpaper/uqbar-clearpaper/why-urbit
25/ It's clear what "copy Urbit" means.
"Based Web2" would mean a company acquiring or building large network effects, and then doing something like 2009 FB/Twitter APIs with full crypto integration.
Neither approach exists today, and both would be years out.
But I'm watching.
"Based Web2" would mean a company acquiring or building large network effects, and then doing something like 2009 FB/Twitter APIs with full crypto integration.
Neither approach exists today, and both would be years out.
But I'm watching.
26/ I am interested in and willing to engage with/examine any project that is *seriously* trying to build an operating system.
But it's time to actually get serious about it.
More "tools" or Linux config ain't it.
Fin.
But it's time to actually get serious about it.
More "tools" or Linux config ain't it.
Fin.
postscript/
@BichulR and I will go into these themes more in our new recurring podcast, "web_0". Dropping soon.
@BichulR and I will go into these themes more in our new recurring podcast, "web_0". Dropping soon.