[HN Gopher] Open Social
       ___________________________________________________________________
        
       Open Social
        
       Author : knowtheory
       Score  : 895 points
       Date   : 2025-09-26 16:01 UTC (1 days ago)
        
 (HTM) web link (overreacted.io)
 (TXT) w3m dump (overreacted.io)
        
       | jrm4 wrote:
       | This is _such_ an important idea -- and yet I feel like the
       | hyper-individualized  "bluesky" implementation pictured is a less
       | good practical idea than Mastodons more "server/host" way of
       | doing things.
       | 
       | I get that theoretically the two should be similar or even
       | identical in practice, but I feel like the way Bluesky goes so
       | hard at "literally individuals maintain control over their own
       | stuff" is kinda too hard for most, and that Mastodon's "just
       | trust the server" way, which ABSOLUTELY has it's own problems, of
       | course -- is still better, mostly because we have better practice
       | in this style, in the form of good ol email.
        
         | micromacrofoot wrote:
         | They should be interoperable... I should be able to take my
         | account from bluesky and host it on any other pub server
         | 
         | The server shouldn't need to be specific to mastodon/bluesky
         | networks either
         | 
         | Ghost (the blogging platform) is kind of a peek into this --
         | you can host your microblogging account there and interact with
         | other activity pub networks like mastodon
         | 
         | this is the promise of the activitypub standard, anyone that
         | uses the standard can interact with anyone else using the
         | standard...
        
         | danabramov wrote:
         | I've tried to lightly allude to Mastodon here:
         | 
         |  _> Social aggregation features like notifications, feeds, and
         | search are non-negotiable in modern social products._
         | 
         | Conceptually, Mastodon is a bunch of copies of the same webapp
         | emailing each other. There is no realtime global aggregation
         | across the network so it can only offer a fragmented user
         | experience. While some people might like it, it can't directly
         | compete with closed social products because it doesn't have a
         | full view of the network like they do.
         | 
         | The goal of atproto is enable real competition with closed
         | social products for a broader set of products (e.g. Tangled is
         | like GitHub on atproto, Leaflet is like Medium on atproto, and
         | so on). Because it enables global aggregation, _every_ atproto
         | app has a consistent state of the world. There 's no notion of
         | "being on a different instance" and only seeing half the
         | replies, or half the like counts, or other fragmentation
         | artifacts as you have in Mastodon.
         | 
         | I don't think they're really comparable in scope, ambition, or
         | performance characteristics.
        
           | jrm4 wrote:
           | Yeah, the goals of atproto are REALLY GOOD ones. The only
           | thing I'm skeptical of is the extent to which "centralized
           | state of the world" really needs to be a core of the
           | _protocol_ -- and does that sort of thing introduce the same
           | kind of centralization that makes it vulnerable to
           | enshittification?
           | 
           | My gut is that IT DOES. Put differently, there's presently
           | nothing about TECH of the Mastodon model that prevents
           | building tools that achieve similar "centralized everything"
           | goals on top of Mastodon; only, you know, people and trust,
           | the easiest part </sarcasm>.
           | 
           | Mastodon's probably the best long-term model and it's email
           | that makes me think that.
        
         | jpereira wrote:
         | In my view the atproto approach asks the users to make fewer
         | required complex decisions, but gives them the freedom to make
         | many voluntary ones. If someone wants to use a particular
         | application, they basically just need to sign in. If they don't
         | have an existing ATProto account, they can just make one, in
         | the flow of the application they're signing into. Later they
         | can chose different clients, or different infrastructure, or
         | move their account, to their own hosting even if they want.
         | 
         | Mastodon requires a complex decision upfront, which server do I
         | trust, which is analogous to where you create your account on
         | ATProto, but unlike ATProto, doesn't give the tools to
         | seamlessly transition later.
         | 
         | The trust lens I think is a good one. You want to let different
         | users make different tradeoffs in effort without having that
         | leading to a worse experience..
        
           | jrm4 wrote:
           | I mean, this might depend on who your intended audience is?
           | As perhaps pie-in-the-sky my desire is, I'd like to see one
           | of these things _replace twitter_ (as opposed to smaller
           | communities.)
           | 
           | And it seems to me that the more frictionless model is the
           | one that looks like something people are used to; just "sign
           | up with a thing."
           | 
           | That does leave the interconnection to the servers and
           | others, but that may be how it has to be?
        
             | iameli wrote:
             | Bluesky is incredibly just "sign up with a thing." Except
             | even easier, because you don't have to pick an instance
             | first.
        
               | jrm4 wrote:
               | "Sign up with a thing" -- but then what about _after_
               | that? You 've made a bunch of stuff, what happens to it?
               | 
               | Offloading THAT mentally to a different "service" or
               | "account" I think is easier than this all-in-one thing.
               | 
               | Again, I like the IDEA a lot; if you'd presented it to me
               | like in 2000 before a lot of this stuff took off I would
               | have been all about it.
               | 
               | Today? No, I think it's reasonable to offload that to so-
               | and-so-dot-com, each as a separate account. Like the
               | phrase "I have a facebook" always sounds weird to ME, but
               | I think that's "the way."
        
       | mcny wrote:
       | Now here is a controversial question... Can we have a free of
       | cost top level domain? What are the actual costs associated with
       | registering a domain? If let's encrypt can provide secure
       | certificates free of cost, why can't a different no profit
       | provide domains free of cost as well? It doesn't have to be
       | pretty. It could be a UUID v7 stacked on top of another UUID v7
       | for all I care but it would be globally unique and available free
       | of cost.
       | 
       | And once you go to the site, your browser will remember it anyway
       | so you don't need to type the monstrosity.
       | 
       | Or is it a really bad idea(tm)?
        
         | ramon156 wrote:
         | I might not be fully understanding the idea, but the difference
         | here is that a let's encrypt certificate can be generated on
         | the fly. domains are considered branding, and getting a 5
         | letter domain nowadays is impossible. The cost here is that
         | you're renting a domain that others might want aswell, people
         | don't really want your LE cert
        
           | charcircuit wrote:
           | X lets people own a 5 letter username for free. Renting names
           | is not even industry standard for platforms. It seems like
           | it's only DNS that charges for names.
        
         | notatoad wrote:
         | running a domain costs money. there's no way around that - it
         | requires server resources to respond to dns queries, and that
         | requires servers and electricity.
         | 
         | so to offer it for free means somebody has to subsidize it.
         | letsencrypt can operate because big companies with lots of
         | money want their ads to be delivered without being intercepted
         | by an ISP. what's the motivation for anybody to subsidize free
         | domains?
        
           | deadbabe wrote:
           | How about DNS on a blockchain?
        
             | meowkit wrote:
             | https://docs.ens.domains/learn/protocol/
             | 
             | Supporting DNS all up should be possible but organizing the
             | other decentralized services (compute, storage) is the hard
             | part
        
               | fruitworks wrote:
               | The name service is easy, namecoin did it more
               | efficiently than ENS a decade ago.
               | 
               | The decentralized services need not be attached to some
               | blockchain due to the resource constraints. But there are
               | examples like Filecoin and such.
        
             | charcircuit wrote:
             | They already work in Brave too or for other browsers if you
             | install a webextention.
        
             | HumanOstrich wrote:
             | That sounds like an unnecessarily overcomplicated
             | nightmare.
        
             | simonw wrote:
             | Aka DNS where if you lose your passphrase (or get phished)
             | you irreversibly lose control of that domain.
        
               | deadbabe wrote:
               | But the tradeoff is that it's free right?
        
           | koolba wrote:
           | > running a domain costs money. there's no way around that -
           | it requires server resources to respond to dns queries, and
           | that requires servers and electricity.
           | 
           | I guarantee you I can store and make available over DNS the
           | less than 1 KiB of data for less than a penny a year.
           | 
           | Instead of free, charge a flat $1, put it in long term US
           | treasuries at 5% / TIPS at 2.5% and you've covered your
           | hosting costs forever. The principle will never need to be
           | touched.
        
             | notatoad wrote:
             | okay, so why aren't you doing that. if you can offer
             | domains for $1, you can undercut all the existing players
             | by a huge margin. that's a big opportunity, no?
        
               | fruitworks wrote:
               | You would need to pay the ICANN fief
        
               | eikenberry wrote:
               | Everyone would get a subdomain and so you only need to
               | pay for 1 TLD.. that's <$20US/year.
        
         | Imustaskforhelp wrote:
         | There are some github project which offer free domains if you
         | send them a issue asking them kindly for subdomain iirc
         | 
         | https://github.com/topics/free-domains
         | 
         | Another thing, the thing that you mention is really similar to
         | how tor onion links work... Except they offer encryption and
         | prevents MITM/any other ways while still having your ip hidden.
         | 
         | Another idea which I use sometimes is to use something like
         | cloudflare tunnels or ssh forwarding with things like
         | serveo.net or any ssh based remote forwarding in general like
         | pinggy or even ngrok.
         | 
         | If you are using this in some internal thing, I can also
         | suggest something like piping server which I really like and I
         | want to build something like a web browser tor-onion links
         | esque but on top of piping server, its really really cool
         | 
         | https://github.com/nwtgck/piping-server
        
         | derefr wrote:
         | > It could be a UUID v7 stacked on top of another UUID v7 for
         | all I care but it would be globally unique and available free
         | of cost.
         | 
         | You're essentially talking about IPv6 addresses.
         | 
         | Interestingly, most residential ISPs these days already issue
         | your home network an IPv6 /64 or better! But they (sadly) just
         | firewall off use of most ports that residential users have no
         | purpose for -- on my own network, even if I configure my router
         | to allocate each machine on the network a public-routable IPv6
         | address, the only port the _network_ (not the router!) is
         | willing to allow non-established incoming flows to is 22 /tcp.
         | 
         | But even if they worked, they'd still be ephemeral. At best,
         | even if your ISP keeps the allocation the same, you'd lose it
         | if/when you switch ISPs. (Similar problem to ISP email
         | addresses.)
         | 
         | The real key here, would be if someone was freely giving out
         | tiny slices of IPv6 https://en.wikipedia.org/wiki/Provider-
         | independent_address_s... to individuals; _and_ there were
         | hosting providers  / residential ISPs willing to add BGP routes
         | in their ASN for these tiny prefixes. Then you could have a
         | stable _and_ portable _and_ free IPv6 address for life. (It 's
         | certainly possible in theory, just not built yet -- similar to
         | how LetsEncrypt was "certainly possible in theory, just not
         | built yet" until it was built.)
         | 
         | ---
         | 
         | That being said, if you really want this to be DNS (not sure
         | why; if it's not a short memorable name [and thus inherently
         | competed over by typosquatters], then DNS is the wrong tool for
         | the job), then you _could_ do what systems like ngrok do, but
         | directly serving those dynamic records as domains under its own
         | gTLD, rather than serving them as subdomains under a domain.
         | Maybe with each domain getting its own DNS zone and everything.
         | That 'd certainly be neat.
         | 
         | Note that way back when, the .me ccTLD sort of did this -- they
         | gave away .me "domains" for "free"; but with all web traffic on
         | those "free" domains being intermediated by their L7 reverse-
         | proxy servers, where they'd inject ads into any delivered HTML
         | pages.
        
         | steveklabnik wrote:
         | > It doesn't have to be pretty. It could be a UUID v7 stacked
         | on top of another UUID v7 for all I care but it would be
         | globally unique and available free of cost.
         | 
         | This is basically where did:plc comes in, for atproto.
         | https://web.plc.directory/ provides free ID numbers. For
         | example, mine is
         | https://plc.directory/did:plc:3danwc67lo7obz2fmdg6jxcr .
         | 
         | Your domain then uses a txt record to indicate that you want it
         | to be associated with that particular did:plc.
        
           | verdverm wrote:
           | just to note, did:web is also an option, but has drawbacks
           | like losing your identity if you lose your domain.
        
         | Kye wrote:
         | It's been tried. People quickly distribute a JavaScript snippet
         | to remove whatever monetization you put on there, as Namezero
         | discovered.
        
         | ceayo wrote:
         | Maybe AT over TOR? A hidden domain / onion address is totally
         | free... I would supporting this a really nice enhancement to
         | the protocol.
        
         | pelagicAustral wrote:
         | There was a .FREE initiative but that got all weird after a
         | while, the deadlines were not respected and then nothing
         | happened... https://icannwiki.org/.free
        
         | numpad0 wrote:
         | That's almost like regular free dynamic DNS, just people don't
         | mentally frame "example.dyndns.net" as their online "handle"
        
         | jerf wrote:
         | A free of cost TLD is probably not practical. There are some
         | special things that go along with being a TLD and being in the
         | public suffix list: https://github.com/publicsuffix/list
         | 
         | If you drop the TLD part though, you can do whatever you want
         | with any domain you want, up to and including handing out free
         | subdomains to anyone who asks. As usual, though, if you try to
         | do this, the dark internet will make you regret it as one day,
         | quite suddenly, you'd find you were hosting the DNS of some
         | massive scam email or other, or any of who-can-even-enumerate
         | ways of making you sorry you put this service up because of
         | their abuse of it. Just like anyone can make a URL redirector,
         | and many people even use it as a sort of "learn this language
         | project" but if you actually put it up online you will rapidly
         | regret it.
         | 
         | It's a bummer and I'm not celebrating this fact, but, yeah,
         | it's not something you want to do.
        
           | fruitworks wrote:
           | Why can't it be a keypair like a .onion domain?
           | 
           | DNS is not a sybil resistance mechanism
        
             | jerf wrote:
             | Because .onion isn't a DNS domain. It uses the same syntax
             | but you have to be on Tor for it to work and it does
             | something completely different than DNS resolution. I read
             | the original question as specifically about having top-
             | level domains, not "something like domains that works on a
             | special network".
             | 
             | Special networks can do as they like, but then they won't
             | be DNS.
        
         | input_sh wrote:
         | .tk used to be free and was the top ccTLD in the world by the
         | number of domains registered. You can imagine what it was
         | mostly used for.
         | 
         | Facebook sued the operator (Dutch company called Freenom) for
         | facilitating phishing and now we can't have that anymore.
        
           | bityard wrote:
           | .tk was widely known for taking back domains once they got
           | popular and turning them into ad spam. That's how they made
           | money "giving" the domains away for free: lead generation,
           | basically.
        
         | a022311 wrote:
         | Umm ever heard of .tk domains?
        
         | zenmac wrote:
         | Just FYI: there is handshake. It was on HN quite a few years
         | ago: https://handshake.org
        
         | KolibriFly wrote:
         | The main thing standing in the way isn't technical feasibility,
         | it's governance and control
        
       | tantalor wrote:
       | We already had that in 2007:
       | 
       | https://en.wikipedia.org/wiki/OpenSocial
       | 
       | It was a complete disaster
        
         | rickette wrote:
         | Shindig https://shindig.apache.org/ was the reference
         | implementation of this spec. Was pretty novel at the time.
        
         | danabramov wrote:
         | This doesn't similar to atproto, which is what I discuss in the
         | article. "Open social" isn't an official term btw, I just like
         | it enough to refer to this movement. I think recycling names
         | from dead projects to refer to new concepts is fine. You're
         | welcome to ignore the article's title.
        
         | simonw wrote:
         | Yeah, the linked article did make me smile because the previous
         | iteration of OpenSocial - which had a LOT of buzz around it
         | back in 2007-2010 - was such an ambitious swing that completely
         | missed.
         | 
         | Apparently I wrote about it a fair bit back then, mostly noting
         | how confusing it all was:
         | https://simonwillison.net/tags/opensocial/
        
         | niutech wrote:
         | Why disaster? Google used it successfully in their products
         | like Orkut. It was a novel federation protocol at that time.
        
       | LightChaser wrote:
       | Sadly, it's hard to imagine a world where something like this
       | will ever catch on. The target audience for "traditional" social
       | media is very different from the niche of people who want
       | decentralized social media. Most people just use social media as
       | a means to an end and don't really care about the systems behind
       | it.
       | 
       | If the answer is that most people should just make a bluesky
       | account, that defeats the whole purpose because then everyone
       | will still be on one or two large providers.
        
         | A4ET8a8uTh0_v2 wrote:
         | Unfortunately, yes. The problem is, basically, people.
        
         | mozzius wrote:
         | Even if everyone is on bsky.social, that's still a huge
         | improvement on the status quo. It's not like the web isn't
         | decentralised just because lots of people are on AWS - you can
         | move away at any moment, adversarially if necessary.
        
           | Kye wrote:
           | Looking forward to the future where an app just sort of
           | silently backs up your PDS/keys on your device until the day
           | you need it and everyone finds out they can log into whatever
           | platform replaces the one that blew up like nothing happened.
        
         | RobotToaster wrote:
         | AFAIK bluesky isn't even properly federated yet, everything
         | relies on a single "BGS" router server.
        
           | mozzius wrote:
           | Not true, there are many independent relays (one went online
           | today, in fact:
           | https://bsky.app/profile/upcloud.com/post/3lzqkrrqap22n).
           | 
           | This also completely misunderstands the architecture. Things
           | don't hinge on the relays at all and they don't act as
           | routers.
        
           | danabramov wrote:
           | This is misleading. I'm not sure if you've read the article
           | so it's difficult to elaborate -- it aims to explain
           | precisely that.
           | 
           | There isn't such a thing as "Bluesky getting federated" --
           | that doesn't on its own mean anything. In Mastodon world,
           | "getting federated" means many copies of the same webapp
           | emailing each other. In atproto, you don't create many copies
           | of the same app. Instead, it's shaped like the web --
           | individual users can host their data in different places, and
           | apps aggregate over that data. There's no point in having
           | many copies of the same app.
           | 
           | The BGS server you're referring to is the "relay" mentioned
           | in the article. Running your own relay is possible (Blacksky
           | does it, as mentioned in the article). It costs about $30/mo
           | with the current traffic. However, note that a relay is very
           | dumb (it's just a retransmitter of signed JSON over
           | websocket). It's cool that anyone can run one but by itself
           | this isn't a vanity metric to chase. We'll probably see more
           | independent relays but usually someone would run one for a
           | reason -- to insulate a company or a community from upstream
           | failures, or maybe to censor things (in repressive
           | governments).
        
         | dangus wrote:
         | I think the other issue here is that there's a serious question
         | of why bother "upgrading" your social media from closed to open
         | when we've all figured out that it's bad for you, worsens your
         | mood, and generally wastes your time?
         | 
         | If I'm going to delete my Facebook/Instagram account then why
         | am I trying to pick up a new drug to replace it?
        
           | krapp wrote:
           | Social media is just a paradigm for multimedia communication
           | and networking over the internet. It isn't inherently good or
           | bad, any more than telephones, television, radio or the
           | internet itself.
           | 
           | I think many people find social media useful. If you aren't
           | one of those people, fair enough. But not everyone is angry
           | and addicted all the time.
        
             | bluebarbet wrote:
             | For a significant subset of users - younger people and
             | children - a consensus is forming among specialists that
             | social media is indeed inherently bad.
        
               | krapp wrote:
               | They said the same thing about video games, and the
               | internet as a whole, and cellphones, and television, and
               | magazines.
               | 
               | I'm not going to claim that social media can't have
               | negative consequences for young people, lots of things
               | do. But the hyperbole behind the discourse makes it
               | obvious there is also a moral panic at work. In every
               | case, technology is blamed for a failure of society's
               | responsibility to educate and raise children properly.
        
               | dangus wrote:
               | IIRC peer reviewed scientific study was not saying that
               | about video games, it was other less thoroughly
               | researched sources and/or propaganda groups.
        
             | dangus wrote:
             | It is quite debatable whether it is inherently good or bad.
             | 
             | There is not a whole lot of scientific evidence for it
             | being good from what I understand.
             | 
             | I would also argue that if you broaden the definition of
             | social media too far you're not really talking about social
             | media anymore. Calling your friends on Signal isn't "social
             | media."
        
           | tjpnz wrote:
           | Those products are both owned by an ad company, they're
           | incentivized to push all your buttons so they can maximize
           | the time you spend looking at ads. Similar offerings exist
           | which don't, and as a result have a very different vibe.
        
       | SoftTalker wrote:
       | 99% of social media users don't care about any of this. If it's
       | one extra step or configuration they need to learn, or includes a
       | word like "protocol" that they need to understand, they won't use
       | it.
        
         | steveklabnik wrote:
         | That's one reason why Bluesky has gained a lot of traction. All
         | of this is under the surface, not something you need to care
         | about unless you want to.
        
           | verdverm wrote:
           | I would contend not all of it is under the surface
           | 
           | The Bsky team regularly highlights other apps, custom feeds,
           | and moderation choice
        
             | steveklabnik wrote:
             | The important part is that you don't need to know about any
             | of this to use the service. Of course, the protocol enables
             | user-level features.
        
             | extraduder_ire wrote:
             | You don't need to know how any of those features or
             | websites work to use them. I'd also argue that most users
             | have no idea who the people working on the site are. (even
             | if reading the replies under their personal posts gives a
             | different impression)
             | 
             | The end user just sees they can subscribe to a moderation
             | list that hides any post labelled as "Beans", or that they
             | can have a feed next to their Discover feed that's an
             | endless stream of people getting ligma'd.
             | 
             | Or that they can use their account to log into a seemingly
             | unrelated site.
        
         | danabramov wrote:
         | Right, which is why the article makes the point that it's
         | invisible to the end user several times.
         | 
         | That's also why it frames the benefits in the concrete way that
         | shows up in the products -- like products being able to riff on
         | each other's data.
         | 
         | My audience for this article is slightly technical so I put
         | some focus on the technical parts. I don't try to avoid
         | mentioning the "protocol" for the same reason why teaching to
         | make websites involves mentioning HTTP.
         | 
         | I 100% agree with you though and that's important for broader
         | communication. What people care about are good products.
        
       | b_e_n_t_o_n wrote:
       | I'm a simple man, I see a Dan post and I click.
       | 
       | I'm a bit concerned that the open web only won because of first
       | mover advantage. What gives me hope is OSS winning.
       | 
       | I'd love to see something like atproto win though. It's clear
       | that a major issue with social media is network effects
       | preventing better apps from becoming popular.
        
         | verdverm wrote:
         | > a major issue with social media is network effects preventing
         | better apps from becoming popular.
         | 
         | One thing ATProto does is enable real competition in social
         | apps, assuming they all run on the atproto fabric. One of the
         | core hopes is that we can get everyone over to something like
         | atproto once, to get them out of the silos, such that this is
         | there last time they have to "move" their social network
        
           | b_e_n_t_o_n wrote:
           | The challenge will be that first move, yeah. Current social
           | media companies have every incentive not to let users do
           | that.
        
             | tynanpurdy wrote:
             | with every additional user, every additional post, the
             | value of the open network only grows, and eventually
             | becomes too big to ignore.
        
         | extraduder_ire wrote:
         | AIUI, HTML won because it was free. There were competing paid
         | for online hypermedia standards at the time, but many cost
         | money. Anyone could make a web browser or server quite easily.
        
       | tshaddox wrote:
       | The bit about aggregation is interesting, but it's not clear to
       | me what the performance characteristics will be for very popular
       | accounts. Presumably Justin Beiber's repo cannot be expected to
       | handle 100 million WebSocket connections, all of which push out a
       | message the instant he posts something. Is it vital to have more
       | centralized hosts which can implement the sort of hybrid push vs.
       | pull models that Twitter famously needed to implement?
        
         | steveklabnik wrote:
         | In atproto, those websocket connections aren't between users's
         | repos, they're between an application and user's repos. Bieber
         | has one connection per application doing aggregation, not per
         | follower.
        
           | verdverm wrote:
           | Relays also provide an important scaling building block, such
           | that every app can listen to the relay, which listens to all
           | the repos, instead of many app<->pds.
        
         | psnehanshu wrote:
         | And if Justin's pds goes down, then his followers won't be able
         | to consume his content.
        
           | psionides wrote:
           | They read the content cached from the AppView, not directly
           | from the PDS
        
       | evbogue wrote:
       | Does this article mention anywhere that Dan is a former employee
       | of Bluesky and I just missed that disclosure?
        
         | danabramov wrote:
         | Thanks for the nudge, should deploy soon.
         | https://github.com/gaearon/overreacted.io/commit/26d40321dc7...
        
         | swyx wrote:
         | wait what? where does he work now?
        
           | danabramov wrote:
           | https://overreacted.io/im-doing-a-little-consulting/
        
       | leshokunin wrote:
       | I feel very conflicted about this work.
       | 
       | On one side I find these ideas extremely compelling. This is
       | aligned with the Indie web body of work, that pictures anyone
       | having a personal website of their own content and ownership over
       | that. And this page an article are beautifully put together.
       | 
       | On the other hand, we haven't really seen a lot of developers
       | adopting these standards for their own projects (like using this
       | for their personal website or open source project). Nor from
       | casual users (including people who make their own blogs and
       | websites).
       | 
       | I am deeply concerned about the apathy people have towards the
       | idea of ownership, openness and interoperability. It gives the
       | idea that people just want to be fed TikTok and Instagram reels.
       | 
       | I respect the vision and the work. Will personally see if we can
       | use this for our work. But I wonder how we make this into
       | something that's not just a micro niche hobby.
        
         | nunobrito wrote:
         | You are correct, and yet depends on ourselves to popularize and
         | make this tech happen. Maybe, just maybe a newer startup out
         | there will have a CEO/CTO that is deeply influenced by open
         | social and delivers a success app that reaches the masses.
         | 
         | One never knows, but for sure it won't happen when we do
         | nothing.
        
           | leshokunin wrote:
           | Has the experience of spinning up an instance been
           | simplified?
        
             | verdverm wrote:
             | What do you mean by "instance"?
             | 
             | There are several protocol components you can run
             | independently, each filling a different role and having
             | different complexity levels
             | 
             | If you mean the PDS, not sure if it is simpler than the
             | unknown point you are looking to compare against. Bsky did
             | just announce that you can migrate back to their PDS
             | hosting to make trying out alternatives a one-way trip
        
               | leshokunin wrote:
               | I'd prefer running our own thing separate from bluesky.
               | We'd give people something like username.page.app and
               | they'd make posts there. If people wanna follow on
               | bluesky they can, and we provide a username that's just
               | the url.
               | 
               | I know we can do all this by just posting to Bluesky. But
               | I want to give usernames, host the data on our end, and
               | I'd prefer using the protocol but not be directly
               | associated or dependent on Bluesky.
        
               | verdverm wrote:
               | So it sounds like multiple things then
               | 
               | 1. Run the PDS, many people who would not group
               | themselves with technical folks do this. (data hosting,
               | handles)
               | 
               | 2. Use or create an alternative client app, depending on
               | if you want to intermingle Bsky data
               | 
               | 3. Relay, moderation, algorithms. If you want to divest
               | completely from Bluesky, there is more to run. If you
               | build your own lexicon, you have to do all the moderation
               | and algorithms, among the many other things.
        
               | leshokunin wrote:
               | I think 1 is the main thing. We have our own posts and UI
               | but we just want to give people usernames and a way that
               | shares posts in a way that interop with Bluesky. Any
               | advice on a simple way to self host a PDS?
        
               | verdverm wrote:
               | https://github.com/bluesky-social/pds
               | 
               | There are also a couple of discord channels and even a
               | server for PDS self-hosters
               | 
               | https://discord.atprotocol.dev
        
               | leshokunin wrote:
               | Wonderful, ty
        
         | jrowen wrote:
         | _I am deeply concerned about the apathy people have towards the
         | idea of ownership, openness and interoperability. It gives the
         | idea that people just want to be fed TikTok and Instagram
         | reels._
         | 
         | Can you expand on this feeling? Why is it deeply concerning?
         | Why should people care about the abstract concept of data
         | ownership? People were totally fine when they had zero
         | ownership or agency over media and they were fed TV, books,
         | movies, radio, etc. Most people do just want that, their
         | primary motivation to engage with media is just to be
         | entertained in that moment.
         | 
         | Now that they have places where they can publish stuff and
         | their friends and family and maybe even some other people might
         | see it, why should they care that they don't "own" their
         | Instagram post, whatever that means?
        
           | dgaffney wrote:
           | idk if the normal user should necessarily care about data
           | ownership, but I think the incentive structure it creates
           | would be immediately legible to most people
        
             | jrowen wrote:
             | I'm not sure what that means, can you give examples of good
             | and bad incentive structures in this context?
        
               | dgaffney wrote:
               | sure, https://x.com
        
               | jrowen wrote:
               | So mysterious, so edgy. Hope you at least feel better,
               | because you've utterly failed to communicate a coherent
               | idea.
        
               | dgaffney wrote:
               | It's pithy because the request is pithy- if I have to
               | explain the mechanisms at work here i doubt you're ever
               | going to buy into the theory at all. A short version is
               | what Dan already said - the entire economic foundation of
               | social media is predicated on high exit costs. ATProto
               | takes substantive steps to lower them. The theory in turn
               | is that new businesses will need to develop less
               | extractive models of viability to survive, which will in
               | turn read legibly to users as less exploitative (you
               | decide your feed, you can switch providers, you can
               | choose moderation layers, etc)
        
               | jrowen wrote:
               | _the entire economic foundation of social media is
               | predicated on high exit costs_
               | 
               | No I think it's predicated on creating a product that
               | people like to use. That's the Step 1 that OSS zealots
               | miss when they focus entirely on these niche lofty
               | ideals. I highly doubt the average Instagram user is
               | yearning for - or would even be enticed by - a version of
               | that same experience that has a lower exit cost.
               | 
               | That's the problem with these Twitter clones. "It's just
               | like Twitter, but RESPECTS your data ownership" is not
               | compelling. Just create a freaking compelling and
               | original user experience (the actual hard part that made
               | the big platforms successful) and secretly do whatever
               | you want on the back end.
        
               | steveklabnik wrote:
               | The reason I like Bluesky is that they understand this,
               | and that's why the protocol stuff isn't front and center.
               | They're focused on product first, technology second. The
               | tech serves to create a good product, they don't build
               | the tech first and then hope people find the product
               | acceptable.
        
               | dgaffney wrote:
               | lol, ok
        
               | foltik wrote:
               | There's nothing compelling and original about the twitter
               | UX compared to all the clones. Pretty much across the
               | board it's just posting short messages and following
               | others.
               | 
               | The entire value of a social media platform is in the
               | network. Accumulating and maintaining one is the _actual_
               | hard part that made the big players successful.
        
               | jrowen wrote:
               | It was compelling and original when the concept didn't
               | exist, or at least hadn't been successfully brought to
               | market like they did. In a world where Twitter exists,
               | and has the network, there is nothing compelling about a
               | Twitter clone.
               | 
               | None of these platforms started with a network. They
               | weren't cooked up by evil investors and MBAs looking for
               | a rent-extraction scheme. Nor were they designed by a
               | committee of philosophical experts saying "oh we'll just
               | copy their thing and make it more esoteric and confusing
               | so that maybe one day we can aggregate content from 14
               | competing Twitter-like platforms and you can switch
               | between them whenever you like!" They were started
               | largely by kids goofing around and making fun things for
               | people.
        
               | foltik wrote:
               | Did we read the same article? It spends so many words
               | answering these exact questions with examples and helpful
               | illustrations!
               | 
               | Your question:
               | 
               | > why should they care that they don't "own" their
               | Instagram post, whatever that means?
               | 
               | From the article:
               | 
               | > The web Alice created--who she follows, what she likes,
               | what she has posted--is trapped in a box that's owned by
               | somebody else. To leave it is to leave it behind. On an
               | individual level, it might not be a huge deal. However,
               | collectively, the net effect is that social platforms--at
               | first, gradually, and then suddenly--turn their backs on
               | their users. If you can't leave without losing something
               | important, the platform has no incentives to respect you
               | as a user.
               | 
               | Your question:
               | 
               | > can you give examples of good and bad incentive
               | structures in this context?
               | 
               | From the article:
               | 
               | > Maybe the app gets squeezed by investors, and every
               | third post is an ad. Maybe it gets bought by a
               | congolomerate that wanted to get rid of competition, and
               | is now on life support. Maybe it runs out of funding, and
               | your content goes down in two days. Maybe the founders
               | get acquihired--an exciting new chapter. Maybe the app
               | was bought by some guy, and now you're slowly getting
               | cooked by the algorithm.
               | 
               | > Luckily, web's decentralized design avoids this.
               | Because it's easy to walk away, hosting providers are
               | forced to compete, and hosting is now a commodity.
               | 
               | I think you're right that the average person doesn't care
               | so much as they just want to be entertained or reach a
               | large network, but apathy is not an argument in favor of
               | the status quo.
        
               | jrowen wrote:
               | In fairness to you, I had originally skimmed the article
               | and did later realize that some of my points had been
               | addressed. In fairness to me, in this subthread I was
               | responding to other commenters and asking them questions
               | rather than commenting directly on the article itself.
               | 
               | At this point my argument is that the ability to switch
               | providers is not a major concern to most users of these
               | platforms. I don't want a generic social media hosting
               | provider. I want the Facebook experience, or the
               | Instagram experience, or the Twitter experience. I'm
               | happy to be in the garden and on the rails because it's
               | easy and tightly curated. I don't want some Frankenstein
               | amalgamation of data from all these things. I don't want
               | to shoehorn my Instagram world into something else.
        
           | leshokunin wrote:
           | It matters because your posts aren't just entertainment in
           | the moment -- they're your history, your proof of existence
           | online. Platforms treat them as disposable. If Instagram dies
           | or bans you, your years of photos, writing, and connections
           | vanish. Owning your data means your work and identity survive
           | these issues, if you want.
        
             | steveklabnik wrote:
             | An example: I have been a Swarm user for like, fifteen
             | years. As soon as atproto has private records, I'll want to
             | set up syncing that data into my PDS. It's kept track of a
             | huge part of my life, and losing that would be sad.
        
             | jrowen wrote:
             | I think a lot of people treat their own content as
             | disposable also though. I don't know if most people would
             | really care to save or dig through their entire Twitter
             | history, for example. The rise of Stories is evidence of
             | this. We're moving from a culture of preserving ancient
             | pieces of paper to swimming in a never-ending river of data
             | where there's so many things coming at you that you just
             | move forward and don't have a ton of time to look back.
             | 
             | People that really want to preserve and archive their
             | content find a way to do it and manage it separately. I
             | have all the pictures that I've posted to Instagram. I have
             | anything I've written that I cared enough to keep. If and
             | when IG dies or I move onto the next thing, am I really
             | going to want to meaningfully preserve and transfer the
             | specific contents of that walled garden somewhere else?
             | Maybe. I can definitely see the value, but it doesn't seem
             | super compelling to me yet.
             | 
             | There is something to be said for the uniquely curated
             | walled gardens and the centralized trust and organization
             | and opinions they bring. When I started an Instagram
             | account, I didn't want to transfer my Facebook world, it's
             | a new world with a fresh start. I didn't want the same
             | friends, the same voice for myself, etc. I certainly
             | wouldn't have wanted to dig through all of that to figure
             | out what made sense to carry over.
        
             | hn_acc1 wrote:
             | I mean.. if you can still find the archives (pretty sure
             | they're out there, but getting harder and harder to find),
             | I have my name on lots of usenet posts from the 90s. But
             | I'm pretty sure all my BBS posts, GEnie posts, etc from
             | before that are gone - they would stretch back as far as
             | December '84, IIRC. And there's probably very little left
             | from before 2000.
             | 
             | And yet, I don't lament that 10-15 years of my online life
             | have "vanished" - I was an ignorant little snot back then,
             | and actually, am VERY glad they HAVE vanished. And
             | thankfully I've generally used aliases / usernames instead
             | of my actual name in most places (other than the usenet
             | posts that were from my university account) so that wayback
             | can't be used against me easily. Heck - I wish I could
             | assert/enforce a "right to be forgotten" (vanish) on some
             | websites. Rarely have I wished (especially in this current
             | administration) that I was _MORE_ visible  / persistent
             | online.
        
             | losvedir wrote:
             | Sure, this might matter to "very online" people. But I
             | don't think it's the norm.
        
               | leshokunin wrote:
               | You asked me to explain why this matters. I did. I think
               | your answer is fairly dismissive. Not everyone who cares
               | about this is going to be some terminally online edge
               | case. Unclear why ask a question if you are not curious
               | about it. Probably not an effective use of our time.
        
           | toyg wrote:
           | _> People were totally fine when they had zero ownership or
           | agency over media_
           | 
           | Disagree. The punk phenomenon was largely about reclaiming
           | that ownership and agency over cultural output, and it was
           | massive in the 70s/80s/90s. The early web was very punk in
           | attitude, with people basically self-publishing. Even in the
           | '00s, there was still a clear distinction between "corporate"
           | portals and grassroots.
           | 
           | This phenomenon where even creatives and intellectuals are
           | _Just Fine_ with playing in someone else 's heavily-tweaked,
           | hyper-monetized sandbox, is a new development.
        
         | knowtheory wrote:
         | There's still some more work to do to make the developer
         | experience simple enough that it's a no-brainer for people to
         | pick ATProto up in anger.
         | 
         | But there's a lot of work developing on that front, and the
         | next 6-12 months will be super exciting to watch.
         | 
         | The longer story is that most people don't understand that
         | ATProto is more than just Bluesky, and the usecases are
         | wayyyyyy broader. That's going to take more time to play out in
         | the market.
        
           | leshokunin wrote:
           | Absolutely. In fact I'd love for my startup to run our own
           | atproto instance separately from Bluesky, but it still looks
           | like quite a lift. Lmk if you have some recommendations.
           | 
           | Basically our thing would give that ecosystem the ability to
           | have personal pages that can look like Patreon, YouTube,
           | Instagram and others
        
             | tynanpurdy wrote:
             | It depends how much you want to replicate. All you really
             | need is the Application Data Server (or AppView) to
             | aggregate the records you are interested in, serve them to
             | your client app, and write them to people's repos. I've
             | been tinkering with the 'personal website on AT' idea space
             | for a bit, tons of cool possibilities (and several people
             | already have implemented cool AT integrations in their
             | sites!). Happy to chat ab it.
        
               | leshokunin wrote:
               | HMU! I'm "shokunin." on discord, leshokunin on TG /
               | Twitter.
               | 
               | I'd prefer running our own thing separate from bluesky.
               | We'd give people something like username.page.app and
               | they'd make posts there. If people wanna follow on
               | bluesky they can, and we provide a username that's just
               | the url.
               | 
               | I know we can do all this by just posting to Bluesky. But
               | I want to give usernames, host the data on our end, and
               | I'd prefer using the protocol but not be directly
               | associated or dependent on Bluesky.
        
             | steveklabnik wrote:
             | Are you trying to run a parallel network, or build on top
             | of the existing one? "run our own atproto instance
             | separately from Bluesky" sounds like you want a fully
             | parallel network, but that should be pretty rare to need or
             | want, so I'm not sure that's what you actually mean. An
             | "atproto instance" isn't exactly a thing.
        
               | leshokunin wrote:
               | I'd prefer running our own thing separate from bluesky.
               | We'd give people something like username.page.app and
               | they'd make posts there. If people wanna follow on
               | bluesky they can, and we provide a username that's just
               | the url.
               | 
               | I know we can do all this by just posting to Bluesky. But
               | I want to give usernames, host the data on our end, and
               | I'd prefer using the protocol but not be directly
               | associated or dependent on Bluesky.
        
               | steveklabnik wrote:
               | Okay, so this _sounds_ like you 'd want to run an appview
               | + pds. (and possibly a relay, depending on some details.)
               | Except for one thing:
               | 
               | > or dependent on Bluesky.
               | 
               | If you want to take this to an extreme, and are
               | uncomfortable with how did:plc has not yet moved into its
               | own org, then you'd want to also run your own plc server,
               | etc. The problem with doing this is:
               | 
               | > If people wanna follow on bluesky they can
               | 
               | You lose this. Because you're now not running on the main
               | atproto system, but instead a fully parallel one of your
               | own.
               | 
               | Anyway, you could start on this by running a PDS via the
               | reference implementation here:
               | https://github.com/bluesky-social/pds and then building
               | your own appview (application).
               | 
               | You could also take a look at Blacksky's implementation
               | https://github.com/blacksky-algorithms/rsky and if you
               | end up using it, consider throwing them a few dollars.
               | Alternative implementations are super important!
        
               | leshokunin wrote:
               | Thank you for the detailed answer! Totally comfortable
               | with the did implementation. Just trying to separate from
               | their brand and just use the standard :)
               | 
               | We already built our own platform independently from
               | Bluesky, so we have a timeline in the wrong post and
               | everything. I'm just trying to give our users into opera
               | ability. So that when they make a post on our platform,
               | people can also follow your Bluesky and see on their
               | timeline. Am I correct to assume then that we would not
               | require our own app view?
        
               | steveklabnik wrote:
               | You're welcome, yeah then that's a lot easier.
               | 
               | > Am I correct to assume then that we would not require
               | our own app view?
               | 
               | Well, given that you have built a platform, and you then
               | want to interact with the atproto eocsystem, that means
               | you'd be making your platform an appview, in a sense. An
               | appview is just a service that reads the underlying data
               | from the network and does something useful with it.
        
               | Kye wrote:
               | There's hope for an independent but synchronized PLC
               | directory: https://tangled.org/@microcosm.blue/Allegedly
        
               | psnehanshu wrote:
               | You mean you want to host the personal repositories (PDS)
               | for your users?
        
               | leshokunin wrote:
               | Ideally yes!
        
       | nunobrito wrote:
       | Good article, very clear.
       | 
       | Can you also do one for NOSTR?
       | 
       | The functioning is similar, albeit there is no need for hosting
       | user data since it can be sent to multiple relays and live
       | reachable to others from there.
       | 
       | Thanks in advance.
        
         | danabramov wrote:
         | I probably won't do it myself but this one should be helpful:
         | https://shreyanjain.net/2024/07/05/nostr-and-atproto.html
        
           | nunobrito wrote:
           | Thanks for sharing. By coincidence (or not so much) I had
           | lunch this week with a founder of bluesky along with a others
           | and many names were mentioned that I'd never heard about.
           | They were mentioned on that article and now understand
           | better.
           | 
           | Quite a lot of food for thought today. Thank you for that.
        
         | est wrote:
         | nostr started as simple but now there's like a million NIPs.
        
       | api wrote:
       | > Open source has clearly won. Yes, there are plenty of closed
       | source products and businesses. But the shared infrastructure--
       | the commons--runs on open source.
       | 
       | Lost me right there. Open source is the infrastructure that
       | powers closed cloud. None of the openness makes it to the end
       | user. It only benefits highly technical users and businesses.
       | 
       | Open source was made irrelevant (to non-technical users) by the
       | shift to services and cloud.
        
       | bumseltagbaerbi wrote:
       | Oh, some fancy British Indian Ocean TLD; totally trustworthy and
       | morally right!
        
       | ceayo wrote:
       | Wow, I always imagined Activitypub to be the better protocol and
       | AT a cheap knock-off, but reading this article made me realize at
       | is, actually, way better - primarily because multiple programs
       | can access the same identity. This is really a great feature to
       | have! This article was a real mind-opener for me.
        
         | verdverm wrote:
         | You'd probably like this article too, same ideas from the
         | distributed engineer perspective
         | 
         | https://atproto.com/articles/atproto-for-distsys-engineers
        
         | danabramov wrote:
         | Thanks! I'm glad it's clicking. The comparisons with AP are
         | always frustrating for this reason as it doesn't try to do
         | anything similar in scope.
        
           | psnehanshu wrote:
           | imo ActivityPub sounds better than ATProto, hence people
           | assume the former is superior. This is a branding issue.
        
             | danabramov wrote:
             | Yea maybe! I think at:// is an even stronger brand in a
             | sense though. Actually makes sense as something browsers
             | may support one day, "at://alice.com" makes sense at "stuff
             | at alice dot com", "authenticated transfer" is a decent
             | acronym, "atmosphere" for the ecosystem is just great (and
             | wasn't even coined by the team).
        
         | paulryanrogers wrote:
         | Does that mean there is a centralized identity service?
        
           | steveklabnik wrote:
           | You have two choices of identity service: did:plc, which is,
           | and did:web, which is not.
           | 
           | In theory additional dids could come into existence too,
           | those are just the two that blueksy supports at the moment.
        
             | danabramov wrote:
             | That's correct. PLC is being split into an independent
             | entity but that is ongoing: https://docs.bsky.app/blog/plc-
             | directory-org
             | 
             | It's worth noting that PLC can't fake your data because
             | each edit is recursively signed. So you can verify a chain
             | of updates. However, PLC can in theory deny you service or
             | ignore your updates.
        
               | verdverm wrote:
               | it's def not doing that right now lol, more than half the
               | ops are adversarial and still accepted (the vast majority
               | contain invalid contents)
        
               | psionides wrote:
               | Yeah, there are tens of thousands of records referencing
               | a PDS with a certain... controversial president's name in
               | the hostname, which doesn't actually exist at all.
               | 
               | Also someone from Nostr made a tool that let you upload
               | image files and encode them (split into parts) into plc
               | directory records...
        
               | verdverm wrote:
               | Oh is Nostr the other one, why do these groups feel the
               | need to try and ruin what other people enjoy?
        
         | _cart wrote:
         | The AT vs AP issue is full of nuance. Our community has gone
         | back and forth on this:
         | https://github.com/bevyengine/bevy/discussions/18302
        
           | the_gipsy wrote:
           | Really nice analysis, thank you.
        
           | doctorpangloss wrote:
           | This is not meant as a criticism at all, I like Bevy. Are you
           | familiar with the Mr. Beast PowerPoint that said:
           | 
           | > Your goal here is to make the best YOUTUBE videos possible.
           | That's the number one goal of this production company. It's
           | not to make the best produced videos. Not to make the
           | funniest videos. Not to make the best looking videos. Not the
           | highest quality videos.. It's to make the best YOUTUBE videos
           | possible.
           | 
           | When I glance at the Bevy discussion link you shared, my
           | reaction is:
           | 
           | > Your goal here is to make the best GITHUB OPEN SOURCE game
           | engine possible. It's not to make the most performant game
           | engine. Not to make the game engine that powers the best
           | games. Not to make the best looking graphics in a game
           | engine. Not the highest quality game engine or game editing
           | experience. It's to make the best GITHUB OPEN SOURCE game
           | engine.
        
             | cropcirclbureau wrote:
             | Community drama has always been the achilles heel of large,
             | open-source projects which are volunteer driven. Focus on
             | community is critical to delivering this, especially when
             | your product relies on mind share.
        
               | debugnik wrote:
               | In my experience, focus on community is how you get
               | community drama in the first place.
        
             | CaptainOfCoit wrote:
             | > Your goal here is to make the best GITHUB OPEN SOURCE
             | game engine possible.
             | 
             | That sounds awful if applied to Bevy, and seems you
             | misunderstand what "Mr. Beast" is trying to say.
             | 
             | They're not saying make the best game engine, but make the
             | game engine that would do best by GitHub-popular metrics,
             | which is absolutely the wrong way to go.
             | 
             | I hope they continue to simply make the best game engine
             | available, as before, and ignore useful metrics or focusing
             | on where it's hosted.
        
               | debugnik wrote:
               | They didn't misunderstand, they're calling out Bevy's
               | priorities.
               | 
               | Bevy is still incomplete as an engine. AFAIK there's only
               | one commercially successful game made with it, Tiny
               | Glade, and it doesn't even use Bevy's renderer but a
               | custom one.
               | 
               | Yet the Bevy developers distract the project with essays
               | and debates about the politics of their federated social
               | media presence. You don't need that to build a game
               | engine, but you do to build a "GITHUB OPEN SOURCE" game
               | engine. I don't think there's anything inherently wrong
               | with it, but that's clearly the focus here.
        
               | CaptainOfCoit wrote:
               | > They didn't misunderstand, they're calling out Bevy's
               | priorities.
               | 
               | Yes, but the misunderstanding I'm trying to point out is
               | that Mr Beast is not trying to create something of value,
               | they're trying to create something that works well on a
               | specific platform.
               | 
               | In the Bevy analogy, that would be creating a GitHub
               | project that gets the most stars, regardless of how
               | useful or well the engine itself is working.
               | 
               | I'm instead saying the same thing as you, they should
               | continue focusing on building the greatest engine,
               | regardless of the platform for hosting the project.
               | 
               | If Bevy were to follow Mr Beasts advice, they'd focus on
               | flashy demos, engaging READMEs and so on, to increase the
               | success on the platform itself, instead of focusing on
               | the engine itself, which from following their direction
               | almost since inception, they're doing a pretty good job
               | with already.
        
             | saghm wrote:
             | If your goal is to be viral and not care about the quality,
             | then maybe following Mr. Beast's advice might make sense.
             | If you'd rather risk popularity by trying to what you think
             | will actually be better without knowing whether it will end
             | up being viral, it makes sense probably to take anything he
             | says with a grain of salt.
        
               | doctorpangloss wrote:
               | I guess my point is, writing 3,000 words on social media
               | choices isn't going to make the game engine any better.
               | But I can see how it is really important to the community
               | and developers, which is to say, it's really important if
               | the product is not a game engine but An Open Source
               | (Esoteric) Game Engine Hosted On GitHub. Do you see what
               | I am saying? That is the difference between making the
               | best videos and making the best YOUTUBE videos. Mr. Beast
               | isn't confusing, he's capitalizing the important part of
               | what he is trying to say!
        
               | saghm wrote:
               | I fully understand what you're saying; I just don't agree
               | with it. For starters, people can be complex and have
               | more than one goal. The effect of making an open source
               | project isn't necessarily just the utility of the project
               | itself, and if some of those other potential effects are
               | desired, the best way to do things won't necessarily be
               | the same as if there's only one output that someone cares
               | about.
               | 
               | For another thing, even if there aren't any other
               | specific effects that are desired, there still might be
               | some that are specifically _not_ wanted, and avoiding
               | those might be important. Mr. Beast is a exactly the type
               | of example that demonstrates this point; by focusing on
               | making the  "best" YouTube content as measured purely by
               | popularity, he's done all sort of things that someone
               | might very understandably want to avoid. I agree that
               | he's not confusing, but that's not the issue with him.
               | He's extremely transparent in how little he cares about
               | whether what he does actually helps anyone other than
               | himself (or if he hurts other people in the process of
               | helping himself). I suspect this is quite different from
               | the mentality of most open source developers, who are
               | putting in personal time and effort towards contributing
               | to something that realistically has little likelihood of
               | direct personal benefits for those involved. What you're
               | perceiving as a lack of focus comes across to me as
               | having the humility and thoughtfulness to try to look at
               | the big picture and understand one's actions in the
               | context of a larger environment that isn't improved in
               | the long term by pursuing a single narrow goal to the
               | exclusion of literally everything else.
        
               | doctorpangloss wrote:
               | Okay... Unity and Unreal have a lot less focus than Bevy,
               | but are much better game engines. They will be shipping
               | more great games every day than Bevy will in the next
               | year, including beloved meaningful ones, like Silksong
               | and Indiecute and Cuddlygame or whatever. And hardly
               | anyone there, like most big corpo employees, is directly
               | benefitted from the better games, they get paid the same
               | amount of money, but the rub is also, everyone I know
               | working at Unity and Epic is really sincere and loves
               | games.
               | 
               | Of course I understand these are different things. Bevy
               | is not at all competing with Unity.
               | 
               | Because Bevy is trying to be best GITHUB OPEN SOURCE game
               | engine. I'm just trying to be a little jocular about
               | how... you know, I didn't say unfocused, but surely it
               | seems a little silly to write 3000 words in response to a
               | community worried about which open source social media
               | federation protocols to adopt. That giant thread IS the
               | product, it makes perfect sense from the POV that Bevy is
               | trying to be the best OPEN SOURCE GITHUB GAME ENGINE, in
               | the same way that Mr Beast is making the best YOUTUBE
               | videos or Egyptology professors are making the best
               | EGYPTOLOGY writing or painters are making the best
               | PERSONALLY MEANINGFUL FINE ART or whatever. I like Bevy!
        
               | swiftcoder wrote:
               | > Okay... Unity and Unreal have a lot less focus than
               | Bevy
               | 
               | Unity and Unreal also have billions of dollars in funding
        
               | saghm wrote:
               | > Bevy is trying to be best GITHUB OPEN SOURCE game
               | engine
               | 
               | You're the only one saying this. No one else, including
               | the person working on the project that you originally
               | responded to, have claimed this is their sole goal to the
               | inclusion of everything else. It's hard to tell if you
               | think they literally don't care about anything else but
               | are choosing their actions poorly, or if you think that
               | they have the wrong priorities and should change them, or
               | if you just didn't really stop to consider that maybe
               | your assumption about what you're saying they're trying
               | to do is incorrect and haven't read what I'm saying
               | closely enough to understand that no number of examples
               | of other things that happen to fit what you're saying is
               | relevant if you aren't able to establish why anyone else
               | should agree that it applies here in the first place.
        
               | curious_ralts wrote:
               | One could argue the opposite, let's take bevy as an
               | example: more popularity could bring in more contributors
               | or more funding which would hopefully result in making a
               | better engine. The same could apply to Mr. Beast videos
               | (more views translate to more money which translate to
               | better production and staff which translate to more or
               | better videos) but the goals are inherently different
               | (maximizing profit which rewards quantity over quality)
        
           | xigoi wrote:
           | > We should pick a platform that is federated, where you have
           | ownership and autonomy over your identity and your audience.
           | Social media should not be own-able by a single group or
           | person. Social media is serious business. It ties directly to
           | human rights and business outcomes. It shouldn't be in anyone
           | else's control but yours.
           | 
           | I agree, but why not also apply the same logic to the other
           | two communication platforms you are using (Discord and
           | GitHub)?
        
             | styanax wrote:
             | > I agree, but why not also apply the same logic to the
             | other two communication platforms you are using (Discord
             | and GitHub)?
             | 
             | Aside, this infuriates me - "here's our open source
             | project/website, join our Discord!" (even Lemmy instances).
             | _sigh_
        
               | BrenBarn wrote:
               | There aren't many realistic alternatives.
        
           | t_mann wrote:
           | Interesting discussion, and good points highlighted about
           | Bluesky's did model that means you essentially don't own your
           | identity either (in typical scenarios and when it will likely
           | matter most). That takes a big chunk out of the "host your
           | own data" narrative.
           | 
           | One point I disagree on that's also mentioned in the replies:
           | I don't think a global state should be seen as necessary or
           | even desirable. Sure, it helps people who optimize for
           | clicks/likes/attention as a business model But that shouldn't
           | be the only concern. Having some degree of uncertainty around
           | the global state can help reinforce a healthy skepticism
           | towards what you're seeing in general. The 'correct' global
           | number of upvotes on a post, or the majority of what has been
           | said about a subject might still be manipulated to the point
           | of being essentially fake. Optimizing for virality is not
           | desirable if you think of the platform as a public good.
           | Think about what it has done for the centralized platforms,
           | and the consequences it's had in the real world.
        
         | nightpool wrote:
         | Every one of these "How AT proto works" explainers focuses on
         | data ownership--which is where ATProto shines--and glosses over
         | data processing, where ATProto is decidedly weaker than
         | ActivityPub. ATProto is built on a global, public view of the
         | world, where all events are visible to a trusted global
         | "AppServer" that can make all of the decisions for you--how to
         | create your feed, who can see who's posts, etc--all of those
         | decisions have to be made by a trusted intermediary.
         | ActivityPub is more like RSS or email--your local server only
         | has to manage the feeds you subscribe to, and your inbox is
         | directly built from all of the posts you have access to. People
         | you subscribe to send you your posts, and you don't have to
         | process them at all.
         | 
         | This is why Bluesky could never have "private likes" in the
         | same way Twitter or ActivityPub does--every AppView needs to
         | track the like counts of every post in the network manually.
         | It's a huge hassle! I just don't see this architecture winning
         | out in the long term, when compared to the AP feed-subscription
         | architecture.                   primarily because multiple
         | programs can access the same identity
         | 
         | Actually, this was how AP was originally designed as well--it
         | was just that the most popular early implementations took
         | shortcuts to remove that functionality to fit them into their
         | existing architecture. This is a direct consequence of the fact
         | that the biggest AP implementations when it was initially
         | adopted were descendants of older OStatus social networks, and
         | not built to be "ActivityPub-native" from the ground up.
        
           | zenmac wrote:
           | Wow thanks for the valuable info. Would you recommend, for
           | people who wants to add AP to their existing
           | username/password application?
           | 
           | We are currently working on something based on
           | https://fedify.dev
           | 
           | Would you consider that can provide more complete AP
           | functionality?
        
             | 1dom wrote:
             | I mess around with fedify a lot, it's great. It's fun to
             | integrate with existing websites.
             | 
             | I've thought a lot about ATProto and integrating it in
             | similar ways. I'd love to have a look at what you're doing
             | and how. The struggle I have is that I think the ATProto
             | repos have a fairly strong cryptographic structure compared
             | to AP
             | 
             | If someone requests an object over AP, that object contents
             | can come from anywhere easily, and can be signed easy. So
             | for me, when someone requests an activitypub object of one
             | of my notes via fedify, it just reads the truth from my
             | markdown note files and returns it. If I edit my markdown
             | files, it's no real issue, the next request gets the latest
             | version of that markdown (there's some signing nuances in
             | places, but it's generally straightforward)
             | 
             | With ATProto PDS and repositories use things like Merkle
             | Search Trees and other things which I assume means the
             | backend data needs to be a lot more... consistent. Like the
             | data has to live in the PDS, and that has to become the
             | source of truth to maintain the merkle structures,
             | including updates.
             | 
             | But with AP via fedify, it feels super easy and nice for my
             | source of truth to be whatever backend store I like
             | (markdown notes).
             | 
             | I've done enough with crypto to see the benefits provided
             | by the transparent verifiable history of merkle like
             | structures, but honestly, this is social media not cash: I
             | don't care if someone wants to subtly change something to
             | manage how they come across with their own social media. In
             | that respect, I feel the ATProto repositories
             | overcomplicate things a bit.
        
             | nightpool wrote:
             | I haven't worked with Fedify before, but what I'm talking
             | about is the difference between a service that has a
             | "translation layer" between their own internal data model
             | and ActivityPub, and a server that actually stores full
             | ActivityPub object's in the user's inbox and outbox, and
             | displays them unchanged to clients. 90% of deployed
             | ActivityPub applications--like yours!--are the former, not
             | the latter.
             | 
             | A true "ActivityPub server" is almost as simple as a
             | Bluesky PDS--all it's responsible for is 1) storing blobs
             | of data, 2) fanning out subscriptions and 3) collecting
             | incoming data for you to view. In the original way
             | ActivityPub was designed, all of the actual data
             | presentation layers--Mastodon, PeerTube, Pixelfed--were
             | designed to be specialized _clients_ that could communicate
             | with the user 's generic server. However, the first popular
             | implementations cut out the client-to-server part of the
             | protocol, so now we're stuck in a place where everyone
             | thinks ActivityPub means you need a separate identity for
             | every client application.
             | 
             | So, what I would recommend for your own username/password
             | site is implementing an ActivityPub _client_ , and
             | recommending that users use it to connect to a third-party
             | ActivityPub _server_. That way, the user owns the data, and
             | they simply use your service to get access to (filtered
             | version of) it.
             | 
             | Unfortunately, since this is a less implemented part of the
             | protocol, the client APIs necessary to make this a reality
             | haven't seen much development. And you're facing an uphill
             | battle for user adoption. In practice, users don't seem to
             | mind having separate accounts and identities for different
             | clients. It reminds me a bit of the "key management
             | problem" in e2e cryptography. Having a stable cryptographic
             | identity is doable if you're technically minded, but most
             | people just muddle along and don't really care about it
             | that much--they create new keys every time they get a new
             | laptop instead of trying to figure out cross-signing, and
             | everything works itself out more or less fine.
        
           | QuantumFunnel wrote:
           | Private likes are the only way forward on social media if
           | we're to finally decouple free speech from the vindictive
           | outrage mob feedback loop
        
           | frumiousirc wrote:
           | > This is why Bluesky could never have "private likes" in the
           | same way Twitter or ActivityPub does
           | 
           | I didn't know "private likes" even existed, but if atproto
           | includes public key encryption, I could publish a record
           | containing a "like" that I have encrypted with the "liked"
           | user's public key. Only that user would know what the record
           | contained. Though, the fact that the encrypted message exists
           | and had a cleartext "@name" is itself informative to
           | adversaries. Concealing that level of info would require
           | other measures.
        
             | nightpool wrote:
             | Correct. All information in the system is part of a public,
             | append-only ledger. That's the thing I'm pointing out is a
             | fundamental weakness of the system.
        
         | viraptor wrote:
         | > primarily because multiple programs can access the same
         | identity
         | 
         | Why do you think that's different in ActivityPub? As far as I
         | know there's nothing preventing (for example) Mastodon and
         | Pixelfed using the same identity.
        
       | jrowen wrote:
       | _Open source has clearly won._
       | 
       | This is clearly a wild claim that almost undermines the rest of
       | the argument, but to the extent that we can accept that there are
       | open source software packages that decision-makers deep in that
       | industry will reliably choose for their business...it's not clear
       | how this revolution will extend to "regular people." They just
       | want easy. Make something as easy and fun as Instagram. They
       | don't give a crap about all this, they don't want to think about
       | it.
        
         | pfraze wrote:
         | That first point is so true, as a programmer I never use open
         | source
        
       | Kye wrote:
       | A complementary article I wrote: "Nobody cares about
       | decentralization until they do"
       | 
       | https://kyefox.com/nobody-cares-about-decentralization-until...
        
       | brap wrote:
       | I think we tend to do a lot of idealization. The vast majority of
       | non-techies don't care whatsoever about decentralization.
        
         | verdverm wrote:
         | One can explain features that are possible on ATProto but not
         | Big Social without talking about "decentralization". My pitch
         | to the non-technical typically follows or covers these points
         | 
         | - Social today is not healthy
         | 
         | - Single account instead of N
         | 
         | - All apps keep your data in your database
         | 
         | - User level choice over apps, algos, moderation. Esp algos, my
         | social media usage patterns have changed for the better since I
         | started using custom feeds
         | 
         | - Real competition in social media
         | 
         | - Take back our shared digital experience from a handful of
         | billionaires deciding everything and keeping us locked into
         | their attention economy
        
         | danabramov wrote:
         | Yes, which is a point the article repeatedly makes. I totally
         | agree with you. See also
         | https://knotbin.leaflet.pub/3lx3uqveyj22f/ which I linked to
         | close to the end of the article.
        
       | drnick1 wrote:
       | This "Open Social" stuff is too complicated I think. I don't see
       | what's wrong with having your own website. It takes a couple of
       | minutes with the help of GPT to write an HTML 1.1 basic page and
       | host it from home on your own hardware. Or better yet, don't have
       | an online presence at all.
        
         | pfraze wrote:
         | Bit apples to oranges, isn't it? You're not exactly able to do
         | tiktok with personal websites
        
         | igor47 wrote:
         | I have my own site. But the people love engagement - it
         | motivates a lot of content creation. Back in the day we had web
         | log rings and WordPress comments, but that stuff is dead on the
         | modern web, it's too adversarial an environment. My blog has no
         | meaningful engagement, I don't even know if anyone ever reads
         | it. It works for me since I write primarily for myself, but
         | this is just not the case for most people
        
         | knowtheory wrote:
         | I'd argue that ATProto is the next iteration of open internet.
         | It's what an internet where accounts/identity and verifiable
         | content attribution are built in, and nobody using the
         | technology needs to think about any of that.
         | 
         | There's a space here where we can move from nobody having smart
         | phones or hosting digital presences -> everyone having digital
         | presence provided by Facebook/Instagram, and icloud/google
         | accounts -> Accounts w/ something like ATProto where its your
         | stuff, you get to decide where you keep it, and you get to
         | decide who gets access to it.
        
         | danabramov wrote:
         | Personal websites are great. They don't do large-scale
         | aggregation which a lot of people enjoy and look for. The
         | article is about an approach to large-scale aggregation with
         | important properties of personal sites. For what it's worth,
         | you can host atproto repositories from your home too -- some
         | people run them on Raspberry Pi.
        
       | numpad0 wrote:
       | I'm starting to feel many of "next big Twitter to fill its power
       | vacuum" projects are tackling the problem slightly wrong - they
       | all perfect the Twitter feature set, then hit the wall with user
       | growth and content deprivation chicken and egg problem. People
       | gather where there are others and that's still around the rotting
       | whale.
       | 
       | That OpenAI timeline thing that just launched is more better
       | approach, it solves content problem by just gathering data in
       | background and feeding it to the user anyway. That particular
       | implementation might not work but it sounds correct.
       | 
       | IMO, not much of value of Twitter for most users is in ability to
       | post tweets, it's in data bandwidth. 99.9% of users don't post
       | anything interesting, those might as well be local text file or
       | oit of band shared filler content. The value is in content
       | sourcing, so something like multi-social RSS reader with optional
       | P2P should be the way to go. Just IMdimO, though...
        
         | danabramov wrote:
         | While I use microblogging to frame the initial narrative, as
         | explained in the article, this isn't limited to Twitter-like
         | products. Tangled is "GitHub on atproto", Leaflet is "Medium on
         | atproto", and so on.
         | 
         | The problem with client-side P2P is you can't do large-scale
         | aggregation with consistency. Large-scale aggregation with
         | consistency is what normal people expect from social apps.
         | 
         | Re: the OpenAI thing you mentioned, that's actually a perfect
         | example of something atproto excels at. Since the data already
         | exists in the network, you can crawl/index it and run your own
         | tooling that does something proactive on cron jobs etc. See
         | https://github.com/graze-social/iftta for some initial work in
         | that area.
        
           | Kye wrote:
           | I like that labeler that shows which lexicons a user has in
           | their repo.
           | 
           | https://bsky.app/profile/recordcollector.edavis.dev
        
         | prisenco wrote:
         | Social networks rarely come up by being "the same but..."
         | 
         | They come up by doing something unique that can't be done on
         | older platforms.
        
           | paxys wrote:
           | "Unique" is definitely not necessary. Look at the dominant
           | social media platforms of the last two decades. MySpace ->
           | Facebook -> Twitter -> Instagram -> Snapchat -> TikTok. Each
           | of them was a minor evolution over the last, with the core
           | feature set remaining basically the same. Lots of user-
           | generated content, algorithmic recommendations, likes,
           | comments, DMs, ads. There has really not been a revolution in
           | the social media space since it was invented.
        
             | prisenco wrote:
             | I see the features that launched them as substantially
             | distinct.
             | 
             | The mode of interaction between users was wildly different
             | from one to the other.
             | 
             | You may be considering their convergent evolution not what
             | caused their rise in the first place.
        
         | kevinak wrote:
         | ...and this is why Nostr is different! You can build basically
         | anything on it. A blog, a Twitter like application, a streaming
         | service, messaging apps, the sky is the limit!
         | 
         | Here's a selection of things built on the protocol:
         | https://nostrapps.com
        
           | danabramov wrote:
           | Nostr is not different from atproto in that sense because
           | atproto also supports arbitrary applications (the article
           | uses Leaflet and Tangled as examples). There's a good
           | comparison of atproto vs Nostr:
           | https://shreyanjain.net/2024/07/05/nostr-and-atproto.html
        
             | kevinak wrote:
             | Fair enough. But it is a more complicated protocol that, I
             | feel, makes it a lot harder to diversify and build
             | different applications on.
        
           | brody_hamer wrote:
           | I really like the approach of nostr, but when I tried to use
           | it, each client I tried would start me off following ecoin
           | pump and dump influencers. It was really off putting.
           | 
           | I would've preferred starting off in an empty room, an
           | experience more like using signal.
        
             | kevinak wrote:
             | I've heard this multiple times but I don't know what
             | clients do that? Most allow you to click something akin to
             | the Following tab, just like Twitter, BlueSky, or what not.
             | 
             | Are you asking for an application that does not have other
             | kinds of feeds?
        
           | xigoi wrote:
           | Unfortunately Bitcoin has strong ties with the planet-
           | burning-coin community.
        
         | KolibriFly wrote:
         | I love your idea of a multi-social RSS reader with P2P
         | underpinnings
        
       | dgaffney wrote:
       | Thank you Dan for the post! I think two other things to point
       | out:
       | 
       | 1. _Because_ open social has to actually compete for a user 's
       | business, any sufficiently mature platform build in the ecosystem
       | will necessarily trend towards being more responsive to those
       | users needs, which will trend towards a better product than the
       | legacy crop,
       | 
       | 2. Precisely at a moment where governments lean on large, visible
       | corporate entities to enact desired policies, splintering that
       | ownership helps ensure a resilient communications network
        
       | xnx wrote:
       | I'm glad to see someone recognize the critical importance of
       | authors owning their domain. Without that, you will alway be at
       | the mercy of someone else. The rest is just technical detail.
        
         | Spivak wrote:
         | Technically on Bluesky even if you don't own your own domain
         | you can _still_ move all your stuff to a competitor and
         | everything will still work. The only thing you can 't do is
         | keep your original handle but no "links" to your account
         | (posts, followers, comments) will be broken because there's a
         | stable identifier for your account that's independent of your
         | handle. You will still be verifiably the same person on the
         | other server.
        
       | swyx wrote:
       | i'm interested in making a new social network on atproto. does
       | anyone have resources to recommend where to start?
        
         | verdverm wrote:
         | https://discord.atprotocol.dev
         | 
         | Lots of people there to direct you to specific resources
        
           | Timwi wrote:
           | If you think that there are specific resources, you can just
           | post them here. The fact that you didn't, and instead linked
           | to a corporate walled garden, is very suspicious.
        
             | danabramov wrote:
             | Suspicious of what? What do you expect to find in the
             | corporate walled garden of Discord?
        
             | verdverm wrote:
             | I posted links in another comment once I was back at a
             | computer
        
         | Kye wrote:
         | https://atproto.com/guides/applications
        
       | ireadmevs wrote:
       | All of this is meant for 100% public data, right? Or is there a
       | concept of visibility control? Can I create private communities,
       | with data flowing just inside?
        
         | danabramov wrote:
         | For now, yes, only 100% public data lives on the protocol (you
         | can still, of course, augment protocol data with the stuff you
         | hold in the DB).
         | 
         | In the future, the plan is to also enable some types of private
         | data on the protocol. See these recent notes from Paul on the
         | state of things:
         | 
         | - https://pfrazee.leaflet.pub/3lzhmtognls2q
         | 
         | - https://pfrazee.leaflet.pub/3lzhui2zbxk2b
        
           | verdverm wrote:
           | There is also a Working Group that just formed to push the
           | envelope on private data / permissioned spaces
           | 
           | Links to my own efforts on this
           | 
           | - https://github.com/blebbit/atproto (fork)
           | 
           | - https://youtu.be/oYKA85oZc8U?si=DIf09hu8-REw-yHj&t=3758
           | (presentation I gave last week)
        
       | advisedwang wrote:
       | I'm a little saddened to see that each app has it's own
       | collection type, even if they are able to use each others
       | collections. That means that apps will only interoperate to the
       | extent that they are explicitly designed to.
       | 
       | One of the beautiful (but perhaps not that practically relevant)
       | things about ActivityPub is that a Mastodon user can subscribe to
       | a Pixelfed user without anything special being done. It's like if
       | Twitter, Instagram, Reddit, YouTube, and Substack all
       | automatically interoperated.
        
         | verdverm wrote:
         | See https://github.com/lexicon-community for the effort towards
         | common lexicon
        
           | danabramov wrote:
           | Yeah, atproto pushes this down to be a community/governance
           | issue. Nobody is preventing apps from working out a common
           | standard and supporting it. However, nobody is forcing them
           | to do that either. So it will play out with natural dynamics.
           | What atproto ensures is that there's a convention for
           | strongly-typed foward-evolving schemas and how they get
           | validated (and reverse domains specify the authority). But
           | ultimately cooperation is up to the community.
        
             | verdverm wrote:
             | For anyone who wants to read up more on this, another of
             | Paul's (non-math) Notes (also, not the same Paul :)
             | 
             | https://www.pfrazee.com/blog/lexicon-guidance
        
         | ltjbukem wrote:
         | AP intercompatibility is fun, but it starts to fall apart once
         | you leave the safety of the "Note" (statuses) and "Question"
         | (polls) types (which is what Mastodon, Pixelfed, Misskey,
         | Pleroma, etc. all use as their primary elements). Everything
         | outside of it becomes either loosely converted to a note
         | (Mastodon does this for a lot of things, see
         | https://docs.joinmastodon.org/spec/activitypub/#payloads) or is
         | discarded by the instance. The only types that I know of which
         | have been able to have native support from multiple AP
         | implementations are micro-blogging and Lemmy's community
         | system, with everything else essentially being a monoculture
         | (or just extremely one-sided towards a specific implementation)
         | due to a lack of interest from other implementations in
         | providing full, standardized support. This isn't an inherent
         | protocol limitation, but I do think that the community could do
         | better in organizing standards outside of the core documents.
         | 
         | ATproto's system is a bit more well defined (you HAVE to abide
         | by the lexicon/schema of the data collection to be accepted by
         | implementations, reference implementation and some third-party
         | ones have schema validators to do so) and allows for easier
         | intercompatibility, but I do think that it could be a bit
         | looser than it is right now (selective support for additional
         | fields) to provide proper "sidecar" values in a record (they'll
         | be in the user's PDS but it won't validate and could be
         | rejected by indexers). Bridgy Fed does this to include the
         | originating URL from APub and the original text, which third-
         | party clients could certainly take advantage of if they detect
         | that the post comes from a Bridgy account.
         | (https://fed.brid.gy/docs#bluesky-fields)
        
       | isodev wrote:
       | Yes, it's interesting but there is no way the instantiation of
       | the protocol (Bluesky) remains free of investor influences. It
       | would require a great deal of capital for anyone to recreate the
       | "network" in such an eventuality. So yes, it's cool but not
       | really Open.
        
         | pessimizer wrote:
         | They took VC a long time ago.
        
         | verdverm wrote:
         | for clarity, Bluesky is an app and ATProtocol is an Open Social
         | fabric they built along with it and what Bluesky is built on
         | top of
         | 
         | In the long-term, ATProtocol will be separated from Bluesky the
         | company and end up as a standards and in some shared governance
         | structure
        
         | BigTuna wrote:
         | There are already working alternate implementations of every
         | protocol component.
        
           | isodev wrote:
           | So what, the governance is not open and what good is a
           | perfectly written engineering spec without the actual place
           | where people hang out? It's just a lot of tech jargon masking
           | yet-another "let's make someone very rich" scheme.
        
             | danabramov wrote:
             | They're actually making first steps to bring it to IETF:
             | https://docs.bsky.app/blog/taking-at-to-ietf
             | 
             | You can be as cynical as you like but I actually tried hard
             | to avoid tech jargon in the article. I'd appreciate you
             | giving it a read -- happy to answer questions or discuss
             | specific concerns.
        
       | backproblems204 wrote:
       | Great read, love these ideas
        
       | arjie wrote:
       | That was very well written. I have to admit that because AT
       | Protocol was Bluesky's I thought it was some corpo version of
       | ActivityPub, but based on this post it makes a lot of sense. The
       | data is in a 'repository' of my choice. I think I like that very
       | much and it aligns with the kind of general principle I have
       | where it's better to apply filtering etc. on the read side rather
       | than on the write side so that I can publish all sorts of things
       | that I want into my repo and others can then read etc. that
       | stuff.
       | 
       | The arrows do seem to imply that commenting on my posts goes into
       | my repo, but I'm sure that's just an imprecision trying to
       | express an idea. The whole thing seems very cool and
       | decentralized.
       | 
       | When I went to see what it takes to run a separate PDS on AT,
       | though, I see that it's all nice and packaged up and has certain
       | assumptions:
       | 
       | 1. It takes care of SSL etc.
       | 
       | 2. It will stand up HTTPS/WSS servers to handle a bunch of RPC
       | 
       | So in practice, you don't get https://roshangeorge.dev and
       | at://roshangeorge.dev because for the latter you kind of need
       | https://roshangeorge.dev/xrpc and wss://roshangeorge.dev
       | 
       | Therefore, you probably end up with https://roshangeorge.dev and
       | at://at.roshangeorge.dev and then you can run
       | https://at.roshangeorge.dev and wss://at.roshangeorge.dev
       | 
       | All minor stuff and doesn't take away from the main point, but it
       | was a thing.
        
         | whyrusleeping wrote:
         | The default pds packaging takes care of SSL, but thats not a
         | requirement, just something we try to make easy for users.
         | 
         | Also at:// URIs are of the form at://DID/..., and your human
         | readable handle is bound to your DID through DNS TXT records
         | _atproto.roshangeorge.dev, but applications all know to render
         | that as just roshangeorge.dev. That DID points to a document
         | that specifies where your server lives, so the HTTPS/WSS routes
         | can live wherever you want them to.
         | 
         | Also likes/replies/etc on your posts go in their authors repos
         | not yours, your intuition is correct there.
        
           | extraduder_ire wrote:
           | You can authenticate a handle via a file in ./well-known/ at
           | the domain too, which is how bluesky does it for their
           | default handles.
        
         | danabramov wrote:
         | _> The arrows do seem to imply that commenting on my posts goes
         | into my repo, but I'm sure that's just an imprecision trying to
         | express an idea. The whole thing seems very cool and
         | decentralized._
         | 
         | The way I used arrows might've been a bit confusing because I
         | use two types of them.
         | 
         | The solid ones pointing from @alice.com downwards indicate
         | ownership. They're the same thing as grouping by color. All
         | blue stuff is Alice's.
         | 
         | The dashed ones pointing between records are links. Those are
         | equivalent of <a href>. Any record can link to any other
         | record, no matter which repositories either is in.
         | 
         | When you comment on someone's post, your comment goes into
         | _your_ repo, but it has a link to the parent post (which may be
         | in any repo). That's usually how you want to represent it in
         | the data model so that anyone indexing both records can
         | reconstruct the relationship.
         | 
         | In the example, Bob comments on Alice's post. So Bob's comment
         | is in Bob's repo and Alice's post is in Alice's repo.
         | 
         | To clarify your specific point, a person commenting on your
         | post will create record in their repo. In fact one can never
         | create records in somebody else's repo. That's the central
         | premise.
         | 
         | Hope that makes sense.
        
           | vermilingua wrote:
           | This makes sense but doesn't this imply that displaying
           | comments under a post is a _very_ expensive operation?
           | 
           | Also not totally clear to me (apologies if I missed it in the
           | post) is _where_ repositories live, I have a bsky account
           | with my own domain, but I am not running anything to host a
           | repo. Am I correct in assuming that bsky is hosting my repo,
           | but I would have the option to self host or move it elsewhere
           | and continue using bsky?
        
             | nasso_dev wrote:
             | Displaying comments is cheap because the AppView (the
             | "cache" layer that consumes the aggregated feed of records
             | from the relay) can maintain a relational database of the
             | social web/graph.
             | 
             | When it receives a post, it creates a row in the Post
             | table. When it receives a comment, it creates a row in the
             | Comment table, which has a column pointing to the Post it's
             | replying to. Then, getting all comments under a post is
             | easy SQL.
             | 
             | About your second question: yes, you're correct. What
             | handle you use and where your data is hosted are completely
             | separate matters.
        
             | danabramov wrote:
             | _> doesn't this imply that displaying comments under a post
             | is a very expensive operation?_
             | 
             | It would be expensive if you don't do your own aggregation.
             | The recommendation for social atproto apps is to aggregate
             | the records you care about into a local database and
             | essentially build your app-specific index/cache of the
             | network.
             | 
             | Ctrl+F to this part: _"Coincidentally, that's the exact
             | mechanism you would use for aggregation. You listen to
             | events from all of your app users' repositories, write them
             | to a local database, and query that database as much as you
             | like with zero extra latency."_.
             | 
             | (One interesting consequence is that indexing the network
             | can also be done by someone on your behalf, see
             | https://slices.network/ for an upcoming experiment in that
             | area.)
             | 
             |  _> Also not totally clear to me (apologies if I missed it
             | in the post) is where repositories live, I have a bsky
             | account with my own domain, but I am not running anything
             | to host a repo._
             | 
             | Yeah, Ctrl+F here: _"Note thathttps://alice.com and
             | at://alice.com do not need to resolve to the same server.
             | This is intentional so that having a nice handle like
             | @alice.com doesn't force Alice to host her own data, to
             | mess with her website, or even to have a site at all. If
             | she owns alice.com, she can point at://alice.com at any
             | server."_
             | 
             | You can inspect where at:// points for your handle in an
             | online browser like http://pdsls.dev. If you put your
             | handle there you'll see the physical server it resolves to
             | at the top.
             | 
             | Presumably you signed up from Bluesky so yes, Bluesky is
             | hosting your repo by default. You can move it somewhere
             | else with no disruption. See
             | https://whtwnd.com/bnewbold.net/3l5ii332pf32u for how to do
             | this from CLI and https://pdsmoover.com/info.html for
             | something less technical.
        
         | KolibriFly wrote:
         | Being able to dump everything into your own repo and let others
         | filter it however they want - that's a powerful shift
        
       | bArray wrote:
       | I really dislike that BlueSky named their protocol the "AT
       | protocol" [1], when we already have the AT command set which
       | remains important [2].
       | 
       | [1] https://atproto.com/
       | 
       | [2] https://en.wikipedia.org/wiki/Hayes_AT_command_set
        
         | simonw wrote:
         | I can forgive them that. There are only 26*26 = 676 two-letter
         | acronyms to go around, and they had the decency to call it "AT
         | protocol" which makes it clearly different from "AT command
         | set".
        
         | est wrote:
         | well if you think the name is bad, there's also Go, which is
         | conveniently typed as Golang.
        
       | eigencoder wrote:
       | Loved the breakdown of a topic I wasn't familiar with.
       | 
       | I just can't help but think that the whole ethos of Open Social
       | Media is misguided. I think that social media isn't good for us
       | -- not just because of the big companies making it worse, but
       | because the technology itself doesn't promote health.
       | 
       | It feels like trying to make cigarettes open-source. Sure you can
       | stick it to big tobacco but at the end of the day you're still
       | making cigarettes.
        
         | gdulli wrote:
         | As long as the Eternal September remains on Twitter, there's
         | nothing unhealthy about being on Bluesky. The format isn't the
         | problem, it's the people who use it as a stupid culture war
         | battlefield. Those people seem content to remain on Twitter.
        
           | xigoi wrote:
           | There is a lot of "culture war battlefield" stuff on Bluesky
           | too.
        
       | oaxacaoaxaca wrote:
       | Huge missed opportunity not using Alice and Tom for the relevant
       | initials lol
        
       | popcar2 wrote:
       | I don't have a horse in which decentralized protocol wins, but
       | while ATProtocol sounds great on paper I'm still inching closer
       | to liking ActivityPub more. I'm pretty active on Lemmy[1] which
       | is quite active and fun to browse
       | 
       | 1. 99.99% (literally) of AT users are on Bluesky, which is helmed
       | by a for-profit corporation. The argument is that they don't
       | control the protocol but considering it is THE dominating
       | instance of that protocol, what's stopping them from strong-
       | arming the protocol and changing how it works to benefit them?
       | Better yet, what's stopping them from doing a rugpull and closing
       | off their open service? What if bluesky decides 5 years from now
       | that you aren't allowed to move your account? This isn't some
       | hypothetical scenario, this already happened before. A lot of
       | social medias started off with fairly open features and APIs and
       | slowly choked them out for profit.
       | 
       | 2. Users don't really care about protocol, they care about
       | momentum and userbase. Piefed/Lemmy/Mbin are all popular-ish
       | Reddit alternatives using AP. It was already a struggle to reach
       | a point where posts could get over a hundred comments a day, how
       | are you going to convince people to move to another platform
       | again? I'm worried this will just end in splintering an already
       | niche community and cause people to just give up and go back to
       | using popular platforms.
       | 
       | Being able to move accounts is a very neat feature but it's not a
       | reason enough to move. You can already export your settings and
       | make an account on another instance in 20 seconds then import
       | your settings again, which would bring back your subscriptions
       | and blocks and all you set up from account 1. To me it's not a
       | huge deal.
       | 
       | See also: https://arewedecentralizedyet.online/
       | 
       | [1]: A fediverse Reddit alternative, e.g https://lemmy.world/ and
       | https://programming.dev/ . See also Piefed which I think is
       | better nowadays https://piefed.social/
        
         | self_awareness wrote:
         | I know that Mastodon is not the same as ActivityPub, but I
         | don't know how can it be treated seriously if it allows
         | disappearing replies. Whatever we write will disappear after
         | some time. Sometimes. Because sometimes not. Maybe it's an
         | implementation problem, I don't know, but it was one of my two
         | reasons for my exit from Mastodon.
        
           | F3nd0 wrote:
           | I think it's ultimately up to your instance whether it keeps
           | your posts indefinitely or not. I think most do, but others
           | might delete posts after a period of time, in which case they
           | should mention this to their users (on their 'About' page,
           | for example). Personally, I can't say I've encountered this
           | problem, but then again I've mostly used Pleroma (which is a
           | different program implementing the ActivityPub protocol, like
           | Mastodon).
        
           | yborg wrote:
           | It's literally a feature - individual users can set post
           | auto-deletion on their instance. Because a government could
           | suddenly start firing people from their jobs for some
           | shitpost they made a decade ago.
           | 
           | But you have the fact that this is the Internet, and somebody
           | will have archived your post no matter what you or your host
           | instance does. So you can rest assured that whatever you
           | wrote on Mastodon is out there somewhere...
        
         | steveklabnik wrote:
         | > considering it is THE dominating instance of that protocol,
         | 
         | Instances don't work like they do on mastodon. There's not
         | really a "dominating instance" in the same way. Heck, even
         | within Bluesky's infra, there are multiple PDSes. Basically,
         | stuff is layered in a different way (which the article shows
         | the details of) and so talking about the structure of things
         | ends up working differently.
         | 
         | > what's stopping them from strong-arming the protocol and
         | changing how it works to benefit them?
         | 
         | This is absolutely a real concern. I believe they have shown
         | themselves to be good stewards, and they also recognize this
         | concern. As the ecosystem grows, this will be fixed.
         | 
         | > Better yet, what's stopping them from doing a rugpull and
         | closing off their open service? What if bluesky decides 5 years
         | from now that you aren't allowed to move your account?
         | 
         | This is built into the protocol! You can back up your CAR file
         | and move it to another host without the approval of your
         | current host.
         | 
         | > You can already export your settings and make an account on
         | another instance
         | 
         | This doesn't work on masto to the same degree as atproto. You
         | lose a lot of stuff when you move on masto, but it's 100%
         | transparent on atproto.
        
           | xrisk wrote:
           | If your pds refuses to serve you your CAR file I don't think
           | you can do anything about it, can you?
        
             | steveklabnik wrote:
             | Yes, if you are really worried about this you'd want to
             | regularly back that up.
        
               | linza wrote:
               | I read your reply as the scenario from GP is unlikely to
               | happen in practice or has low impact. To me it seems you
               | need to make frequent backups of "your" data to have a
               | copy of it.
               | 
               | Can i run multiple PDSes with my own single identity to
               | not give one provider exclusive power over access to "my"
               | data?
        
               | danabramov wrote:
               | Ideally, a client app would make these backups for you
               | automatically. I hope Bluesky official client will add
               | automatic backups (in addition to the existing manual
               | export flow that already exists). It's not hard to set it
               | up as a GitHub action today if you're technical but
               | making it accessible to non-technical users seems
               | important.
               | 
               |  _> Can i run multiple PDSes with my own single identity
               | to not give one provider exclusive power over access to
               | "my" data?_
               | 
               | Not really since there has to be a source of truth where
               | the writes happen. I guess you could manually replicate
               | changes between multiple servers but there still has to
               | be one that applications know to talk to. I'm not sure
               | what problem it would solve. This seems similar to "can I
               | have multiple deployments of my site" -- you sure can,
               | but you might as well deploy it elsewhere when you
               | actually plan to point to it.
        
               | steveklabnik wrote:
               | I personally believe that the chance of Bluesky PBC
               | suddenly swapping all of their software to no longer be
               | built on atproto to be a very low chance, yes.
               | 
               | There's middle grounds here; for example, due to some
               | recent moderation decisions, some users have decided to
               | move away from Bluesky PBC-run PDSes and to self hosting.
               | Those users did not need to proactively backup to move.
               | The proactive backup cases are things like "Bluesky PBC's
               | servers disappear suddenly" or "they ban your account."
               | 
               | I don't think you can run multiple PDSes, but since it's
               | quick to move the canonical version, I don't see that as
               | a huge drawback personally. In the same way you'd
               | fallback to the secondary if the primary turns out badly,
               | you'd set up a new PDS and point your identity at it.
        
             | nulfrost wrote:
             | Regular backups help in this case, you can move all of your
             | data to a new host if you have a recent backup somewhere
             | and your rotation key. Not really approachable for the
             | average user today but there are people working to make
             | this easier.
        
           | rossy wrote:
           | I don't think being able to migrate your account addresses
           | the rugpull concern. The rugpull scenario is that one day, in
           | five years or so, bsky.app drops all AT Protocol support and
           | transforms into a Twitter-like centralized social media
           | website. The problem isn't that the account will stop
           | "existing" but that Bluesky users will stop seeing it. The
           | average non-techie Bluesky user who doesn't know about the AT
           | Protocol won't even notice the change, except that, from
           | their perspective, a tiny percentage of nerdy users have
           | stopped posting. For you, "migrating" your account away is
           | effectively just deleting it from the now-centralized Bluesky
           | and willfully decreasing your audience by 100-fold or more.
           | 
           | The problem is a social not a technical one. It doesn't
           | matter how good AT Protocol is at account migration. The vast
           | majority of AT Protocol users _think_ of themselves as
           | Bluesky users and don 't even know what the AT Protocol is.
           | If the official Bluesky clients move away from the AT
           | Protocol, the majority of users are moving with Bluesky.
           | 
           | For all the UX concerns people have with
           | Mastodon/ActivityPub, at least they make it obvious that
           | different users are hosted on different instances, and no one
           | instance has more to gain than it does to lose by
           | defederating.
        
             | steveklabnik wrote:
             | It is true that there are both social and technical
             | components. You cannot force someone to use an app they
             | don't want to, so there's no real solution to the social
             | problem you pose. However, this isn't any better in
             | Mastodon. If you instance decides to swap the software to
             | no longer federate, you're stuck.
        
         | AlienRobot wrote:
         | What irks me is that in the end of the day if you go to Bluesky
         | it's all American politics and if you go to literally any
         | mastodon instance it's all American politics.
         | 
         | Maybe it's because I don't like monster of the week political
         | drama, but I still don't see a reason to use them instead of
         | Tumblr, Pinterest, or even TikTok.
        
           | popcar2 wrote:
           | This is very true, and it's a large part of why I never use
           | microblogging at all, it's impossible to just find posts that
           | fit what you want to see.
           | 
           | That's why I mostly use Lemmy/Piefed because everything is
           | neatly organized into communities that you can subscribe to.
           | I mostly browse tech & gaming communities and my feed is very
           | chill.
        
           | viraptor wrote:
           | > if you go to literally any mastodon instance it's all
           | American politics.
           | 
           | It really depends on who you follow. Almost all the talk I
           | see is tagged with #uspol so I could easily filter it out,
           | but even without it, it's not the dominating topic.
        
           | est wrote:
           | so what we need a de-politics filter by default?
        
           | small_scombrus wrote:
           | I feel like I get ${local_country} politics* because I follow
           | people from ${local_country} and most the other people I
           | follow who do post about US politics tend to spoiler their
           | posts with USPOL, so I can just scroll past if I'm not
           | feeling it.
           | 
           | * Usually spoilered with "${local_country_code}POL"
        
       | BinaryIgor wrote:
       | Sometimes I wonder - maybe websites were enough? Most people on
       | most platforms are readers/consumers, not producers anyways.
       | Maybe having a personal website was a good filter for publishing
       | after all? Maybe personal websites + sites like hackernews that
       | allows us to discuss our and other people's work is the best the
       | Internet could be.
        
         | woah wrote:
         | Maybe pianos were enough. Radio has made it so families no
         | longer gather round and sing in the evenings and TikTok is even
         | worse than radio
        
           | BinaryIgor wrote:
           | It depends; not everything that's newer is automatically
           | better.
           | 
           | Web and websites did the heavy lifting of instant and world-
           | wide information sharing.
           | 
           | With social media, open or closed, there are many non-obvious
           | tradeoffs; I am not sure whether on the whole, we are better
           | off with or without them - time will tell
        
         | Eisenstein wrote:
         | Even if the information consumers are 99% of the users, making
         | the features available for the content creators leads to much
         | better content. Plus people want the ability to be able to post
         | content if they need to. I shall point to the /r/ask*
         | subreddits as an example.
        
         | amadeuspagel wrote:
         | Hacker News doesn't allow you to build an audience, so every
         | post has to appeal to the average HN reader to get attention.
        
       | INTPenis wrote:
       | This has already been covered many times but the design of the AT
       | protocol requires a lot more resources than AP. Meaning it will
       | be reserved for large organizations, while AP has a lower entry
       | of threshold.
       | 
       | I want both to thrive, but I prefer AP for small communities.
        
         | steveklabnik wrote:
         | Depending on what exactly you mean, this isn't the case. For
         | example, running your own PDS is _very_ cheap.
         | 
         | If you want to fully run a full copy of _everything_ yourself,
         | it 's going to be more expensive, sure, but those costs have
         | gone down _dramatically_ over time. The most expensive bit is
         | running $34 /month:
         | https://whtwnd.com/bnewbold.net/3lo7a2a4qxg2l
        
         | nulfrost wrote:
         | Hm? Which part of the stack requires a lot of resources? Each
         | part (PDS, Relay, AppServer (AppView)) can be run on a PI.
         | Blacksky (not a large organization by any means and completely
         | community funded) is almost running the entire bluesky stack
         | themselves. IMO there's not much of a reason to run every part
         | of the stack yourself unless you want to be completely
         | independent from bluesky. At the very least if you want to host
         | your own data then that just means running a PDS, which means
         | finding the cheapest VPS you can that fulfills the min spec.
         | Mine costs about 7 bucks per month and I never have to think
         | about it. I'm also running a relay for no reason other than for
         | learning purposes for about 30 bucks a month.
         | 
         | The AppServer, if you want index the full bluesky network (39M
         | users) will run you about 200-300 dollars a month. Again, not
         | really needed but you can if you want. There's also experiments
         | people are trying out to only index smaller parts of the
         | network, e.g. only users you follow which would mean hosting an
         | AppServer would be even cheaper. FWIW, I like both protocols
         | and want them to succeed, anything that gets people off of
         | closed social media.
        
           | INTPenis wrote:
           | It sounds like the AT protocol is improving in the right
           | direction, but the numbers still say it's highly centralized
           | and therefore closed social media owned by one monolithic
           | entity.
           | 
           | AP has its issues, namely not being at all consistent, but
           | that trade-off allows anyone to run all the components of the
           | network without breaking their bank.
        
             | danabramov wrote:
             | AP is just "many small centralized services that email each
             | other". Its scaling characteristics reflect that - of
             | course running a "little Twitter for 100 people" is cheap.
             | But it's a completely different thing. You could "scale
             | down" atproto in the same way, but the point of atproto is
             | that you can aim higher than niche islands.
             | 
             | ActivityPub doesn't _attempt_ to solve any of the same
             | issues that atproto does -- there's no ability to have a
             | full consistent view of the network. So it's comparing
             | apples and oranges.
        
       | bonoboTP wrote:
       | How does blacklisting / moderation etc. work here. How does
       | blocking work? How do people make sure to distance themselves
       | from political enemies? Do the aggregator cache servers block
       | certain user domains? How do you ensure that the aggregator
       | returns valid and non-forged comments and likes?
        
         | steveklabnik wrote:
         | > How does blacklisting / moderation etc. work here.
         | 
         | Anyone can run a moderation service. Users subscribe to the
         | services they want. When you flag a post or account for
         | moderation, you choose which service you send the report to.
         | 
         | > How does blocking work?
         | 
         | Blocking works by publishing a "hey I've blocked this person"
         | record in your database. Applications then can use this to
         | enforce that.
         | 
         | > How do people make sure to distance themselves from political
         | enemies?
         | 
         | I'm not sure what this means.
         | 
         | > Do the aggregator cache servers block certain user domains?
         | 
         | They could, and this is also a property that's not really about
         | blocking, that is, you could choose to cache only part of the
         | network if you choose, which could be useful for various
         | reasons.
         | 
         | > How do you ensure that the aggregator returns valid and non-
         | forged comments and likes?
         | 
         | Cryptography, basically.
        
           | bonoboTP wrote:
           | > I'm not sure what this means.
           | 
           | I'm trying to imagine how a situation analogous to Gab vs
           | Mastodon may arise and play out here, or if the setup is
           | different. Like would they just live side by side, with
           | various frontend aggregators that present one or the other
           | world to you?
           | 
           | > Cryptography, basically.
           | 
           | How do I, the user with a browser verify that? Do I need to
           | use a different client program, or a browser extension? The
           | aggregator site can show me a green checkmark or whatever,
           | but that's just a claim by the aggregator. Am I expected to
           | fire up a terminal window to compute signature validations to
           | check if Alice really put a like on that comment?
        
             | steveklabnik wrote:
             | Ah, I see. Yeah, you could build alternative clients that
             | only show you part of the network if you want. Or run your
             | own separate copy of the entire network. Because the two
             | models work differently, there's not an exact analogy.
             | 
             | You could also use one of the various PDS browser websites
             | to go check their PDS, or a terminal tool, sure. I will be
             | honest and the details of exactly how the cryptography
             | stuff works is not my strongest point when understanding
             | the protocol, maybe someone else can chime in and give you
             | a more detailed description here.
        
       | poolnoodle wrote:
       | Every day I am more convinced that we don't need these global
       | conversation platforms at all.
        
         | Eisenstein wrote:
         | I know this sounds pithy, but why are you here then? Or do you
         | think that only other people shouldn't have them?
        
           | poolnoodle wrote:
           | I should have been more precise. We don't need microblogging.
        
       | tolerance wrote:
       | This looks to be turning into a curious case study on how network
       | states develop.
        
       | motoxpro wrote:
       | I really hope this doesn't catch on. Having ever random site on
       | the internet being able to see every bit of my data sounds like a
       | nightmare. Unless I am misunderstanding something.
        
         | xigoi wrote:
         | They will only see the data you post publicly. You know, like
         | with a personal website or with any other social media
         | platform.
        
         | danabramov wrote:
         | This is for public data.
         | 
         | Think Twitter posts, StackOverflow answers, Reddit comments,
         | etc. The stuff you don't want companies to gradually start
         | locking up for their own gains (as they tend to).
         | 
         | The protocol will likely be extended for private and semi-
         | private data in the future, which would work by granting
         | explicit permissions to apps. For now, app developers would
         | keep private data in databases, same as usual.
        
       | not--felix wrote:
       | After developing my own rss reader[1] i think atproto could be
       | the successor of rss. It is the same principal. The only
       | difference is it is more complex and there are more components
       | like the firehose, which is optional, the reader could just
       | scrape their following themself. I think the resource usage is
       | also only a problem if you want a view of the entire network, if
       | we treat it more like rss it would be totally fine to just keep
       | the portion of the network we are interested in. Its not as
       | straight forward as rss, because of types like comments and
       | likes. To notice them you need to listen to the entire network
       | stream, but you do not need to save everything. I am really
       | excited where this will go.
       | 
       | [1] https://ivyreader.com
        
         | danabramov wrote:
         | Yeah. I was thinking of emphasising RSS as a comparison more
         | but didn't end up using it much. But I do like to explain
         | atproto as basically typed and signed JSON RSS over HTTP and
         | WebSockets.
        
       | rakoo wrote:
       | This is a beautifully written introduction to the architecture of
       | AT, but after much consideration I will still remain on
       | ActivityPub for the time being.
       | 
       | I love the idea to define data formats first, and then build on
       | top of that. It's the only way we should do everything, because
       | if you have the data, everything can be re-built on top.
       | Unfortunately the way AT works is all contained in here:
       | 
       | > Social aggregation features like notifications, feeds, and
       | search are non-negotiable in modern social products. [...]
       | Coincidentally, that's the exact mechanism you would use for
       | aggregation. You listen to events from all of your app users'
       | repositories, write them to a local database, and query that
       | database as much as you like with zero extra latency. [...] This
       | might remind you of how Google Reader crawls RSS (rip).
       | 
       | In order for the social aspect to work, all data must at some
       | point or another be aggregated in a single place. Said single
       | place must then be huge, as it scales linearly with the activity
       | of the network; in a still-capitalist world this means that this
       | single place will always be run and led by money, unless some
       | extraordinary volunteers-based project like Wikipedia springs up.
       | The example of Google Reader is to the point: it was the biggest
       | tech company at the time, provided a service for free, and
       | decided to stop because it didn't care anymore.
       | 
       | In fact Google Reader is a very good comparison. AT works exactly
       | as if you had websites, each with their own RSS feed, and then a
       | big relay called Google, providing search, feeds, notifications,
       | ... but as we all know by being the middleman between producers
       | and readers Google gained an astonishingly high power. That is
       | the business model described by Cory Doctorow when he talks about
       | enshittification. Put yourself in the middle, and everyone will
       | depend on you.
       | 
       | The only way an AT based product works at scale, ie with everyone
       | easily talking to everyone, is with one or a few mega
       | intermediaries between everyone of us. I fear this is not going
       | to solve any of the issues we have.
       | 
       | What is different in ActivityPub ? Intermediaries are definitely
       | useful for some services, but once your network is built you
       | don't need them anymore: content flows directly between the
       | repository, no middlemen needed.
       | 
       | In short: if we want a single network at large scale, AT requires
       | large scale centralization points, while AP certainly needs them
       | but could survive without them. Either we face that, or we start
       | exploring and living within small-scale networks
        
         | Timwi wrote:
         | What I found most exciting while reading this article was the
         | promise that you can "up and leave" and take your data with you
         | without breaking links, because the links are based on a domain
         | name you control.
         | 
         | This is not so in ActivityPub. The data you post is owned
         | by/controlled by the instance you're on. In the language of the
         | article, you're still a row in somebody else's database.
         | 
         | I was on Mastodon for a while until the instance I was on shut
         | down. I naively assumed that I could export and re-import my
         | posts but that was not so. Everything is deleted. I technically
         | have an archive of it in the form of some JSON files, but as
         | illustrated by the article, this is now dead data. The same
         | will happen again if/when my current instance shuts down. The
         | only way around it is to run my own instance, which for the
         | vast majority of people is a ludicrous proposition.
        
           | rakoo wrote:
           | If we're talking strictly ActivityPub, they're exactly the
           | same: servers where your data lives. AT's PDS give you access
           | to your data, but proper AP servers also do that: you have
           | your collections, and all your activities in them. The trick
           | is to recognize which software is actually a proper
           | ActivityPub software, and unfortunately Mastodon isn't one of
           | them. The current issue is not with ActivityPub.
        
         | danabramov wrote:
         | Well, atproto can scale down too if you're content with a
         | subset of data. In other words, it's not that atproto
         | _requires_ you to have a full network, it's that it _lets_ you
         | build apps over whole network. ActivityPub doesn't offer an
         | approach to do that. So we're not comparing apples to oranges.
         | 
         | I do think that you're underestimating the value of open
         | network for large-scale aggregation. Yes, for big open world
         | you need big indexes. But indexes don't have to always done by
         | single entity. Some can be shared. Resources can be pooled for
         | apps that need a materialized index of the same data. We
         | haven't really seen how this plays out yet because big indexes
         | only existed behind the doors so far.
         | 
         | And if all else fails, limiting the scope (by time or
         | community) works in atproto too. It's just... not as fun :)
        
           | rakoo wrote:
           | The subtext of my comment is that the people doing and
           | pushing for atproto are not building for small networks but
           | for big networks. Yes, technical solutions can be found; the
           | problem is, as usual, not technical but rather social. What
           | kind of organization can build and maintain world-scale
           | indexes ? What kind of people can be in those organizations ?
           | There is very little reason to believe that those
           | intermediaries will _not_ behave the same way intermediaries
           | have always behaved, if we don 't also challenge the socio-
           | economico-political system they are developed in. Which
           | developers have an automatic reaction to _not_ do. That 's
           | where ActivityPub changes: the social aspect of what it takes
           | for viable communities cannot be evaded. Sometimes with bad
           | consequences though.
        
             | danabramov wrote:
             | I guess I just don't believe that any solution where you
             | don't have full view of the network is aligned with what
             | normal people want. Maybe AP is on a bigger mission to
             | teach people that they're "wanting wrong things" and
             | actually you _should_ enjoy a system where everyone sees a
             | different like count and half the replies are missing. I
             | think it's a dead end.
        
               | rakoo wrote:
               | That's a purely personal point of view but I don't think
               | the AP people claim that "people want the wrong things",
               | but rather that "the things you want have a cost and
               | we're not hiding it".
               | 
               | The fact that likes count and half the replies are
               | missing is not specific to AP but to implementations not
               | willing to actually follow the AP community: in fact the
               | SocialHub (https://socialhub.activitypub.rocks/)
               | community is the place where all coordinated development
               | happens, and solutions to those issues have already been
               | designed and implemented in multiple softwares, with the
               | notable exception of Mastodon. Maybe that's the issue:
               | people keep looking at Mastodon to understand AP, but
               | Mastodon is one of the worst examples of AP, even when
               | talking only about the technical domain. It doesn't
               | implement the C2S API, it doesn't have portability, likes
               | counts and missing replies as you said, ...
        
               | danabramov wrote:
               | Mastodon/AP is difficult to discuss because pointing to
               | flaws of Mastodon leads to people saying "it's just a
               | Mastodon problem", but AP doesn't by itself specify much
               | so it's hard to critique it too. If there's a "flavor" of
               | AP that's competitive with what atproto solves (can "walk
               | away" without cooperation, can "revive" and "remix" data
               | from other apps, can "fork" products with all their
               | data), I'd like to read a condensed summary of that
               | architecture.
        
               | Kye wrote:
               | That's why I always say AP-in-practice. It handily avoids
               | any "but the spec says!" diversions.
        
       | zhoukekestar wrote:
       | This is all based on the premise that you maintain ownership of
       | the DNS. Once you lose control of your domain due to legal issues
       | in the relevant country, those references/citations become
       | invalid. However, this is still a great improvement over the
       | current situation.
        
         | Kye wrote:
         | There's still a way:
         | https://whtwnd.com/bnewbold.net/3lj7jmt2ct72r
         | 
         | It's one of those in-progress things that will get better and
         | easier to use.
        
         | steveklabnik wrote:
         | My sibling links a great post on this, but to say it in a
         | slightly shorter way, the core of identity is a DID, not a
         | domain. You can update the domain associated with your DID if
         | you lose control of the DNS and it will all transparently
         | update.
        
         | danabramov wrote:
         | I've skirted around this in the post to keep conceptual clarity
         | but you _can_ always move away from the domain (as a handle)
         | without breaking links. This is because there's a more
         | persistent identifier that represents your identity (or at
         | least there's an option of having one, and that's the default
         | mechanism). Links between records actually use that identifier
         | instead of the domain handle.
         | 
         | For a more technical overview, see "identity" here:
         | https://mackuba.eu/2025/08/20/introduction-to-atproto/
        
       | robertdaniels wrote:
       | The AT Protocol's approach to decentralized data repositories is
       | excellent for empowering users with greater control, but it also
       | creates vulnerabilities to automated abuse, such as bots
       | disrupting event streams or fabricating repositories to
       | distribute spam. I've integrated Sceptive bl0ck API to access IP
       | and behavioral intelligence, which has reduced false positives
       | from aggressive crawlers by at least 70% on my setup.
        
       | est wrote:
       | I really hope ATProto considered static-hosting by design.
       | 
       | Like RSS, people can host it on github pages, a service would
       | poll it periodically to aggregate.
       | 
       | This would lower the barrier of entry by a large margin.
       | 
       | Maybe not all of bsky functions are viable, but I hope certain
       | core part of "open social" can happen in this way.
       | 
       | But ATProto chose wss:// isntead.
        
       | Lich wrote:
       | What happened to Solid Pod? Tim Berners Lee's project? I feel
       | like it's another project of this type, and even predates AT, but
       | ever since its announcement hasn't made much waves.
        
       | kyledrake wrote:
       | There was this amazing demo I was given at the at proto dev con
       | of a working web site using the protocol
       | https://danielmangum.com/posts/this-website-is-hosted-on-blu...
       | 
       | It could definitely work as an alternative for the HTTP based
       | web.
        
       | bachback wrote:
       | DNS is much more foundational and overlooked here. how does the
       | world agree that "x.com" resolves the way it does?
        
         | danabramov wrote:
         | How is it overlooked? It's mentioned several times, including
         | the mention that atproto builds on top of DNS among other
         | things.
        
       | parasitid wrote:
       | https://solidproject.org/
        
       | geokon wrote:
       | the view of social media as just data that can be rehosted i
       | think misses a large part of its success
       | 
       | Twitter and Instagram are fundamentally different scenes bc of
       | their restricted formats. Twitter has/had character limits.
       | Instagram was primary for photo sharing. if you try to cram a
       | long political rant in an instagram photo or description.. it is
       | fighting against the app format and limitations. This sculpts the
       | apps "culture"
       | 
       | im sure it can work, creating a hodge podge of random
       | unstructured content.. like the blogosphere or Facebook. But it
       | wont displace the walled gardens. You can make a Kiki app that
       | only shows images, but youre following someone who is using Booba
       | app which allows him to post pictures with descriptions. And
       | suddenly nobody really knows what to expect
        
         | xigoi wrote:
         | > Twitter has/had character limits. Instagram was primary for
         | photo sharing. if you try to cram a long political rant in an
         | instagram photo or description.. it is fighting against the app
         | format and limitations. This sculpts the apps "culture"
         | 
         | A big part of Twitter's "culture" is creating "threads" to work
         | around the character limit, which kind of defeats the point.
        
         | danabramov wrote:
         | Designers of atproto actually agree with you so the data is
         | _not_ unstructured! It's structured by schemas (called
         | "lexicons") controlled by app developers.
         | 
         | Data in user repositories is treated as untrusted input by
         | apps, and rejected if it doesn't pass the corresponding schema.
         | Schemas are evolved in a backwards-compatible way with a nudge
         | towards future extension (eg open unions are default).
         | 
         | That's exactly why you can't make a 500 character post on
         | Bluesky. The Bluesky server will ignore your record as being
         | invalid.
        
           | geokon wrote:
           | ah okay, i hadnt come across this. seems like a potentially
           | viable strategy
           | 
           | > Schemas are evolved in a backwards-compatible way with a
           | nudge towards future extension (eg open unions are default).
           | 
           | unions of schemas? Doesnt that lead to a facebook-ized
           | kitchen sink app that does everything?
           | 
           | you can effectivelt filter to .. say .. only photos with a
           | photo-only app. But that doesnt form a app/schema culture
        
             | danabramov wrote:
             | See here for how schemas are defined:
             | https://atproto.com/specs/lexicon
             | 
             | I meant specifically that "unions" default to open. Let me
             | give you an example. A Bluesky post may contain different
             | types of attachments. Image, gallery, video, etc. That's a
             | union of known schemas. However, that union is open. That
             | means that generated type will include "or unknown" as the
             | last possible value. Apps are expected to ignore that case
             | when pattern patching since they wouldn't know how to
             | interpret it. However, that leaves Bluesky with ability to
             | later officially support other types of attachments.
             | Because more potential types could be added to the union
             | layer (making some previously "unknown" stuff typed).
             | 
             | This has an interesting consequence that third party
             | clients can "recognize" some type before it's official. Eg
             | some third party Bluesky client could choose to explicitly
             | support a "Leaflet document" attachment to Bluesky posts,
             | governed by Leaflet schema. If this pattern gets popular,
             | Bluesky could be motivated to also support it, and even to
             | reference a Leaflet document as one explicitly noted
             | subtype of that union. Or it could keep ignoring it as one
             | of the "unknown" values.
             | 
             | More on social issues around lexicons here:
             | https://www.pfrazee.com/blog/lexicon-guidance
        
       | darkamaul wrote:
       | I'm really impressed by the quality of this post, as others have
       | mentioned. It's very well written, and the clarity of the
       | drawings adds a lot to the overall explanation.
       | 
       | It perfectly illustrates the old saying: a picture is worth a
       | thousand words.
       | 
       | I had never heard of this protocol before (even though I've been
       | using Bluesky since the Twitter/X takeover), but after reading
       | this, I feel even more confident that the migration was the right
       | call.
        
         | suyash wrote:
         | I'm curious how did he create those illustrations - by hand or
         | AI generated?
        
           | danabramov wrote:
           | I've used https://excalidraw.com and exported to SVG. It's
           | very nice for quick technical illustrations.
        
       | SilverSlash wrote:
       | This is a fine example of technical exposition. Very easy to read
       | and understand! Like many others, before this post I hadn't the
       | vaguest idea what atproto was; I always assumed it was some
       | decentralized thing a la crypto. But this actually makes a lot of
       | sense to me and it feels like an objectively good thing.
       | 
       | Except for one thing which has been pointed out by others. Anyone
       | can access *all* of my data over this protocol. I like the idea
       | that a lot of my data is directly accessible similar to the early
       | web. But it would be nice if some of that data was only
       | accessible if the accessor was permitted.
       | 
       | I don't really know much about auth tokens but I'm guessing they
       | shouldn't be that hard to incorporate into this thing? When
       | BlueSky or whatever app queries "@username.com/private/documents"
       | the server expects an auth token, whereas it does not when the
       | app tries accessing "@username.com/bluesky/posts".
        
         | hirenj wrote:
         | I was ruminating about how Atproto would be great for re-
         | thinking the peer review system for scientific journals.
         | 
         | Imagine a world where a preprint is "published" onto the social
         | web, from which you could aggregate reviews/comments. I
         | eventually ended up thinking about exactly what you raise - it
         | would be great to have some degree of access control on this so
         | both comments and published things can be selectively shared
         | (with an option to make everything public later on, maintaining
         | all the links).
        
         | danabramov wrote:
         | Yes, something like this is planned in longer term.
         | 
         | The team decided to tackle public data first because scaling
         | aggregation while preserving meaningful ownership is hard. So
         | far I think they've succeeded at that.
         | 
         | Private or semi-private comes with a set of different
         | challenges. Indeed scoped tokens are coming (via OAuth scopes)
         | but that's used for writes. The same mechanism could be
         | extended for private reads in the future, like you describe.
         | There's questions about what shape private data would have
         | though.
         | 
         | See https://pfrazee.leaflet.pub/3lzhmtognls2q and
         | https://pfrazee.leaflet.pub/3lzhui2zbxk2b for recent thoughts
         | on this topic from Paul who works on atproto.
        
       | 0xbadcafebee wrote:
       | It doesn't matter who controls social media; federated or not,
       | social media is inherently harmful to humans. In a few years we
       | will find out it's like cigarettes. Addictive and harmful, and
       | needs regulation, if not outright bans.
       | 
       | But going back to this obsession about data. It's really an
       | obsession with control. But none of you really have control. You
       | hope that you can "engineer" your way into control of your own
       | lives, of your data, even of the way the world works. But
       | engineers do not have power. Businessmen do. Until you realize
       | that, you will continue writing technical specifications like
       | this, making micro-communities, and missing the big picture.
       | Control requires power. Power requires money. If you can't
       | monetize it, you have no control.
       | 
       | Whatever federated thing you think is going to win, isn't going
       | to win, if there isn't enough money to back it. Because someone
       | with money will just make the biggest "federated thing" (or not;
       | it could be completely proprietary and billions of people will
       | still use it), and eventually close it off once they have enough
       | users. You cannot engineer your way out of money, politics, or
       | human nature.
        
         | danabramov wrote:
         | I tried to make the case that the design of web itself creates
         | different dynamics than the design of today's social networks
         | in a demonstrable way (walking away from hosting is still easy
         | so it became commodified). I get your pessimism but I wonder
         | how you'd engage with that argument. I think it shows the shape
         | of the thing actually matters.
        
           | Kye wrote:
           | Anisota is one of the more interesting attempts at a new
           | presentation:
           | 
           | https://anisota.net/profile/dame.is
        
       | hollowonepl wrote:
       | I think it would be better articulated if comparisons to
       | ActivityPub were made. Those are I believe two competing visions
       | of Open Social defined as communication protocol, not a platform.
       | Otherwise it just sounds like evangelizing employer and that
       | compromises the whole "open" concept of the article, fairly.
        
         | lowkeyokay wrote:
         | The author surely knows about competing protocols but prefers
         | at. It would be just as easy to argue the author is biased if a
         | comparison was made. Maybe more informative though.
        
           | danabramov wrote:
           | I thought about covering others at first but it ended up
           | distracting from the point I wanted to make. I tried to make
           | a strong case for this particular vision in this article. I
           | could write something separate as a comparison, or maybe let
           | other voices speak for their thing.
           | 
           | In short, I don't think ActivityPub solves any of the stated
           | problems (ability to walk away without cooperation; forking
           | products; giving new life to old data). In that sense it
           | doesn't mirror "open source but for data" and doesn't match
           | the premise of my post.
        
             | hollowonepl wrote:
             | I don't believe anybody else can do it with good start
             | you've made. I think above is nice headline for some more
             | complete assessment as a follow-up article. indeed!
        
       | wsve wrote:
       | The author is talking about _owning_ a domain and how having that
       | domain gives you _ownership_ over your data... But I can 't but
       | think that, at least in the US, domain names are _rented_ from
       | _private_ Internet service providers. There is no ownership
       | involved. One way or another, we are still paying a company.
       | 
       | The assumption of the article is that ISPs are stable and net
       | neutral enough that one would not worry about the ISP going under
       | or seeking some personal vendetta against you and booting your
       | domain. A separate entity may no longer be hosting our data, but
       | a private entity is the gatekeeper of whether anyone is able to
       | _see_ your data.
       | 
       | All that to say, if we want true _ownership_ of domains, ISPs
       | need to be a nationalized, democratized service.
        
         | infinitifall wrote:
         | There are clearnet websites for flat earthers, anti-vaxxers,
         | cults, hacker groups, classified document leakers, nazi groups
         | and terrorist organisations. Finding a registrar that lets you
         | say what you want is a solved problem.
        
           | a2128 wrote:
           | Currently most people publish stuff on big platforms so
           | governments, activists and billionaires will go after these
           | platforms to influence or control what's being talked about.
           | I worry that if we never had big platforms, or we moved past
           | them, all of the focus would be on going after registrars and
           | hosts instead. It's not a bulletproof system unfortunately
        
         | gr__or wrote:
         | While I agree with the sentiment, I think it confuses ISPs with
         | registrars. There are still many ISPs that do that service as
         | well, it's less common than it used to be.
         | 
         | It is quite common for national TLDs (like .de, .jp or .cn) to
         | be managed by not-for-profit entities, under contract with
         | their respective governments... which might also not be great
         | wrt censorship.
         | 
         | There is also the general issue of equal access, where shorter,
         | more memorable domains get more expensive and hodling domain
         | names is only disincentivized for people without enough funds.
         | I would very much like to see an alternative system to domain
         | names, probably something more in the web of trust space.
        
         | nairboon wrote:
         | There are alternatives to DNS, like GNS (GNU Name System):
         | https://www.gnunet.org/en/gns.html
        
           | doublerabbit wrote:
           | Opennic too, they even allow you to host your own tld.
           | 
           | https://opennic.org/
           | 
           | It's getting harder to change DNS settings on Windows, even
           | systemd makes it a PITA to update DNS entries.
        
           | ryangibb wrote:
           | The difficulty with the GNS is getting the public keys that
           | enable the decentralisation. Key signing parties seem to have
           | their limits.
           | 
           | There's a bunch of alternative DNS roots out there, that are
           | similarly hierarchical, but really interesting: https://en.wi
           | kipedia.org/wiki/Alternative_DNS_root#Implement...
        
           | idiotsecant wrote:
           | Or, at the risk of saying the unpopular thing, Ethereum Name
           | Service? (ENS) This sort of thing is pretty much exactly what
           | ENS is for.
        
         | rambambram wrote:
         | The most safe way to accomplish what you want is using postal
         | pigeons, made stealthy with black spray paint.
         | 
         | All jokes aside, an educated guess on what to trust (or not) is
         | necessary. Otherwise you wind up on a slippery slope that goes
         | in circles and always results in 'we need more laws'.
         | 
         | Long way to say that I think 'owning' a domain name and
         | publishing on there is way better than the silos we're
         | accustomed to nowadays. The open web never stopped working as
         | intended, the genie is out of the bottle for 30+ years yet,
         | make use of it if you want.
        
           | nenenejej wrote:
           | Easy. Trust cryptography. I generate a private key and sign
           | everything as me. This takes out all the BS. Of course you
           | cant age verify and anonymous accounts and spam become easy.
           | But that is your trade-off. Nostr allows relays to filter out
           | shit they dont like. So you can have your 4chan but also your
           | more moderated sites too.
        
         | KolibriFly wrote:
         | I think the article's argument is more about relative control
         | than absolute sovereignty
        
         | armchairhacker wrote:
         | Governments can and do censor domains. A theoretically
         | censorship-proof system is impossible; even communication over
         | bluetooth or radio can be shut down by signal jamming and
         | physical persecution.
         | 
         | Also, you technically "own" your data on any social network. If
         | you put a public key in your bio and archive every post, you
         | can move to another network. Then use friends and close
         | followers to broadcast your new location; those who care will
         | probably find you without much effort, but if not, Open Social
         | doesn't solve this problem either.
         | 
         | However, I still think Open Social is an improvement. Most
         | social networks are really bad these days: manipulated
         | engagement-driven algorithms, locked-down data accessible via
         | poor UI, toxic community, and inconsistently-applied unspoken
         | rules. These issues all have workarounds, and can still happen
         | on Open Social (BlueSky's community is toxic, I don't know if
         | its algorithm is gamed or its global moderation is reasonable).
         | But it certainly makes them harder to form and easier to avoid:
         | 
         | - If everyone's data is available raw via API, it's easier to
         | create your own algorithm and frontend (or realistically, use
         | someone else's which is better designed and more suited to you
         | personally than what a generic social media company would make)
         | 
         | - With all data available, it's more likely people will develop
         | better algorithms to filter out toxicity and discover
         | interesting posts. At minimum, it's more acceptable and easier
         | to create whitelisted groups, where one person maintains an
         | "algorithm" that simply selects posts they (and others who are
         | granted invites) have determined are not trolls.
         | 
         | - If data access and ban lists are separate, the same network
         | can have multiple ban-lists, so being banned isn't "all or
         | nothing". You can choose a ban-list with rules you agree with
         | and continue to see posts that most others would prefer banned.
         | If no ban list is dominant, there's a good chance the rules
         | that the ban-lists share are reasonable; you can worry less
         | about being banned inconsistently or for a widely-considered
         | unfair reason (e.g. upsetting a specific moderator), because in
         | those cases you'll only be banned from one list.
         | 
         | - If having a public key and archive of your data is the
         | default, and your followers' frontends automatically recognize
         | the key and find your new domain/hub (e.g. if someone links it
         | to the old hub), it's easier to move. If BlueSky shuts down
         | tomorrow, some clients can just be updated to point to another
         | domain with all the data and continue working as if nothing
         | changed. Whereas if Reddit shuts down, in theory one can
         | develop a clone from scratch and populate it with the archived
         | data, but users would have to re-register and it would be a
         | huge mess (+ legal issues).
        
         | danabramov wrote:
         | _> The author is talking about owning a domain and how having
         | that domain gives you ownership over your data_
         | 
         | I've actually tried to separate the two in the article although
         | it might be subtle (because I didn't want to make it
         | confusing).
         | 
         | Owning a domain means you own your _handle_. Not data. In
         | atproto, a domain is just a handle -- you can swap it out
         | without breaking links. (This relies on a centralized auditable
         | repository which is currently being moved out of Bluesky as a
         | separate independent entity. If you don 't want to rely on
         | that, yes, you'd have to tie your identity to the domain.)
         | 
         | Owning "data" is not related to owning the domain per se. It
         | has to do with the fact that you can point your identity at a
         | different physical server over time without breaking links. So
         | your hosting doesn't have any real leverage over you. That's
         | what I mean by meaningful ownership.
         | 
         | I've sort of conflated domains and persistent identity in the
         | article to simplify the picture a bit. Your identity is not
         | tied to a domain, but a domain serves as a bidirectionally
         | verified user-friendly alias for it. If you lose control over
         | the domain, you can tie a different one to the same identity
         | later. This doesn't break links between records or
         | functionality.
        
       | wilt6269 wrote:
       | I can't help but cringe whenever I see a Bluesky fan stubbornly
       | clinging to the past by calling X 'Twitter.' This one went even
       | further - using the old logo and even the outdated URL.
        
         | dave1010uk wrote:
         | That was an example of a social media company changing, with
         | users not being able to migrate their data. Scroll a bit
         | further and you'll see X.
        
         | danabramov wrote:
         | My post retraces a historical progression of social media, and
         | it was indeed called "Twitter" at the time. You can scroll a
         | bit down and you'll see "X" a bit below. In general, actually
         | reading the articles you comment on won't hurt you.
        
       | utopiah wrote:
       | Any implementation if I don't care? Like if I want my Web
       | application to support either ATProto, AP, and eventually
       | whatever else is around the corner even if it means only have the
       | lowest common denominator?
        
         | danabramov wrote:
         | If you just care about the identity part, atproto uses a flavor
         | of oauth.
        
           | utopiah wrote:
           | Thanks. Well that's a good question, namely what do I
           | actually expect out of federation.
           | 
           | In my case it's to remix pedagogical exercises. So I need :
           | 
           | - actual content (e.g. exercise and assets) to remix (imagine
           | changing the language)
           | 
           | but also optionally
           | 
           | - author ID for attribution - a stable URL for provenance,
           | again from attribution but possibly metadata (e.g. how many
           | times played on origin server, language, etc)
        
       | cy6erlion wrote:
       | Great post. Why use Social Media when you can use your own blog
       | with RSS. I think it's because of Network effects, Social Media
       | gives you an identity/address within a social network that has
       | demand for your posts and a supply of posts that interests you.
       | The Social Network itself should be vybrant for strong Network
       | Effects to take place, this is inherently centralizing sorta like
       | super markets. Thus the idea of Decentralization and Social Media
       | don't go well together.
       | 
       | Decentralization is also more complex for the developers and
       | particularly for the users, this creates a market for people
       | offering services to operate decentralized systems, which ends up
       | centralizing the network. This is how the WWW, Email, Git, BTC
       | all got more and more centralized.
        
       | vollbrecht wrote:
       | What would in practice happen in a two user scenario where user A
       | replied to user B, and later user B's repository gets completely
       | deleted.
       | 
       | We have this cache thing via wss connections. Do they invalidate
       | this messages from user B? Is user's A worldview now completely
       | dead?
       | 
       | Owning a thing in the internet is a complicated topic i guess.
       | 
       | Preserving past information via copying what a user said so that
       | it does not get lost maybe also in the interest of some users
       | (equivalent to the webarchive). I understand that this contradict
       | the whole "owning your data" premise, but fundamentally since it
       | was open in the first place the thing always can be copied right?
       | 
       | Whatever content is produced in this "open social" network, some
       | of it may have long lasting "value" to an individual. Is there
       | anything to make sure that what they interacted with can not
       | completely broken by the other site of the party?
        
         | danabramov wrote:
         | If the user _chooses_ to delete their account, it is a separate
         | event on the network, which well-behaved apps should respect
         | (and update their caches accordingly). So an app like Bluesky
         | would display this as a reply to a deleted post.
         | 
         | If the user's repo just goes down (e.g. the host is down), then
         | indeed it won't be available upstream and only cached versions
         | will remain. It might be that the user is having problems, and
         | the repository will be up on a different host later. It's up to
         | each application how to handle this, but it seems reasonable to
         | keep serving cached content since there was no explicit
         | deletion instruction. E.g. I presume Bluesky would keep showing
         | both replies in the conversation.
         | 
         |  _> I understand that this contradict the whole "owning your
         | data" premise, but fundamentally since it was open in the first
         | place the thing always can be copied right?_
         | 
         | Yeah this is a tricky thing. The general guideline is that the
         | user expresses intent (e.g. can delete post or entire repo) and
         | well-behaved apps respect that intent. But of course there can
         | be non-well-behaved apps that don't, or that permanently
         | archive everything ever emitted.
        
       | NaomiLehman wrote:
       | "Open source has clearly won." is this a joke?
        
         | danabramov wrote:
         | Dominant programming languages, servers, package managers, UI
         | libraries and components, and much development tooling (IDEs,
         | language servers) is largely open source. This wasn't the case
         | when I started programming.
        
       | js8 wrote:
       | The thing I miss the most in social networks is the ability to
       | verify the provenance of information through social graph (chain
       | of trust).
       | 
       | Ideally, if I see a post or comment, a process that I control
       | should be able to establish whether the user is trustworthy, by
       | asking the intermediate nodes whether the next hop is
       | trustworthy. Essentially, I should be able to walk that chain of
       | trust to see whether the information comes from a trustworthy
       | source (and possibly input user's own evaluation of the chain
       | links and nodes).
       | 
       | Unfortunately, social media companies do not let users access the
       | social graph, because not being able to ascertain provenance of
       | information is what makes paid advertising possible. It would
       | also greatly help to combat bots.
        
         | Kye wrote:
         | The social graph, at least in Bluesky's own collection[0], is
         | made up of the sum of follow records in individual repositories
         | on PDSes. Anyone can enumerate them.
         | 
         | [0] A collection is basically an app's particular set of
         | records stored in a user's PDS repository. Here's an example
         | using the Bluesky CTO's follow records:
         | https://pdsls.dev/at://did:plc:ragtjsm2j2vknwkz3zp4oxrd/app....
         | 
         | These are summed up by Bluesky's app server (app view) and then
         | used to fill out following lists in apps that connect to that
         | server through its API.
         | 
         | A fact checking or web of trust tool could pull these records
         | down and use it for exactly this purpose. It could even weight
         | by who they repost, for example.
        
       | KolibriFly wrote:
       | It captures something that I think a lot of us in tech have been
       | feeling but haven't quite articulated: that the social web feels
       | increasingly rented, and the rent keeps going up
        
         | ronbenton wrote:
         | We'd be lucky if the rent was paid in dollars but, instead,
         | it's paid in psychological manipulation
        
           | ethbr1 wrote:
           | Psychological manipulation is only being performed because it
           | generates dollars.
        
             | ronbenton wrote:
             | Correct
        
             | strgcmc wrote:
             | True of course that dollars is the end goal, but frankly
             | it'd be better if they just took the dollars out of my
             | pocket directly, instead of poisoning my brain first so
             | that they can trick me into giving some dollars...
             | 
             | Obviously I'm being hyperbolic, but I think eventually if
             | society survives past this phase, our descendants will look
             | back and judge us for letting psychological manipulation be
             | a valid economic process as a way to generate dollars, in
             | much the same way we might judge our ancestors for ever
             | building up a whole industry to hunt whales for oil for
             | fuel (meaning, they might acknowledge that fuel is
             | important and necessary to power an industrializing
             | society, but they would mock us for not understanding how
             | to refine petroleum sooner, and how silly going through the
             | tech tree of fucking whale hunting is, just to get some
             | fuel).
             | 
             | It is fucking silly/absurd/dangerous, that we go through
             | the tech tree branch of psychological manipulation, just to
             | be able to sell some ads or whatever.
        
         | vvpan wrote:
         | Check out Technofeudalism by Yanis Varoufakis, he really
         | expands on the idea of web being mostly rent-seeking and not
         | productive.
        
       | mountainriver wrote:
       | The protocol is cool, but Bluesky continues to trend downward. My
       | experience on it wasn't positive.
       | 
       | It could be interesting to see what other apps may be born out of
       | the protocol though!
        
         | pessimizer wrote:
         | https://bsky.jazco.dev/stats
         | 
         | Yes, down in every measure over the last 6 months. I think it's
         | primarily used by a lot of people to organize sockpuppet-aided
         | raids on twitter towards people who are instantly banned by
         | mass-reporting the second they create an account on bluesky.
         | It's basically old 4chan for unfunny people who think they're
         | better than everybody else.
         | 
         | I'd be positive about any distributed social protocol, though,
         | no matter who delivered it. The problem is that this was a
         | Dorsey project that he already abandoned and denounced because
         | it took a bunch of VC and is just waiting for the rugpull. Now
         | you're supposed to trust a bunch of people you never heard of
         | and a few famous paid evangelists.
        
       | CommenterPerson wrote:
       | Very well done. I hope this happens soon. I'm an engineer but not
       | the software kind and I will look into this area more closely and
       | try to support it. Thank you.
        
       | dark_mode wrote:
       | Awesome read!
       | 
       | Question:
       | 
       | > What's more interesting is that Tangled prefilled my avatar
       | based on my Bluesky profile. It didn't need to hit the Bluesky
       | API to do that; it just read the Bluesky profile record in my
       | repository.
       | 
       | I'm a bit confused by this. If a bluesky avatar contains an
       | image, isn't that stored (at least by default) within bluesky?
       | Meaning that Tangled will have to hit the Bluesky API?
       | 
       | Or maybe Dan is saying that his own repository is not hosted with
       | Bluesky in which it would make sense, if wherever his repo is
       | stored is getting hit to retrieve the image.
        
         | steveklabnik wrote:
         | The "Bluesky API" is the appview, but the avatar is stored in
         | your PDS. Even if you're using a PDS hosted by Bluesky, it's a
         | different component that's being asked to serve the avatar.
        
           | dark_mode wrote:
           | Interesting. Ok just saw this https://github.com/bluesky-
           | social/pds
           | 
           | > Self-hosting a Bluesky PDS means running your own Personal
           | Data Server that is capable of federating with the wider
           | ATProto network.
           | 
           | So pds (personal data server) is like the container where you
           | chose to store the data and it follows a certain standard.
           | 
           | If the container is hosted is bluesky, i still consider it a
           | "bluesky api" but I understand the nuance better now.
        
         | Infernal wrote:
         | If I understand correctly it doesn't matter where the user's
         | profile is hosted, the point is the user has a store of data
         | that can be accessed by multiple apps via the AT protocol, only
         | naming convention separates one app's data from another's
         | within a given user's profile.
        
           | dark_mode wrote:
           | Yeah I understood that part, was just confused by this
           | particular sentence
        
       | paool wrote:
       | What is the incentive of someone to create an app and just pay
       | for all the hosting involved?
       | 
       | Also, does everyone need to have their own domain name in order
       | to have an identity cuz that seems like a non-starter.
        
         | dark_mode wrote:
         | > What is the incentive of someone to create an app and just
         | pay for all the hosting involved?
         | 
         | If you're creating a social app, website, or whatever, you
         | still have to host all your users' data regardless. This is
         | just about the protocol you use which enables universal
         | compatibility, meaning users have the choice to store
         | elsewhere.
         | 
         | > Also, does everyone need to have their own domain name in
         | order to have an identity cuz that seems like a non-starter.
         | 
         | Not really. Bluesky is a good example; when you first sign up
         | it does it for you under their own top domain by default iirc,
         | but the great thing is you can actually use your own domain.
        
       | dark_mode wrote:
       | I wonder if there's a at protocol usecase for replacing something
       | like Disqus in blogs, personal websites etc.
        
       | tomgag wrote:
       | Personal opinion: Bluesky is "fedi-washing". Better Mastodon or
       | Nostr.
       | 
       | https://gagliardoni.net/#20250818_battle_of_socials
        
         | dark_mode wrote:
         | I like the skepticism against Bluesky, and I agree that where
         | VC money is involved things are mostly sketchy.
         | 
         | However, this post was about the at protocol, which seems like
         | you just hand-waved in one sentence:
         | 
         | > The AT Protocol used by Bluesky has some interesting
         | features, although to be honest I don't know how many of these
         | are just impossible to achieve on ActivityPub or are just WIP
         | lagging behind due to funding constraints.
         | 
         | I don't think the debate between them is super useful because
         | their architectures are very different.
         | 
         | You also mentioned an issue with the bluesky relay, but others
         | already exist so it's not techincally tied to Bluesky. Heck, I
         | think the fact multiple can exist at the same, while degrades
         | the social aspect, still makes it decentralized.
         | 
         | As for the identity management issue, they announced just last
         | week that it's getting branched to an independent entity:
         | https://docs.bsky.app/blog/plc-directory-org
        
           | tomgag wrote:
           | > I don't think the debate between them is super useful
           | because their architectures are very different.
           | 
           | Sure, that's true, but I, personally, care mostly about one
           | question: Who holds the keys to the kingdom? In this respect,
           | I think the AT Protocol fails spectacularly, mainly due to
           | the lack of a credible strategy to implement really self-
           | custodian identities.
           | 
           | > You also mentioned an issue with the bluesky relay, but
           | others already exist so it's not techincally tied to Bluesky.
           | Heck, I think the fact multiple can exist at the same, while
           | degrades the social aspect, still makes it decentralized.
           | 
           | Yes, but this is also true for Nostr, Diaspora, Mastodon,
           | etc. The difference being, last time I checked (and of course
           | things might have changed in the meantime) with AT Protocol
           | it was only possible to self-host part of the infrastructure
           | (and hosting the relay is insanely demanding).
           | 
           | > As for the identity management issue, they announced just
           | last week that it's getting branched to an independent
           | entity: https://docs.bsky.app/blog/plc-directory-org
           | 
           | This is another example of gaslighting from Bluesky that just
           | makes me angry. How in the holiest of Hells does an "Identity
           | directory controlled by a Swiss Association" make the whole
           | thing better?
           | 
           | Sorry, not buying it. I don't have a horse in the race, but
           | won't fall for the marketing.
        
       | tneely wrote:
       | I've always thought it would be interesting to apply this sort of
       | approach to health data. I own my data and control where it's
       | stored and how it's accessed. And hospitals anywhere can interact
       | with my data as needed while labs, doctors notes, etc. all live
       | with the hospitals.
        
       | zumu wrote:
       | I've been on and off thinking about this problem for years. Very
       | excited to see an ecosystem popping up.
       | 
       | But I wonder, why JSON if the web is already built on HTML
       | documents? Is it possible to just store our data in a web of
       | authenticated html documents and have the protocol be built on
       | that? Are there other open standards we can leverage to reduce
       | the amount of new infra / protocols? I wonder if there's a less
       | complex "good enough" mvp version.
        
       | fogzen wrote:
       | AT seems cool -- but it's not built on the web. That's a
       | dealbreaker for me.
       | 
       | I can't link to a Bluesky post. I can't use Bluesky from the
       | browser. It's a silo'd network.
       | 
       | The indie web has the right idea: Use the web, build ontop of
       | blogs, degrade gracefully. We could have central aggregators just
       | like Bluesky crawling the web with microformats.
       | 
       | The polished experience with Bluesky has little to do with the
       | tech and everything to do with financing and talent. Give me
       | millions of dollars in grants and I'm sure I can build a polished
       | UX too.
        
       ___________________________________________________________________
       (page generated 2025-09-27 23:01 UTC)