6 ms·
> Apps may come and go, but files stay—at least, as long as our apps think in files. yes: https://www.swyx.io/data-outlasts-code-but https://www.swyx.io/data-o
by swyx 9mo ago
> Apps may come and go, but files stay—at least, as long as our apps think in files.
yes: https://www.swyx.io/data-outlasts-code-but https://www.swyx.io/data-outlasts-code-but
all lasting work is done in files/data (can be parsed permissionlessly, still useful if partially corrupted), but economic incentives keep pushing us to keep things in code (brittle, dies basically when one of maintainer|buildtools|hardware substrate dies).
when standards emerge (forcing code to accept/emit data) that is worth so much to a civilization. a developer ecosystem tipping the incentive scales such that companies like the Googl/Msft/OpenAI/Anthropics of the world WANT to contribute/participate in data standards rather than keep things proprietary is one of the most powerful levers we as a developer community collectively hold.
(At the same time we shoudl also watch out for companies extending/embracing/extinguishing standards... although honestly outside of Chrome I struggle to think of a truly successful example)
- danabramov 9mo agoNice to see you :) I didn't know the "indirection" law, that's funny.
- zahlman 9mo agoIndeed. My first reaction was: > Files are the source of truth—the apps would reflect whatever’s in your folder. Now that the "app" is a web site that supports itself with advertising revenue, it has no incentive whatsoever to work this way.
- danabramov 9mo agoI think it's on open social apps to show that they're actually meaningfully better products, and that is possible because they're open. With luck, this may lead to an ecosystem where it's worth staying compatible and interoperable, and where users scoff if someone is trying to break it, and where users have an easy way to walk away. I know this sounds super idealistic but this did essentially happen with open source over a long time. At some point, people were just as skeptical of open source as we might be about open social.
- zahlman 9mo agoI do really appreciate your vision, FWIW. (It also seems very compatible with my ideas about software complexity and dependencies etc.)
- danabramov 9mo agoTo be clear, the vision is not mine, I'm just describing how AT works. Kudos to the team who designed it.
- isodev 9mo ago> meaningfully better products That are yet to become monetised. It's all fun and games until Bluesky announced how users and developers will pay for all this and what happens with your "social file system" when you stop paying.
- danabramov 9mo agoI mean, I can literally already self-host my personal data if I want to. And there are also already forks of Bluesky (not just the client, but the server and the database) that can participate without fragmenting the network. It is not a perfect system but it's so far from where you are when you just rely on a closed app.
- isodev 9mo agoThat's great, but also Mastodon is just there and has been for quite some time. I see no added value in Bluesky/ATProto beyond the layer of that "social as a service" which looks like a walled garden / app store of sorts in the making. I may be wrong, of course...
- danabramov 9mo agoMastodon isn't doing anything similar! Mastodon is just a bunch of isolated copies of the same app talking to each other. There is no notion of a shared identity, each server's admin is effectively a king over your account, etc. It's a fragmented patchwork of isolated sites that forward messages. With AT, there is just one global network. Like the web. You don't post "to" someone's isolated copy of an app. You post to your own folder, and every interested app can aggregate your post. It's a bit like email vs RSS. Very different shapes. To give you a concrete example to ground it. Blacksky is a fork of Bluesky. They're setting up their own server with different moderation policies and are unbanning some people that Bluesky has banned (https://bsky.app/profile/rude1.blacksky.team/post/3mcozwdhjos2b https://bsky.app/profile/rude1.blacksky.team/post/3mcozwdhjo...). However, Blacksky posts still exist in the same "world" as Bluesky--they are not an isolated fragment. Thanks to AT, Blacksky and Bluesky are just two different prisms through which you see a single network. Whereas with Mastodon, every app is its own network, with some limited message passing between them.
- mike_hearn 9mo agoThere was never any such incentive. MS Office formats were undocumented for years because MS had no incentive to document them. Merely using files did not help at all. Actually the vast majority of all file formats have never been open. Think about all the custom file formats used by video games, for instance.
- danabramov 9mo agoI actually talk about this in the article. Merely using files is how we got out of the dependency on MS Office. Multiple efforts reverse-engineered them, including Google Docs. Yes they were undocumented, but as long as stuff has to be stored on the disk under user’s control, the overall dynamics are very different from you-can’t-see-the-files systems.
- mike_hearn 9mo agoIs it really so different in the service context? You could also reverse engineer the HTTP endpoints and formats used by Word Online to export data from the service. It doesn't feel all that different, except perhaps that the online service can try to detect your custom tooling and block you, whereas with static data that isn't possible. But other than that admittedly real extra problem, the bulk of the work would still be understanding the undocumented protocols and feature semantics, then matching the feature set.
- danabramov 9mo agoHmm, Word Online isn't what the article is about. I'm not sure if you've read the article, but it is about social apps — like Tumblr, Reddit, HN itself, etc. I'm using file formats as a metaphor to explain how apps built on AT protocol work (lexicons are like "social file formats"), and what this way of building enables (interoperability between social apps by default).
- mike_hearn 9mo agoI did read it. I think myself and other people are getting tripped up by the title and the filesystem-oriented argument. The article opens with an icon of a .doc file, so it's natural to think about MS Word, which these days is a social app via its collaboration features.
- bigyabai 9mo agoI think that's an overly charitable take. Giving Google/MSFT/OpenAI/Anthropic what they want does not guarantee a return on dividends. Standards are nice, but Apple is a giant testament to the fact that all the standards in the world won't move an adequately entrenched business.
- isodev 9mo ago> At the same time we shoudl also watch out for companies extending/embracing/extinguishing standards Is ATProto actually a standard? But regardless, nothing prevents Bluesky from enschitifying. I’m somewhat concerned that the “file system” or the storage where all of our things are supposed to be stored is now suddenly in the cloud. We actually have a real file system … it backs itself up on iPhone even. It feels like the entire pitch is based on some FOMO factor “oh but my posts” - do people really care that much about their short form outbursts? I mean the whole point of twitter was to post and forget but maybe not for everybody.
- danabramov 9mo agoIt’s a long road but the plan is to standardize AT. See https://docs.bsky.app/blog/taking-at-to-ietf https://docs.bsky.app/blog/taking-at-to-ietf for ongoing first steps. >I’m somewhat concerned that the “file system” or the storage where all of our things are supposed to be stored is now suddenly in the cloud. We actually have a real file system … it backs itself up on iPhone even. I don’t know how this is related to what my article talks about. The data we’re taking about is already public and in the cloud, it’s just locked into specific app’s databases. The point isn’t about some single specific app, but about creating an ecosystem where the things you create (StackOverflow posts, Reddit discussions, Instagram follows, Letterboxd recipes) are not tied to the fate of that particular app and the whims of its creators. Then, if a service shuts down or turns to shit, developers can compete without solving the cold start problem. You just need to make a better app for same data, not convince everyone to recreate everything on your app.
- immibis 9mo agoIsn't this the design idea behind ATProto?
- danabramov 9mo agoYes, which is what my article is about :)
- willtemperley 9mo ago> a developer ecosystem tipping the incentive scales such that companies like the Googl/Msft/OpenAI/Anthropics of the world WANT to contribute/participate I think Apache Arrow has achieved exactly that [1]. It's also very file-friendly, in that Arrow IPC files are self describing, zero-copy, and capable of representing almost any data structure. [1] https://insights.linuxfoundation.org/project/apache-arrow/contributors?timeRange=past365days&start=2025-01-19&end=2026-01-19 https://insights.linuxfoundation.org/project/apache-arrow/co...