Read this: https://atproto.com/articles/atproto-for-distsys-engineers
AT Protocol works like the Web, where each user is a website and each application is a search engine. The apps crawl the network of hosts and aggregate activity. We have over 100 outside hosts and at least 3 aggregating apps out there. It’s a different model than ActivityPub, which is more akin to email.
We never said no algorithm. I don’t know where that meme comes from. We have an open system for algorithms, which we and 3p devs can operate. We have a default algorithm for every user called Discover. It was one of our main concerns to have an answer to algorithms in a decentralized network.
For DID PLC, the likely solution is to move the registry into a nonprofit which will maintain it, similar to ICANN. We also support the Web DID method, and if folks like this remain concerned we’re open to other DID methods. It’s important, but roughly similar to DNS or TLS issuers; supporting infra to the application network.
> We never said no algorithm. I don’t know where that meme comes from.
It comes from the people who don't know what an algorithm is but heard that Twitter has it and it's making them doomscroll so it's bad
(which is not to defend Twitter or other social media's algorithms, but to say that some people seem to have a blind hatred of them entirely due to misconceptions)
And to be extra clear, "only show posts from people I follow, in chronological order" is an algorithm.
We're also using an algorithm right now on HN, to sort comments and posts by freshness, votes, and reply count (plus manual moderation fairy dust sprinkled by dang and friends). Some people have even criticized it or dislike it, because everyone has different criteria for things they want to see.
It's easy to forget there's a gray area between "unsorted feed of all posts" and "nothing but insane rage-bait to maximize ad views".
And from my personal Mastodon experience, "unsorted feed of all posts" also tends to collapse towards ragebait when reposts / retweets / boosts exist.
Instead of having an explicit algorithm to do the work of surfacing ragebait posts, that work is done by the users themselves.
What is notable, though, is that things don't necessarily have to be that way, in my experience, the Polish Mastodon community does far less of this than the English one.
Funny enough, depending on your exact definition of 'algorithm' either essentially everything you can do on a computer is an algorithm or there some weird and annoying exceptions.
For example many definitions include the requirement that an algorithm has to terminate for every input. And I suspect that there are probably some bugs lurking somewhere in the HN codebase that make it go into the occasional infinite loop. So technically it's not an algorithm by definition.
(And even weirder, because I just suspect it might have those bugs, but I don't know for sure, I have to admit that I don't know whether HN is powered by an algorithm.)
I agree with you that for practical definitions we can go by a definition that's essentially: 'by algorithm we just mean "computer program", but we want to focus on the abstract things it's doing, and not details of the concrete implementation.'
In the context of social media, algorithms specifically mean recommendation algorithms that try to curtail the feed for end users. It is much more specific than the abstract definition of algorithms.
Using neural networks IMHO falls outside of the definition of an algorithm, because then it becomes something that not even its authors are able to inspect (understand/explain). (Which in some contexts is a legal requirement.)
Which definition of algorithm are you using here?
The formal definition of algorithm doesn't really require that a human can inspect them, nor understand nor explain, or does it?
> (Which in some contexts is a legal requirement.)
That's another can of worms. Which contexts are you talking about?
Yeah this is a more nuanced view that I find quiet true. Any algorithm has emergent properties that can make the resulting feed be healthy to consume or not. The issue is that these objectives simply don't align with the objectives of these companies. HN deliberately tries to avoid this kind of feed which is why it mostly works.
That's so true. Could we then use a new word, say malgorithm to denote algorithms that don't work in the interests of users? Just as with we did with malware?
btw: The Malgorithm does actually exist, and ironically is the name of a electronic music device that applies bit-crushing (undersampling and/or bit resolution reduction) effect to audio signals, that is, it mostly makes the signal sound worse although it can be used creatively, which however occurs very rarely in pop music.
I think the "user-uncontrolled" or possibly "user-oblivious" algorithm (if you believe that the mere controllability is not enough) is a clear enough term.
In common usage, there is a distinction between "an algorithm" and "the algorithm". The latter is often shortened to "the algo".
I’ve never heard this before in my 20+ years of software engineering. Perhaps this is within the context of a conversation.
Yes this is in the context of normal human beings talking about their lives on social networks, not engineers.
Like when people get a random post or video served to them they found interesting they'll say "the algo decided I should see this today"
Content creators will discuss what they need to create for "the algo" to like and promote them.
I'm sorry but your comment comes across as very pedantic. In the context of social media, people mean highly optimized algorithms for maximum retention.
I respectfully disagree, I think it makes sense to stress the distinction. Along the lines of: let's reclaim 'algorithm' from the entities that made the word into a bad thing for so many.
It would be nice to make the term more neutral again. Many people feel like they have no control over the rules of an algorithm they interact with. I like how Bluesky gives complete control back to the user. First step in changing how people feel about the term is showing how it can provide a more pleasant experience and be less of a scary black box.
It is indeed a bad thing when the algorithm's objective is to manipulate the end user. It's dangerous and can (and has) lead to abuse. Also, there's no need to "reclaim" anything. I don't think anyone mistakes criticisms of algorithms in social media to the ones doing sorting in Excel.
You expressed it perfectly in word which i couldn't. People's hate for algorithm is so weird . Without the algorithm they can never find quality or content they are interest in .
Absolutey rock hard disagree. I'm old enough to remember when twitter and facebook used to both have a chronological feed without algorithmic sorting. Facebook (trash today of course) was an incredibly useful way to find out what your friends were doing on a given day by just reading the chronological feed. You could also trivially see which events were going on in your locality and which friends were attending. At the same time (2005 - 2012) Twitter was an incredible resource for real time news and reactions to what was happening. Without clickbait, commercial promotion or flame (culture) wars. The web pre-agorithm was gradually being subsumed by feed readers like Google Reader, where you'd browse longform articles and blog posts from people you'd found or been recommended by friends. There was no shortage of content. What was absent was 'brainrot', engagement bait, and all the vapid fluff that the 'algorithms' (tweaked entirely and completely to maximise engagement and advertising consumption - not to your preference) provide.
To quote the sibling content:
"And to be extra clear, "only show posts from people I follow, in chronological order" is an algorithm."
Apparently people understand different things by "algorithm". I also use the general one and not "algorithm" as a special algorithm that tries to find things I might like based on my past interactions, but mainly tailored to keep my engagement high so I watch more ads"
I would like the possibility of creating and tweaking my own algorithm for my feed.
Yes, algorithm (as used today) has different meaning in different contexts.
People here are wilfully ignoring the proper context and meaning of the term as used, even though no one has any trouble understanding what is meant. You even spelt it out perfectly, demonstrating that there isn't any genuine miscommunication happening:
> "algorithm" as a special algorithm that tries to find things I might like based on my past interactions, but mainly tailored to keep my engagement high so I watch more ads".
Treat the word algorithm as a "magic black box". Because that's what it is, 90% of the time. It could be that chronological sort. It could be a rage engagement sort. People don't know. It's not a consistent thing either, since pretty much every social site out there that people use is constantly tweaking it, A/B testing it, or having it modify itself to an extent (that is, I assume randomness is built in).
I do think the internet would be a better place with more openness about those magic black boxes, even if it's just an ability to tweak it yourself without having to do some arcane incantations and rituals (ever gotten your YouTube recommendations completely fucked? How do you unfuck them?).
You've missed two key points
> I would like the possibility of creating and tweaking my own algorithm for my feed.
This would be really useful, and I think actually should be a right - like data portability. However it doesn't address the issue with the default view not being linear, and hence breaking the utility of such services as a public or community notice board.
> "And to be extra clear, "only show posts from people I follow, in chronological order" is an algorithm."
An algorithm is being used to serve content in that context, but content is not being removed, substituted, inserted or filtered by an algorithm in (the platonic version) of displaying a linear chronological feed. The are the issues which 'the algorithm' has been criticised for in the modern context. If we can acknowledge that's the intended usage here then we can move beyond semantics.
What happened on Facebook in 2012 is that Facebooks product changed from being one that served the affordance 'connecting people', to one that effectively divided people and charged to connect them in more limited ways. The impact of that one change (on FB and mirrored on other services) in creating the sensitisation and polarisation which followed, as well as removing the one major utility of social networks beyond pure entertainment, cannot be overstated.
I also remember when Facebook originally added their algorithmic timeline.
At the time everyone was complaining that Facebook was just "people posting their lunches" and from that PoV I thought it was a great addition to promote the things people found important in their lives instead of the noise.
Of course that didn't last long.
I was in college at the time, and the wall went from incredible social affordance to spambait advertising platform essentially overnight. It's likely that the 'people posting their lunches' weren't leveraging the platform to its best utility. Either way the change literally made the kind of passive socialising use I've described above impossible. No replacement has emerged in the years since, which really surprises me. Since location aware social networks existed in the mid-2000s, which is now, checks notes - twenty years ago.
The hate is for algorithms which fill your feed with useless shit that you didn't ask for, at the expense of things you did ask for, and which is intended to manufacture rage to get you commenting and arguing with others so the social network can shove an ad in your face.
That's the only kind of algorithm people have been exposed to, so they hate the term.
The hate isn’t weird, it is earned!
One of the most important algorithms, google search, has become crap. Social media algorithms have become crap.
Average people hate “the algorithm” because it was a trusted friend(ly tool) ands it has become crap and betrayed them!
If we, technologists, want people to love and use algorithms, we have a duty to avoid making them become horrible or useless for people.
That seems like wilfully ignoring what people are upset about by insisting on a superficial and literal reading of their complaints.
The OP does not take issue with the algorithm part, but the claim of decentralization. I'm currently running my own instance of an ActivityPub server (GoToSocial), just for me, and it works like a charm. I would not know how to do the same with BlueSky, and I have tried to understand how.
If you’re trying to self host your account, you follow https://atproto.com/guides/self-hosting
If you’re trying to build an application, you follow https://atproto.com/guides/applications
If you’re looking to run the bluesky application, you need to run the codebases in https://github.com/bluesky-social.
If mastodon.social shuts down tomorrow, my own instance continues to operate fully independently.
For PDS is that true? If bsky.app shuts down, will my PDS be able to function as an independent instance incl the web frontend etc.?
A PDS is an independent data store of everything you’ve done with atproto. If bsky.app shuts down, and you’ve self hosted your PDS (or created one and migrated your records over by replaying them from the network) you could spin up your own copy of bsky and continue on as normal.
The main caveat to this currently is that someone would have to run an alternative to https://plc.directory, and everyone else would have to agree which one to switch to. I'll be a lot more comfortable with atproto once the directory has moved to a non profit like ICANN (as @pfraze mentions), or a different DID method gains wide adoption.
Is this a thing that is easily discoverable in settings where people can choose to use a different directory? OR is this buried and hard to find or know it could be a thing?
It's currently built into the applications, not configurable by default. It's preferable if everybody in a thread / space / community uses the same one because otherwise differences can cause validation failures and conflict and thus break threads, resulting in that people can't follow many discussions, thus applications don't really expose it.
It's the kind of thing where it's preferable that either everybody switch at once, or that new applications with different "lexicon" (post types / social media format) picks a new default from the start.
That's too bad, it made me think if there were easy to switch user perferences then it would be truly decentralized..
Is there a way to clone the app and make this easy to find as a button to switch?
(unfamiliar with the licensing and the app in general, some things I have seen make me excited that it's possible to be uncensored and decentralized, then things like this come up and I wonder if I should put time into it or something else to promote)
Everything is open source so yes you can, it's mostly a question of practicality.
There's already third party clients, account hosting servers, etc, as well as different apps building on the same system (and which can use the same accounts and data store!) like blogs and more. Most devs are trying to coordinate their custom extensions so it doesn't cause conflict.
If it weren't coordinated we'd easily end up in the same place as Mastodon with their spurious server blocks where large parts of conversations are broken for most users.
I'd love more info about "Mastodon with their spurious server blocks where large parts of conversations are broken for most users." - who and why that happens and what it looks like to the different users that have servers blocked or what not.. is it clear they are missing messages that are from blocked servers?
Yeah this is a good point, I was thinking purely about those two parts of the service, but if bsky is gone, then plc.directory would be too. Thanks.
Thanks, it's been a while since I last looked into it.
Will my self-hosted account be able to talk directly to other self-hosted BlueSky accounts?
Yep!
and will a bunch of hostile feminists be able to place derogatory "labels" on my self hosted account or put me on nasty and rudely named lists branding me a right winger or a transmysoginist or whatever like they currently do on bluesky?
My understanding is that users and third-parties can offer various moderation services that users can subscribe to.
So anyone can label/mislabel/ban/block anyone else, but everyone can chose whose labels/mislabels/bans/blocks to follow
If you are any of those things, it doesn't hurt to warn others! hth
[dead]
If you want to dedicate a VM to it, bsky Personal Data Server has a pretty easy install
https://github.com/bluesky-social/pds
Thanks Paul & all.
I also enjoyed Brian Newbold 's post from early August taking inventory of how Bluesky is doing so far at being decentralizable, and what's remaining,
https://bnewbold.net/2024/atproto_progress/
There's some wildly negative often wildly in my view inaccurate posts down below slinging all kinds of things. So much of it is so wildly off base.
Atproto dev has a ton of strong wins already, and there's been a massive influx of dev interest in the past few weeks. Really looking forward to seeing this ecosystem bloom. I feel like we are at an inflection point.
> For DID PLC, the likely solution is to move the registry into a nonprofit which will maintain it, similar to ICANN.
ICANN is rather centralized. This is the biggest concern I have with ATProto, I would have expected it to work over P2P i.e. IPNS, or even some sort of a blockchain rather than a centralized web server.
It's not really possible to avoid bootstrapping on a centralized authority in general, and DNS seems like a mostly reasonable backstop for that. As others have said, you can make your own DNS network and people have.
I central authority with escape hatches is okay, I think.
One could start their own DNS server with different records than the ICANN ones, thus ignoring their authority.
As long as that possibility exists, it’s fine.
The problem being that once that single authority becomes 'the standard' getting anyone to switch/use any alternative becomes almost impossible
There are many alternatives to (ICANN) DNS, but since none have support built into major browsers, they end up being a pain to use, which hampers adoption.
The most successful is probably the Onion network and that's far from mainstream.
I don’t think there’s a way to avoid that kind of zipf curve when it comes to “mainstream” as it’s rarely the technical merits that makes something mainstream. The network effect is very strong.
It’s usually the force of large, powerful (or early) organizations.
Realistically I’m okay with a single overwhelming popular entity as long as I, as an individual, can choose have my alternative.
Yes, of course Bluesky is federated. The hosts hold onto your keypairs. The DID:PLC is a substring of your first hash.
For those of you who are interested in solving this my first suggestion is to read the Scuttlebot docs which are still up at: https://scuttlebot.io/
Sometimes I think about a retro Scuttlebot revival. If you want to set sail on this kind of project, contact info is in my bio.
Always liked the ssb protocol and had an account but am just not much of a poster to ever add much value. Appreciate the design and open build process. Been following for a long time, hope you are doing well
Thanks! I'm well. Yes, Scuttlebot's offline-firstness and the friend of a friend replication strategy were ahead of their time.
To me the biggest problem with ATProto is to discover the current location of a user, you query https://web.plc.directory/resolve which is a centralized service
Second biggest is that while a PDS does decentralize the data, I belive bsky.app is still the place providing the 'frontend' that makes it all work.
(I've updated this post as I've learned more).
Thank you. ATProtocol is really cool, but I share some concerns about the centralized resolution of identities to custom servers and the conflict of interest in Bluesky's stewardship of ATProtocol development (what is good for the ATProtocol Network vs what is good for Bluesky).
If I understand Bluesky correctly:
When you follow users on Bluesky (even those on a hosted custom server), atprotocol allows you to follow them by a "URL" (DID:web) but by default you're following them by their DID:PLC, a kind of Decentralized Id that is resolved via an equivalent to a "name server" (see: https://github.com/did-method-plc/did-method-plc).
You give that name server a DID json representing a user you want to follow or are following, it will tell you the IP of the (custom atproto) server where that user's posts and replies are. By default Bluesky apps only know about PLC nameservers that are in Bluesky's registry.
And so even if I'm using custom hosting if Bluesky PLC nameserver delists my DID (or the nameserver that points to me?) most bluesky users will be unable to find me.
Bluesky is theoretically interested in moving this nameserver under a nonprofit consortium structure - where no one entity could prevent a nameserver from being listed - but no one is working on it, and BlueSky for years hasn't gotten around to it.
My questions are:
1. Is that right, or are there any promising nascent efforts to create a nameserver registry under a consortium structure?
2. Is it fair to ask users, potential users and developers to take it as an article of faith that BlueSky will fully support and partner with such a consortium (since it hasn't helped set one up already in the years of its development)?
3. If Bluesky has features that are not being "backported" to ATproto, does this not raise concerns about Bluesky's conflict of interest in its current stewardship of ATProtocol? One could imagine a situation where Bluesky "slow walks" contributions to ATProto out of its own private company interest in keeping its userbase on Bluesky servers.
I don’t work for bsky, but pay a lot of attention:
1. Basically, yeah. That said, I still think it may be a bit early to do this. A consortium would be useful if it was meaningfully independent of bsky, so you need to grow and gain interest first. Otherwise the “independent group” would be run by the same people, which is pretty meaningless. Plus, working on that means les time for working on other things. I would expect to see this happen once there’s another non-toy atproto application, and for representatives from it to be involved too. Before then feels premature to me, but I can appreciate others may feel differently.
2. I do. The team has continually set out a vision, and then executed on it, over and over. Including following through on things that actively reduce their control over things. Tons of folks asked a similar question previously: “they’re saying that you’ll be able to host your own PDS someday, but do you trust them to actually ship that and not just say they’re gonna a do it and put it off forever and keep control?” And then they shipped it.
3. Any application has semantics built on top of the underlying protocol: that’s what an application is, in some meaningful sense. But I do agree that without independent governance for atproto, doing things like that could stifle other users of atproto, sure. We’re back in the same realm as 1, imho. I’m following the devs of various other apps and none of them have expressed that they think bsky is hoarding the goods so far, at least.
I don’t understand what the naysayers want? They want an app that is decentralized, completely free, uses nothing remotely related to crypto, doesn’t serve ads, and where it starts day 1 with a robust ecosystem of applications using it.
These people are just winging for followers IMO.
A social network that’s not controlled by, or potentially controlled by a billionaire.
The traits required to become a billionaire are not the traits required to run a social network. This should be obvious by now. Zaphod Beeblebrox had no actual power for a reason.
I think you just described the fediverse. The naysayers want you use to use the fediverse instead of centralized crypto stuff.
I mean, I very much desire the ‘not crypto’ part of that. All the rest is optional. Facebook is better than crypto.
Bro you literally just described Mastodon.