True RESTful (HATEOAS) APIs are really powerful, but they are a major pain for any client to implement. GraphQL APIs are worse than HATEOAS, but the client tooling is amazing. GraphQL won.
I think the same thing will happen here. The distributed nature of the Fediverse is really powerful, but creating clients are a huge pain. The API is so complex.
In contrast to the Federvise API, the BlueSky API is easy to use which will allow more people to "play" with different clients and use cases.
Same stuff, different platform.
Nostr is full of crypto and "free speech" people. there will be too much controversies if he's seen active on both.
I agree Nostr is full of that, which is why I don't use it.
I coded with both, I don't feel they are that different.
I think the questions about indexers and firehose servers are more relevant to the question of centralizations. Identity is much easier to solve.
Once the community degrades to having no social standards there is no point in moderation.
This is not really true. DNS allows you to set your name to a domain, but ultimately all of your posts are tied to your DID. If you wanted to move from steveklabnik.bsky.app to steveklabnik.whatever.app, you could do that still, no DNS required. You won't lose anything. The DNS stuff is effectively vanity.
In general, I guess I'm just pessimistic of the ability for any DID system to exist that isn't either centralized or majorly user-unfriendly. I think that reasoning on a "local scope" like ActivityPub does and worrying less about global identity is just a better long-term solution for users and works better with how people are practically using social media today (think about the proliferation of a million discord servers each with effectively their own user identity....)
> In general, I guess I'm just pessimistic of the ability for any DID system to exist that isn't either centralized or majorly user-unfriendly.
That's fair. Time will tell :)
The other direction we've got is did:web, which is already used in some cases, and has some tradeoffs but is a strong option.
99% of people who could benefit from owning a domain should never have to know what a DNS record or TLS cert is. This should all be managed by apps through a simple delegation system built on OAuth2.
You log on to bsky.app, they say, "want to connect a domain?". You say yes and get redirected to your domain registrar, where you grant access to for bsky.app to have control over bsky.example.com until you revoke access.
DomainConnect[0] should solve this but in practice it's turned out to be very gatekeepy in my opinion.
I have not ready anything about the protocol yet, is there something in it that keeps all your data accessible to you after a ban?
Is list of contacts, other people's posts and such part of that move or what exactly is left to someone after they are banned?
There's a thing called DID that identifies you. There's a few options, but one is called "DID PLC" with a sample implementation here:
https://github.com/did-method-plc/did-method-plc
With the disclaimer that I haven't dug into it seriously enough, I understand it's a public key (that I can also rotate) that I can use to prove that an account somewhere else is really mine. Note that I have no idea what the private key is, or how to dig it out - I'm sure that's documented somewhere, but I wasn't interested enough for now.
TL;DR: there definitely is a theoretical mechanism for users to "take their toys with them." How it works out in practice is a different matter. I suspect most users wouldn't know they're supposed to keep a bundle of data stored somewhere for a dark hour. I also wonder how the protocol protects itself from people accidentally putting that data in public.
The whole "we can just use DNS names as ID and it'll be unbannable" idea is just relying on the fact that domain names aren't normally used as social media IDs and that more neutrality is expected from registrars, and neither of these presumptions are guaranteed.
Once enough users start using domain names and gets >100k daily likes with anime illustrations, same people as who were problems ARE going to get mad and set up their systems to just hammer Namecheap, GoDaddy, Gandi, Porkbun, until their support gives in just like it always happened. If they didn't, they inject faults in credit card payments, make their authoritative servers unresolvable in UK, Apple devices, on 1.1.1.1 and 8.8.8.8, so on and forth, until they do.
Using a decentralized protocol and providing custom domains is sufficient for me.
If you're optimizing for censorship resistance and your threat model is that registrars want to take you down because there are enough people mad about what you're posting, you're going to have to make UX tradeoffs that most people don't and shouldn't need to.
> If they ban you then you take everything, including your profile domain, ...
This reads like censorship resistance against moderation/management going insane on its own, to me. And in reality, that rarely happens. It's ongoing on Twitter, kind of, but that's less than once in a decade occurrence, and the crazy element wasn't internal.
What happens more often is some fundamentalist group or something starts harassing companies, often leveraging advertisers, credit card companies, perhaps some backend APIs too, sometimes even foreign laws way outside jurisdictions, to get them swallow their agendas. That leads to bans and insane policies getting introduced.
And, if you look at what happened to Twitter in last few years, I think you can see the latter of above two descriptions is closer to what happened to it; whether it was foreign conspiracy, or purely to that guy's insanity, or politics, it was external force that lead to the situation that necessitated escape. It was sane-ish up to the acquisition.
(we run the largest instance of atproto outside of bluesky)
In the DNS, that’s called a subdomain. I.e. a group of users can come together and buy a domain name and all use different subdomains, completely without any additional cost per user.
I don't think so. Anyone can set up a server with a DNS entry and then hand out subdomains to users. It's only sekf-hosted folk who need to pay for a domain name
They don’t care about copyleft or “information wants to be free”. They want a feed that isn’t full of Nazis and that all their friends post on
They don’t want to think about platforms, peering, distribution, server mutes, or any of that faff.
If you're hosting people who already have a large audience, or are especially vulnerable to harassment, that's probably going to happen sooner or later and it would be wise to craft or copy a denylist before it does.
I run my own Mastodon server and I've never had to take any moderation actions with a few hundred followers. I know the names of a few vile servers and can't recall seeing them among my followers. I suspect I'm fortunate in just not being interesting enough to vile people.
If the admin blocks an instance it's either a community you as a user won't want to be interacting with, or the user has chosen the wrong instance for them to be on.
I don't know why people say that every instance not federating with every other is a bad thing. It's not. I definitely don't want to interact with the extreme right instances around so I choose one that I feel at home with and that has them all blocked. I think that's the beauty of the system.
I have not seen any evidence of any major instance ban another instance because it refuses to ban yet another instance. There would be no reason for that. Messages from the controversial instance still won't make it to the instance that demands the 'virtual signaling' even through my instance.. unless some user on my instance essentailly quotes whole posts.
It may be that most of my circle has migrated over to Bluesky and the only people left on Icelandic twitter are either public figures or nazis. So the nazi content is just a greater proportion of the diminished Icelandic content. Or that nazis feel empowered inside the current Twitter atmosphere, which honestly is very scary to think of. I tend to think that the reason is a mix of both.
Or a Nazi yourself. "Waaaaaaahhhh no protections for people!!!!" "Also, I can't look around a room full of Nazis and see any Nazis. I am not the problem."
Lmao americans bruh
(not an American, been to the US once for 3 weeks)
1. https://www.jewishvirtuallibrary.org/original-party-platform...
Then Elon turned off the app access and I had to use the official app. There they were! White supremacists, algorithmically injected straight into my feed.
The death of a Mastodon node is inconvenient, but not identity-ending (especially if one uses static indirection to link your abstract Mastodon ID to a concrete instance).
Can you tell me more about that? If you just redirect webfinger requests, don't you still lose everything if your current instance disappears or you move to a new instance?
Webfinger redirects control what people look you up by.
The domain of the URL of the actor webfinger resolved to defines how clients access your profile.
They are usually the same domain, but don't need to be. Effectively your webfinger address functions as an alias (and you redirect multiple URLs to the same actor)
Follows follow the actor, so your webfinger may break and follow relationships will continue.
If the actor url becomes unavailable, however, your profile is inaccessible whether or not you redirect the webfinger.
To get Bluesky like portability we'd need either for that actor url to be possible to point to a DID or other means of decentralized lookup mechanism, and/or for servers to store the webfinger handle and recheck that regularly, and a way for clients to control a key that can be used to sign claims to say "this new instance key is also mine".
It's very much doable, but not done, nor is there consensus about exactly how.
Best current option if you don't want to host your own instance is to control your webfinger domain; if your instance goes without warning so you can't use the normal migration, you'd still need to manually get people to follow you again, but at least you can point them to the same id.
IMO WebFinger was a bad idea for ActivityPub in the first place (and it's not in the spec). It makes it a lot more hacky to statically host your profile, and the indirection is confusing. As far as I know the presupposition that users would find URIs as IDs confusing is just an assumption that was made early on.
> To get Bluesky like portability we'd need either for that actor url to be possible to point to a DID or other means of decentralized lookup mechanism, and/or for servers to store the webfinger handle and recheck that regularly, and a way for clients to control a key that can be used to sign claims to say "this new instance key is also mine".
Or just eschew this complexity entirely and use URIs as IDs. Make permanent personal domains much easier to buy and use.
ActivityPub only deals with URIs. Including in Mastodon. Mastodon then layers WebFinger on top, but you can still give Mastodon the actor URI and it works just fine, and all underlying interactions use the actor URIs. E.g. follows are between actors by URI, not between webfinger IDs. If you want to pretend Webfinger isn't involved, you can choose to do so.
> It makes it a lot more hacky to statically host your profile, and the indirection is confusing. As far as I know the presupposition that users would find URIs as IDs confusing is just an assumption that was made early on.
I wish WebFinger specified a URI format that made it possible to do fully statically without breaking the spec -, but the minimal "implementation" using an otherwise static file takes a URL rewrite with a single small regexp. It's not an issue for anyone who understands what's going on well enough to need/want to decouple their webfinger response from their ActivityPub actor. If you just want to point at an instance you can just do a static redirect.
However, that is mostly orthogonal to the portability issue.
> Or just eschew this complexity entirely and use URIs as IDs. Make permanent personal domains much easier to buy and use.
Then you've traded one kind of complexity that provides decentralization as an option, for a massively larger complexity problem that involves navigating a lot of government bodies, a highly self-interested bureaucracy, and a number of major multinational companies. I co-founded the company that launched ".name" - the bureaucracy may have tapered off a bit, but it's still a nightmare. Reforming that space in any kind of meaningful way that wouldn't leave your identity beholden to an intersection of centralized government and corporate interests in not likely to happen anytime over the next decade or three.
The portability matters to some of us. It just doesn't require ditching ActivityPub. And it doesn't require all that much complexity - all it requires is to allow DIDs to be used as an alternative means to identify or update the actor URL in a relationship. You can keep backwards compatibility by allowing resolved actor URLs to keep working, and just add a signed reference to the DID in the profile and the webfinger response. Then clients and servers that supports it can use the DIDs to allow discovering a moved profile, while clients and servers that don't support it will behave just as before (work as long as the actor URL works; fail if it stops working without a preceding move).
Because of federation, it's even fairly trivial to sort out a simple DID method that needs no central authority: Spread the DID document to all the instances you have followers on, and allow rediscovery by pinging those servers from a new instance with a request to use the keys to validate an updated DID document at a provided new instance. Let every instance act as a first resort to bootstrap recovery, and every instance you interact with act as fallbacks to help you recover control, as long as your clients keep backups of the relevant private keys.
And if you include those DID references in the profile as well, then just as now you can choose to ignore webfinger if you prefer.
Yes, this will take time to get right, but some variant of proper portability is just a question of time.
It's a good point, though not one I'd really considered because I never consider microblogging to be anything but ephemeral data (note the lack of a robust search solution also; this is not a place to chisel the words for which countless generations will remember you).
I'd love to see the ability to import a timeline. Sadly, that's not a feature of Mastodon right now AFAIK (though an admin handed a SQL dump and relevant image blobs could probably merge it into their node, but it'd be a hassle).
Truly portable identity via DIDs, ie you can keep your underlying identity even if you migrate servers, is one of the key reasons the Bluesky team made their own protocol. https://atproto.com/guides/faq#why-not-use-activitypub
It's not ideal because there isn't a reverse link; if someone-else-owns-this-server dies, people who were following you on it will see you evaporate. But you can edit @you@site-you-own to point to @you@your-new-site so that at least people holding your ur-name can find you.
But unfortunately, there are few better solutions when someone else owns the data. One nice thing about the Fediverse is you can ameliorate most of this by setting up your own server (though I won't pretend that's going to be the solution that replaces everyone using Twitter; I maintain my own server and it is the same pain in the ass that self-hosting has always been).
And there was no need to make a new protocol for a portable identity - a change to ActivityPub to support did's as actor urns would be sufficient, and would also open the door to unilateral account migration fairly easily.
This is my big problem with Bluesky - all of their gripes about ActivityPub would be easily solved in ways that'd make interop a temporary problem of getting people to buy into protocol tweaks, instead of inventing something from scratch.
Their claim that it's not easily possible to retrofit e.g. did's and signed repositories onto ActivityPub makes me question whether they understand ActivityPub at all, because there's nothing about it that would be problematic. E.g. objects are already signed - their mechanism for migration would require some changes to the signing mechanism to allow users to make a unilateral assertion that the key on their new instance belongs to them, but not much more. DID's is down to how ActivityPub clients and servers resolve URLs, nothing more.
You wouldn't even need everyone to buy into these changes - the worst case would be lack of federation w/instances that fail to support it - in other words no worse than starting your own network.
Even then it'd be possible to maintain fairly broad interop by announcing the did's in ways that'd allow also specifying resolvable urls to a proxy.
I set my Mastodon posts to auto-delete after 6 months so I don't care if I lose them, and I made sure to have some "me" links in the appropriate places pointing at my profile. Even if I were to lose that paper trail from doing proper account migrations, it's pretty easy to say which profile is mine. And if I lose followers, so be it. I'll follow people when I remember who they are. I'll make new posts. If I don't, that's fine. Life happens.
Why do I need to run a webserver for this redirection? I don't have one; my TLD is essentially for email only.
AT proto lets me achieve the same goal using just a TXT DNS record.
[0] migration is a challenge if your instance vanishes without warning, but that's true of Bsky too.
I'm going to push back on the migrating being a challenge even for Bluesky if an instance vanishes. If nothing else, you do not need your old host ("PDS" in atproto parlance) to cooperate — or even be online — if you wish to migrate in Bluesky. With a local copy of your data, you can send your social graph to a new host with ease and be right back in business.
But I wouldn't say it's a fully inconsequential choice, either. Your instance and how it's situated in the wider fediverse does matter to some degree. Not having a full view of the network, missing meaningful replies, at the mercy of some admin #fediblock drama, etc.
Or maybe you finally find a good instance but your admin dislikes Meta so you're defederated from threads.net now. That's a bummer.
If you don't agree with your admin's choices on such important matters, your instance is not a good one for you.
The differentiation between instances, the way each can have their own community with its own morals is a strength, not a weakness. As the fediverse gets bigger, the bigger platforms will diversify more and have more of their own identity. For example beehaw, it's not really a Lemmy instance with some policies configured, it's beehaw. As the fediverse gets bigger, instances will develop their own identities more and it will be easier to choose.
And gab, for the cesspool it is, you can't deny it's got its own identity. Of course it's one that almost nobody wants to federate with but that's their right too. Freedom of speech doesn't mean everyone has to listen to you. The system works as intended.
The thing is, if you're aligned with your platform you probably agree with most of the choices your admin made. If not you can just pick another one.
But I think that's all about a totally different problem: people not finding the culture they want on Mastodon.
They've picked an email provider. They've picked a mobile phone provider. They've picked their car insurance. They pick what bars to socialise at. Yes people have no issues making choices like this at all.
Not likely. The world picked gmail for them
Gmail is the biggest but not the only one by far. The privacy movement getting more traction here than in the US might be playing into that too.
The new premise after the "de-federation" update is it still works transparently so long you're a good citizen with nothing to be ashamed of, which is enough to make users feel the Fediverse lost its thing or something along that.
No, that premise is a misunderstanding of the actual initial premise: build a bigger system via federation, that is a series of independent systems that can agree or disagree on precisely what level of interoperation they will engage in.
Some people mistakenly imagined that everyone would make the same choices, and thus "make an account and it works everywhere".
At some point, if people/users are able to understand the concept of emails, emails accounts and emails providers, they are able to understand the Fediverse that’s all.
> _I think this is the most important factor that Fediverse (and Mastodon) got wrong._ The Fediverse got nothing wrong or did nothing wrong, it was just portrayed as complicated, by some fing community manager of I don’t know which fing bulls*t company that must have been pissed/worried that all his job had to be redone on another service.
In other words, I want what has always been possible for email: Gmail with a personal TLD.
I haven't looked too deeply into AT proto, but at a first glance, Bluesky might be that.
Elon has weakened Twitter substantially and now it's leaving the door open to newcomers with ideas in a different direction.
It's the churn. Platforms rise and fall. But this time the power vacuum is so big a non commercial platform might have a fighting chance.
For Mastodon? I need to:
- pick a server and remember it (I've actually lost my own handle a couple of times between months of giving it a try!)
- manually copy-paste the handles of people I want to follow back on my server, since there is no native single-click way to just follow an account I am looking at on my own server
- do the same on mobile, because all Mastodon apps can't possibly be associated with all server URLs on iOS and Android
- remember to follow people I care about, since otherwise there is no way to discover interesting posts outside my bubble
- give up on the idea of global search entirely, which is one of the things I miss most from Twitter: "flight delays XYZ", "MTA line X delay", "<bandname> <cityname>" would allow me to find content by people about any topic of interest in a way that web searches don't.
All of these are annoying but doable for me, but I wouldn't be surprised if they're a major deterrent for many non-sophisticated users.
So I can't compare the platforms at this level of detail but I have used Reddit and Lemmy a lot. And I think Lemmy is really great and just as good as Reddit. No issues with follows across instances following my mobile apps, having searches work etc.
And Voyager allows me to be signed into many instances (and in fact have multiple accounts on the same instance)
> - remember to follow people I care about, since otherwise there is no way to discover interesting posts outside my bubble
And this really is a feature for me, I hate algorithmic feeds. I just want to see who I follow and no other suggested or promoted stuff :)
Twitter was great for following the updates of a given person/company/group etc. It allowed me to keep up to date with various topics of interest (cryptography, engineering, my city's public transit system etc). The 140 character limit was always a red herring, in my view: People can just link to their blog or start a thread (which I can both easily follow and ignore).
Reddit was more useful for researching and discussing a given topic. Discussions are way more meandering, and the tree-based interface made that both acceptable (whereas spamming somebody's replies would be considered rude on Twitter) and ergonomic.
In that sense, Reddit was always the spiritual successor to self-hosted bulletin boards, in the same way that Discord has replaced IRC for many groups. (What makes me sad is that it's now seemingly also replacing discussion boards, which sucks because it's not anonymously searchable at all, but that's a different complaint.)
In that way, Reddit seems like a very low hanging fruit to decentralize: Its predecessor already was decentral, in a way! In contrast, there was never a successful decentralized microblogging service before Twitter (and no, RSS doesn't count).
> I hate algorithmic feeds. I just want to see who I follow and no other suggested or promoted stuff :)
That's very fair! I believe this is what ultimately got me quite hooked on Twitter, but in the long run has made me very unhappy while there and prone to doomscrolling.
You say RSS doesn’t count, but the way you describe your use of Twitter sounds exactly like the purpose of RSS.
>Twitter was great for following the updates of a given person/company/group etc. … The 140 character limit was always a red herring, in my view: People can just link to their blog
I don’t see how this is appreciably different than reading headlines and the first sentence in an RSS feed and clicking through to the blog that backs it, if it seems interesting.
Twitter always felt like RSS for people who didn’t know what RSS is. Hence its popularity, as most people don’t know what it is, but the concept is very useful. A lot of people use Facebook for the same thing.
Yes, but that’s a lot of people!
Other than that, RSS doesn’t support commenting somebody else’s post.
An anonymously searchable alternative to Reddit's search function is PullPush, an archive site independent of Reddit.
It has full-text search and will even search through deleted and removed content.
Main site: https://pullpush.io
Frontends: https://search.pullpush.io, https://ihsoyct.github.io
But, I stopped using Mastodon because there is no algorithmic feed (either of my own follows or in terms of surfacing things)—-sorry I massively prefer something lightly curated to just a chronological firehose. Most-recent-first is an algorithm of course. One that’s biased in favor of constant posters and those in your own time zone.
> - do the same on mobile, because all Mastodon apps can't possibly be associated with all server URLs on iOS and Android
these are all possible with the official app on Android and the web interface. You don't need to copy the handle, you can just open their profile page on your server's interface and click to follow.
There is an old adage about MBAs and CEOs - if we a pick a successful company in some period, can we really say that CEO helped it become successful? Or maybe he instead impeded its growth and company could have been x10 times more successful without him? Who knows, can't be tested repeatedly.
Same with Xitter clones. Maybe copying Xitter quirks is not the best way forward?
Maybe it's the fact that it's so server-centric: I've never felt like I could just enter a handle in the search bar and be confident that if the search comes back empty, that person is not on Mastodon. The same is true for search by hashtag or topic.
In fact a lot of people are now on Mastodon because they picked Instagram. Soon another platform may follow suit and federate. I'm sure users will understand pretty quickly that they can communicate cross platform just like a Gmail user can mail a Hotmail one.
It's really not that hard to grok.
I still prefer Mastodon over all the extra features it has and it runs on ActivityPub. Bluesky is reinventing the wheel with a protocol only used by them. They could've built ontop of ActivityPub.