A Social Filesystem

(overreacted.io)

102 points | by icy 11 hours ago

13 comments

  • motoxpro 1 minute ago
    I've always thought walled gardens are the effect of consumer preferences, not the cause.

    The effect of the internet (everything open to everyone) was to create smaller pockets around a specific idea or culture. Just like you have group chats with different people, thats what IG and Snap are. Segmentation all the way down.

    I am so happy that my IG posts arent available on my HN or that my IG posts arent being easily cross posted to a service I dont want to use like truth social.

    I think I don't really understand the benefit of data portability in the situation. It feels like in crypto when people said I want to use my Pokemon in game item in Counterstrike (or any game) like, how and why would that even be valuable without the context? Same with a Snap post on HN.

  • jrm4 43 minutes ago
    The more I read and consider Bluesky and this protocol, the more pointless -- and perhaps DANGEROUS -- I find the idea.

    It really feels like no one is addressing the elephant in the room of; okay, someone who makes something like this is interested in "decentralized" or otherwise bottom-up ish levels of control.

    Good goal. But then, when you build something like this, you're actually helping build a perfect decentralized surveillance record.

    This why I say that most of Mastodon's limitations and bugs in this regard (by leaving everything to the "servers") are actually features. The ability to forget and delete et al is actually important, and this makes that HARDER.

    I'm just kind of like, JUST DO MASTODONS MODEL, like email. It's better and the kinks are more well thought about and/or solved.

    • skybrian 0 minutes ago
      [delayed]
    • bee_rider 25 minutes ago
      This seems like tensions between normal/practical and “opsec” style privacy thinking… Really, we can never be sure anything that gets posted on the internet won’t be captured by somebody outside our control. So, if we want to be full paranoid, we should act like it will be.

      But practically lots of people have spent a long time posting their opinions carelessly on the internet. Just protected by the fact that nobody really has (or had) space to back up every post or time to look at them too carefully. The former has probably not been the case for a long time (hard drives are cheap), and the latter is possibly not true anymore in the LLM era.

      To some extent maybe we should be acting like everything is being put into a perfect distributed record. Then, the fact that one actually exists should serve as a good reminder of how we ought to think of our communications, right?

      • jrv 17 minutes ago
        Exactly. Anything that's ever been public on the internet is never really gone anyways, and it's unsafe to assume so. This is similar to publishing a website or a blog post. Plus, from a practical (non-opsec) point of view, you can delete items (posts, likes, reposts, etc.) on ATProto, and those items will disappear from whatever ATProto app you are using - usually even live. You need to dive into the protocol layer to still see deleted items.
    • danabramov 20 minutes ago
      Author here. I think it's fair to say that AT protocol's model is "everyone is a scraper", including first party. Which has both bad and good. I share your concern here. For myself, I like the clarity of "treat everything you post as scraped" over "maybe someone is scraping but maybe not" security by obscurity. I also like that there is a way for me to at least guarantee that if I intentionally make something public, it doesn't get captured by the container I posted it into.
    • case0x 24 minutes ago
      >helping build a perfect decentralized surveillance record

      a record of what? Posts I wish to share with the public anyway?

    • mozzius 22 minutes ago
      This is a line of thinking that just supposes we shouldn’t post things on the internet at all. Which, sure, is probably the right move if you’re that concerned about OPSEC, but just because ActivityPub has a flakier model doesn’t mean it isn’t being watched
    • iameli 25 minutes ago
      what if I want to publish something publicly on the internet though
      • dameis 16 minutes ago
        wild concept!
    • plagiarist 37 minutes ago
      Shouldn't the ability to forget and delete content that was ever public on the internet be considered fictional anyway?
  • skybrian 1 hour ago
    This article goes into a lot of detail, more than is really needed to get the point across. Much of that could have been moved to an appendix? But it's a great metaphor. Someone should write a user-friendly file browser for PDS's so you can see it for yourself.

    I'll add that, like a web server that's just serving up static files, a Bluesky PDS is a public filesystem. Furthermore it's designed to be replicated, like a Git repo. Replicating the data is an inherent part of how Bluesky works. Replication is out of your control. On the bright side, it's an automatic backup.

    So, much like with a public git repo, you should be comfortable with the fact that anything you put there is public and will get indexed. Random people could find it in a search. Inevitably, AI will train on it. I believe you can delete stuff from your own PDS but it's effectively on your permanent record. That's just part of the deal.

    So, try not to put anything there that you'll regret. The best you could do is pick an alias not associated with your real name and try to use good opsec, but that's perilous.

    • danabramov 18 minutes ago
      My goal with writing is generally to move things out of my head in the shape that they existed in my head. If it's useful but too long, I trust other people to pick what they find valuable, riff on it, and so on.

      >Someone should write a user-friendly file browser for PDS's so you can see it for yourself.

      You can skip to the end of the article where I do a few demos: https://overreacted.io/a-social-filesystem/#up-in-the-atmosp.... I suggest a file manager there:

      >Open https://pdsls.dev. [...] It’s really like an old school file manager, except for the social stuff.

      And yes, the paradigm is essentially "everyone is a scraper".

      • skybrian 6 minutes ago
        Thanks! I saved a link to pdsls. I think there's room for improvement in making the UI user-friendly; maybe I'll try it someday.
        • danabramov 4 minutes ago
          The devs are responsive to feedback if you mention @pdsls.dev on Bluesky! I often point out small issues and they get fixed the next day.
    • seridescent 45 minutes ago
      > Someone should write a user-friendly file browser for PDS's so you can see it for yourself.

      https://pdsls.dev/ can serve this purpose IMO :) it's a pretty neat app, open source, and is totally client-side

      edit: whoops, pdsls is already mentioned at the end of the article

    • DustinBrett 56 minutes ago
      I think that is the general style of overreacted.io posts.
  • clnhlzmn 52 minutes ago
    Seems similar to remoteStorage [0]. What happened to that anyway?

    [0]: https://remotestorage.io/

  • nonethewiser 13 minutes ago
    But how do you get people to actually want this? This stuff is pretty niche even within tech.
  • Jonovono 1 hour ago
    I can’t remember how many times I’ve read an article and enjoyed it so much and then looked and saw it was written by Dan ;) always a pleasure !
  • geokon 1 hour ago
    This was a nice intro to AT (though I feel it could have been a bit shorter)

    The whole things seems a bit over engineered with poor separation of concerns.

    It feels like it'd be smarter to flatten the design and embed everything in the Records. And then other layers can be built on top of that

    Making every record includes the author's public-key (or signature?). Anything you need to point at you'd either just give its hash, or hash + author-public-key. This way you completely eliminate this goofy filesystem hierarchy. Everything else is embed it in the Record.

    Lexicons/Collections are just a field in the Record. Reverse looking up the hash to find what it is, also a separate problem.

    • danabramov 15 minutes ago
      I'm not sure I understand your proposal. Do you taking my example (a Twitter post) and showing how it would be stored in your system?
    • evbogue 1 hour ago
      Yes. SSB and ANProto do this. We actually can simply link to a hash of a pubkey+signature which opens to a timestamped hashlink to a record. Everything is a hash lookup this way and thus all nodes can store data.
  • noelwelsh 1 hour ago
    This, Local-first Software [1], the Humane Web Manifesto [2], etc. make me optimistic that we're moving away from the era of "you are the product" dystopian enshittification to a more user-centric world. Here's hoping.

    [1]: https://www.inkandswitch.com/essay/local-first/

    [2]: https://humanewebmanifesto.com/

    • pegasus 18 minutes ago
      Indeed. And we can get inspired and involved in bringing about that better world.
  • elbci 9 hours ago
    agree! Social-media contributions as files on your system: owned by you, served to the app. Like .svg specifications allows editing in inkscape or illustrator a post on my computer would be portable on mastodon or bluesky or a fully distributed p2p network.
  • metabagel 1 hour ago
    How does this relate to the SOLID project?

    https://solidproject.org/

    • danabramov 10 minutes ago
      I'd say some of the worldview is shared but the architecture and ethos is very different. Some major differences:

      - AT tries to solve aggregation of public data first. I.e. it has to be able to express modern social media. Bluesky is a proof that it would work in production. AFAIK, Solid doesn't try to solve aggregation, and is focused on private data first. (AT plans private data support but not now.)

      - AT embraces "apps describe on their own formats" (Lexicons). Solid uses RDF which is a very different model. My impression is RDF may be more powerful but is a lot more abstract. Lexicon is more or less like *.d.ts for JSON.

  • sneak 1 hour ago
    Losing private keys is much more common than losing domains.
    • danabramov 9 minutes ago
      Yes, which is why by default, key management is done by your hosting. You log into your host with login/password or whatever mechanism your host supports.

      Adding your own emergency rotational key in case your hosting goes rogue is supported, but is a separate thing and not required for normal usage. I'd like this to be more ergonomical though.

  • catapart 2 hours ago
    yeah yeah yeah, everyone get on the AT protocol, so that the bluesky org can quickly get all of these filthy users off of their own servers (which costs money) while still maintaining the original, largest, and currently only portal to actually publish the content (which makes money[0]). let them profit from a technical "innovation" that is 6 levels of indirection to mimic activity pub.

    if they were decent people, that would be one thing. but if they're going to be poisoned with the same faux-libertarian horseshit that strangled twitter, I don't see any value in supporting their protocol. there's always another protocol.

    but assuming I was willing to play ball and support this protocol, they STILL haven't solved the actual problem that no one else is solving either: your data exists somewhere else. until there's a server that I can bring home and plug in with setup I can do using my TV's remote, you're not going to be able to move most people to "private" data storage. you're just going to change which massive organization is exploiting them.

    I know, I know: hardware is a bitch and the type of device I'm even pitching seems like a costly boondoggle. but that's the business, and if you're not addressing it, you're not fomenting real change; you're patting yourself on the back for pretending we can algorithm ourselves out of late-stage capitalism.

    [0] *potentially/eventually

    • danabramov 6 minutes ago
      >that the bluesky org can quickly get all of these filthy users off of their own servers (which costs money)

      That's not correct, actually hosting user data is cheap. Most users' repos are tiny. Bluesky doesn't save anything by having someone move to their own PDS.

      What's expensive is stuff like video processing and large scale aggregation. Which has to be done regardless of where the user is hosting their data.

    • lou1306 2 hours ago
      > until there's a server that I can bring home and plug in with setup I can do using my TV's remote, you're not going to be able to move most people to "private" data storage

      Quite some BSky users are publishing on their own PDS (Personal Data Server) right now. They have been for a while. There are already projects that automate moving or backign up your PDS data from BSky, like https://pdsmoover.com/

  • ninkendo 1 hour ago
    > When great thinkers think about problems, they start to see patterns. They look at the problem of people sending each other word-processor files, and then they look at the problem of people sending each other spreadsheets, and they realize that there’s a general pattern: sending files. That’s one level of abstraction already. Then they go up one more level: people send files, but web browsers also “send” requests for web pages. And when you think about it, calling a method on an object is like sending a message to an object! It’s the same thing again! Those are all sending operations, so our clever thinker invents a new, higher, broader abstraction called messaging, but now it’s getting really vague and nobody really knows what they’re talking about any more.

    https://www.joelonsoftware.com/2001/04/21/dont-let-architect...