there should absolutely be some less biased forks that get funding too, but, yes, agreed.
there's been a long series of mimd of insensitive counter-community decisions gargaron has forced upon
Mastadon, such as greatly concealing the local timeline. Instead of being a local community with outward ties, this has made mastadon & being a member of a particular server a far less local, community-based, explorable phenomenon.
If you are referring to the official mobile client not having the local timeline, I disagree with the approach, but there are a round dozen alternative clients and this didn't affect the web interface. As usual, everyone has their own vision for what the absolutely correct decision is in every instance, but it's Eugen's project.
Here is another open source alternative to Facebook, Twitter, LinkedIn etc. that is supposed to allow any community to assemble its own software... for dating, events, making reservations, videoconferencing, livestreaming, taking trips together, common interests, etc.
The goal is to allow for example a rural village to organize itself, make dinner plans, dating, doctor's appointments, and so on, using a local wifi mesh network and one computer. There is no need for all the signals to go to Zuck's FB or Elon's TW server farms in California. People need to have their own software. If you’re interested, here is more on why it’s needed:
If you want to play around with it, it’s free to use. The platform is ready for use but needs a lot more tutorials and needs to be packaged for hosting companies…
I really wish more libre-social apps would support serverless deployment options. If I were to deploy a personal Mastodon instance on Heroku, it would be, what, close to $30/month? Shared hosting from a provider like masto.host is $6/month and quickly rises with use?
What if there was a CloudFormation stack that quickly brought up Mastodon on API Gateway + Lambda + SQS + S3 + DynamoDB? Costs nothing if you don't post or follow anybody, with slowly rising costs as you use Mastodon more, and basically no ops concerns? Wouldn't that eliminate most of the technical barriers (cost, ops hassle, albeit still some setup hassle) for promoting federated social?
independent scale to zero services per end user is definitely the play. people can sell their data on marketplaces if they want to cover the few dollars a month of usage fees.
Yeah if you don't federate with anyone. Otherwise people will send you stuff to rack up your bill. I say just run it from your house, and use wireguard and haproxy with a VPS to get the traffic to and from the wider Internet if you don't have IPs and/or don't want your home network getting DOSed.
Sure, but on a personal level, that's still very, very cheap, almost without concern for how much you follow. CloudFront and API Gateway are pennies per million requests. SQS usage would probably fit in the free tier. DynamoDB, if implemented with a single-table design, would probably cost no more than a couple of bucks, and storage would probably fit in the free tier. You can use IAM policy on pre-signed URLs to restrict the maximum object size of an object that someone is sending you, as well as implement effective rate limiting and automatic expiration with lifecycle policies that keep costs under control.
Of course, costs could expand if the user wants to keep an infinite history, but that's their choice, by design.
One of the biggest problems that decentralization faces is that governments have been dragging their feet on mandating IPv6 rollout and IPv4 shutdown :
256 persistent (prefix) IPs is supposed to be the bare minimum for residential customers !
If cost is concern, consider Elixr-based Pleroma(or its forks), way less hardware requirement with most feature parity w Mastodon.
Ops is good q, based on my observation, most of these implementations has a Dockerfile at best, CloudFormation/K8s is very rarely considered. And probably bc where this community was originated from, Amazon is pretty much suggested against.
Pleroma still requires PostgreSQL which is an overkill for individuals/families. Instead try GoToSocial which is just a golang binary + sqlite db file: https://gotosocial.org/
I'm pinning my hopes on GSL - already had to migrate my Pleroma from one server to another because whilst it is less hungry than Mastodon, it is still -quite- hungry.
(The number of "X doesn't work with GSL" issues is mildly worrying, and migrating from Pleroma to GSL is going to make me insane. But hope, nonetheless.)
Thanks, I found it after a bit of searching too, but I can imagine most people not bothering. I tried the project and couldn't get their Docker image to work either, looks like the server isn't responding to HTTP requests properly.
Even the lightweight server options are very heavy (resources, install process, and/or UI clutter) or are a pain to deploy.
Does a single user server exist? I don't want to host for others, but would like to interact with a few people that have migrated from Twitter.
Are there any resource light servers that can be deployed as a container with a single config or env file that doesn't require many manual commands against a container instance?
If you had to use Amazon, sure. But the option would be nice.
That said, I’ve tried supporting both DynamoDB and an RDBMS with the same software and it was a pain, and this was for something with a less complicated schema then Mastadon. I think what’s missing here is really a scale-to-zero, serverless RDBMS (maybe Supabase or Neon fit the bill?)
I think it is the hosting providers you are looking at. There are providers at a fraction of what you mention. AWS seems great but before you know it you'll be paying substantial transfer costs.
Mastodon is quite light weight, I don't see how you could possibly need a $30 server for that.
$6 will get you 4 cores, 8GB of RAM and 200GB of storage. If you need more storage, find a cheap S3 host and use that with Mastodon for file storage.
I don't quite see the point of going Amazon specific with an open API like this but I'm sure you can implement ActivityPub using whatever Amazon offers. You'll probably start racking up a bill quite quickly though. I don't see how using AWS is possibly a lower technical barrier when there's a docker-compose file ready to use already.
Most of the cheap VPS providers I've seen don't provide API access to create/destroy the instance. After it's created, you can bootstrap it for docker with ssh+bash or Ansible giving more options for a consistent deploy flow.
Contabo.com. I use two of their servers to self-host some stuff and so far they've been quite stable. There are other cheap providers but they're often of questionable reliability. Luckily you can pay monthly rather than yearly like many other budget VPS providers, which convinced me to try them out back in the day.
Some of the more dependable options for affordable servers, in my experience:
- https://contabo.com/en/vps/ (they used to have a reputation for overprovisioning, but stable service)
- https://www.hetzner.com/cloud (they asked me for my ID photos for verification, but otherwise one of the better options)
- https://www.time4vps.com/?affid=5294 (affiliate link, I use them currently for all of my long term hosting)
Another commenter suggested lowendbox, which is a good option for scoping out offers, but sometimes companies just take the money and run off (as happened to me once personally), generally look at whether the company that you want to become a client of has been around for a while and hasn't recently changed hands.
I've lost more than my fair share of servers to cost-cutters. Fuck that. Life is too short.
Also, you can't suggest that everyone should run 4 vCPU/8 GB RAM. Sure, 99% will never need more than that. The 1% who go viral will. If those people have 4/8 servers, because that's what was recommended, then anybody who goes viral will have their server die a fiery death. Behold, the social network's reputation will be that virality is a kiss of death. Watch as everyone leaves in droves.
Federated social needs federation AND spike resilience. Serverless handles your fifteen minutes of fame with ease at a small premium. Discount VPS providers do not.
Why don’t we all just disconnect from social media (esp Twitter) for a few years, touch grass (while the stuff still exists) and then come back for the metaverse refreshed and grounded in reality like it’s 1990 and we just invented the internet. Those were good times.
Or we could embrace something that is new and uncomfortable and see if it brings us joy because we can own it and tweak it or if it ends up being bad because it requires maintenance and oversight and energy. It's not like there are tons of opportunities for networked sites to crumble. Myspace, Linked In, Facebook and Reddit launched around 19-20 years ago. Twitter was 16 years ago.
I mean what are the economics of fediverse? Who pays to keep the lights on, and where do they get their money from? How will the cost and logistics of policing one metric planet’s worth of sociopaths be any different from when Twitter had to do it?
I hate and am truly tired of America’s three premier Twitter narcissists (I bet I don’t even have to name them and you’ll know), but this “cry about Twitter and leave it” meme all feels like a groupthink knee jerk at its root, and then the “let’s move to fediverse” meme feels utterly thoughtless. Trolls are the internet, people turn to sociopaths the second they touch the net. It’s hyperbolic, but it’s not unfair. Trolls are on fediverse too, they cannot be escaped without several orders of magnitude additional energy injected into the system. If management alone and a desire to silence trolls is what this is all about, I’ve found that just being disconnected is an immense sea of peace, the one place they truly cannot get you. Social media is genuinely just a gigantic psy-op at this point anyway. Why even bother to participate and take it seriously?
> I mean what are the economics of fediverse? Who pays to keep the lights on, and where do they get their money from?
Is this a genuine question? Because it depends. Some people/groups run their own server. Others run free servers, kind of like people ran IRC servers. Some pool money together to run a server. Some are run by NGOs. One I saw was charging around $2 a month, but would use any profits to plant trees. I know it's not really polite to call out people for a lack of effort on HN, but all that information that I just gave to you, I got from browsing the server section of join mastodon or whatever it was called for like 5 seconds. It took you longer to wonder about this stuff, than it would've taken you to actually find out.
I don't want to come off as advertising mastodon or the fediverse. I just think the payment model is actually quite good and that there are more serious concern. Like what happens with your "twitter" handle if you've joined a server that goes rogue or shuts down. You can solve this by hosting your own mastodon server on your own domain or by joining a server run by some sort of established organisation, of which there seem to be very few. I like the concept personally, but I can also setup a self-hosted serve, or alternatively spin up a vps fairly easily, as can a lot of people here on HN. That's probably quite a barrier for most twitter users though.
> It took you longer to wonder about this stuff, than it would've taken you to actually find out.
It was a genuine question, because I didnt know the answer, but the effort it took to write all that out is because I’m trying to make a point. Additionally, it also didn’t require much effort to imagine theoretical models for how it, or any platform covers operating costs: Decentralized BYOServer, Ads, Subscriptions, User data markets.
I just don’t see it reaching scale without not grinding through people unnecessarily. And with the planet gently cooking itself stupid, I don’t understand how building YetAnotherSocialNetwork™ is a priority (which I know you aren’t advertising for).
I think we should all just let Elon run Twitter into the ground, and take it as the win it secretly is, and quit socializing on the internet (which I know will never happen).
I think the concept of it is kind of cool. The NYT or any other journalist institution could put up their own "twitter" and not rely on Elon not to ban them if they criticise him. Other people are setting up what is essentially their own YouTube, at least I found a French Blood Bowl 2 mastodont server that was full of match videos. I'm sure it'll be too much of a hassle, because you sort of need to put effort into it, and you don't on twitter/YouTube/discord/tiktok/whatevercomesnext. Especially in terms of actually turning your "views" into money, but the concept is pretty cool and very old "you own your own shit" internet.
Unlike a blog or something else you make on your own, it'll all be semi-connected though.
WRT the “uncensorability” of fediverse, the servers are all still built on top of (a) Amazon/Google/Microsoft IaaS or rolled at home. Those silicon chips and boxes are almost guaranteed to be produced and distributed by Apple/AMD/Intel/Qualcomm. They will pass around bytes on the internet policed by Comcast, Xfinity, Google, and Mediacom.
While it’s not impossible to pull off a coup against corporate owned social media, there are so many places where fediverse counts as parasitic competition that we basically need to have an open-source eternally-libertarian RISC-V shop at the scale of AMD to have a fighting chance of building a truly unbiased fediverse.
You're mainly talking about the problem of content moderation, and it's the sticky point for sure.
We know that content moderation cannot be done at scale. That why Facebook etc are such hellscapes; there is no algorithm in existence that a clever human won't figure out how to game.
Content moderation at human scales, however, is not as hard. I participated in many online forums which were run by one or a few moderators who policed the content with some auto filters for spam, and their own eyes. Some complained about the work, most just got it done and the forums worked fine, no big algorithms or star chamber councils to decide on what they do.
So, in answer to "why the fediverse," my answer is that if we break up the large platforms into a bunch of small forums under the control of only human moderators, there is every reason to believe that content moderation will become a great deal more possible and effective, and we will get our old internet back - the one based on protocols not platforms.
> So, in answer to "why the fediverse," my answer is that if we break up the large platforms into a bunch of small forums under the control of only human moderators, there is every reason to believe that content moderation will become a great deal more possible and effective, and we will get our old internet back - the one based on protocols not platforms.
Nah, Reddit is still a platform. Yes, one that is intentionally divided into sections that feel like small communities, but still a monolithic platform just like all the rest. That's why I'm not there anymore.
Not really on ActivityPub either at the moment, I think I have an account on one of the big Mastadon servers but I'm kind of over that whole interaction model. Considering putting up a blog of some sort that federates, cause I do miss telling the whole internet my opinions on a certain level, and I think we do need that global connection web, on some level, to continue to exist. But the infrastructure can't belong to any individual man, or even be under any individual man's control. Or a few men. That's the biggest problem that needs to be solved first, in my opinion.
edit: I mean, even if we posit your Reddit comparison, wouldn't you agree that Reddit does a better job at moderation than Twitter or Facebook, and that that comes down to having more human moderators making moderation decisions? That seems like a fairly uncontroversial take, to me.
Already pointed out by others, but I think you might be underestimating just how much the issue comes from Twitter (et al.) being a platform : giant, centralized, closed, US-based...
The problem with social networks has never been the architecture. A walled garden never did anything wrong. It’s the sociopath that hangout inside the walled garden that make it a problem. If the sociopaths leave this one for another walled garden, this one becomes progressively more pleasant.
Hmm, well I guess that platforms would indeed be much less of a problem in a draconian antitrust system regularly shutting down the biggest ones (in a way forums are walled gardens with intrinsic limits to growth - the software on which they operate isn't closed though !), but in our world these aspect tend to strengthen each other...
Also, this is like with dictatorships : yes, you can get lucky with an enlightened despot, but even those don't last long, and it becomes difficult to deal with a too entrenched power once it turns ugly.
I tried a few instances and none of the UIs clicked with me very much.
With themes, I not only mean custom colors and fonts. I mean custom templates, so I can rearrange the position of elements and leave out some elements altogether.
No, it's incredibly difficult to style Mastodon beyond minor CSS additions via the admin panel. If you really want to change anything substantial you need to fork the entire project.
I don't understand how something can be a frontent for Mastodon.
Mastodon is an ActivityPub client.
If you write a new application from scratch that also uses the ActivityPub protocol, like Pinafore, it is not a frontend for Mastodon. It is another ActivityPub client, right?
So as I understand it, Mastodon is a Ruby on Rails web server that speaks to other instances using the ActivityPub protocol in a technical sense.
You register with a given Mastodon instance which speaks ActivityPub to other servers which may or may not be Mastodon instances as well.
Now your home Mastodon instance also serves a React frontend which is technically acting as an OAuth2 client that speaks to the backend via REST APIs, compared to say: Server-side rendered HTML
Similarly, mobile apps connecting to your preferred instance are also OAuth2 clients.
In that sense, you can use a different frontend to speak directly to the REST APIs offered by your Mastodon instance of choice.
This all being one level above ActivityPub itself of course.
If I register with a Mastdodon instance, then why do I need a "home Mastodon instance"? Wouldn't I just use the web frontend the instance I registered with provides?
Your content is federated but your account is not so in order to actually perform actions, you need to make calls back to your home instance.
In a literal sense, your username and password / authentication tokens live on that server and is unknowable to other servers.
You might imagine that if there was federation of accounts than any random user could simply eat up passwords/password hashes.
That said, you can presumably use any client as long as it uses the APIs of the home instance.
You can browse other instances and do a remote follow however where that instance calls back to your home instance to initiate the follow action but it requires you telling the remote server what your full ID is (@Timja@home.instance) so it knows where to call back to
I think this is where the confusion stems from, the way I understand it:
Mastodon is a server that implements the federation part of the ActivityPub protocol to exchange objects with compatible server software.
It has functionality which exceeds the ActivityPub client-to-server protocol,
which it doesn't implement, and opts to instead have its own client API. [1]
So if you were to write an application using the ActivityPub C2S protocol,
you could not directly communicate with a Mastodon server,
but could interact with objects created by a Mastodon server through
another server software implementing both the federation and C2S protocol.
So in that sense they are Mastodon frontends because they probably use the Mastodon specific API instead of the ActivityPub C2S protocol.
Here is for example a list of implementations which includes whether the client-to-server protocol is supported [2].
Judging by how all the Mastodon sites seem to have minor CSS changes at most, I'd say not in any significant way. But there are other front ends for the Fediverse network. Perhaps check out instances running Pleroma, Misskey, or Soapbox and see if any of those suit you further. Some instances even run multiple front ends at once (typically on different subdomains) and you can use the same credentials to log in to all of them.
There's the 'advanced web interface' which allows you to choose several columns with your choice of stuff in each. You enable it by going to settings in your browser.
63 comments
[ 3.7 ms ] story [ 109 ms ] threadthere's been a long series of mimd of insensitive counter-community decisions gargaron has forced upon Mastadon, such as greatly concealing the local timeline. Instead of being a local community with outward ties, this has made mastadon & being a member of a particular server a far less local, community-based, explorable phenomenon.
The goal is to allow for example a rural village to organize itself, make dinner plans, dating, doctor's appointments, and so on, using a local wifi mesh network and one computer. There is no need for all the signals to go to Zuck's FB or Elon's TW server farms in California. People need to have their own software. If you’re interested, here is more on why it’s needed:
https://qbix.com/blog/2021/01/15/open-source-communities/
If you want to try it yourself:
https://github.com/Qbix/Platform
If you want to play around with it, it’s free to use. The platform is ready for use but needs a lot more tutorials and needs to be packaged for hosting companies…
https://qbix.com/platform/guide
What if there was a CloudFormation stack that quickly brought up Mastodon on API Gateway + Lambda + SQS + S3 + DynamoDB? Costs nothing if you don't post or follow anybody, with slowly rising costs as you use Mastodon more, and basically no ops concerns? Wouldn't that eliminate most of the technical barriers (cost, ops hassle, albeit still some setup hassle) for promoting federated social?
Sure, but on a personal level, that's still very, very cheap, almost without concern for how much you follow. CloudFront and API Gateway are pennies per million requests. SQS usage would probably fit in the free tier. DynamoDB, if implemented with a single-table design, would probably cost no more than a couple of bucks, and storage would probably fit in the free tier. You can use IAM policy on pre-signed URLs to restrict the maximum object size of an object that someone is sending you, as well as implement effective rate limiting and automatic expiration with lifecycle policies that keep costs under control.
Of course, costs could expand if the user wants to keep an infinite history, but that's their choice, by design.
256 persistent (prefix) IPs is supposed to be the bare minimum for residential customers !
https://www.ripe.net/publications/docs/ripe-690#4-2-2---48-f...
Ops is good q, based on my observation, most of these implementations has a Dockerfile at best, CloudFormation/K8s is very rarely considered. And probably bc where this community was originated from, Amazon is pretty much suggested against.
it is able to run properly on a pi so the performance is not a problem
(The number of "X doesn't work with GSL" issues is mildly worrying, and migrating from Pleroma to GSL is going to make me insane. But hope, nonetheless.)
if your use case is individuals/family then telegram/whatsapp/imessage groups are more than enough.
If you host email and a family name DNS/domain - that's still "internet scale" with 3 users?
Does a single user server exist? I don't want to host for others, but would like to interact with a few people that have migrated from Twitter.
Are there any resource light servers that can be deployed as a container with a single config or env file that doesn't require many manual commands against a container instance?
That said, I’ve tried supporting both DynamoDB and an RDBMS with the same software and it was a pain, and this was for something with a less complicated schema then Mastadon. I think what’s missing here is really a scale-to-zero, serverless RDBMS (maybe Supabase or Neon fit the bill?)
You can get a year worth of 2/3/4 GB ram servers for quite cheaper than heroku or linode.
I have a bunch of servers running and they are not bad.
Like the other commenter said, pleroma is a good lighter alternative and it can be run on raspberry pi if you want
$6 will get you 4 cores, 8GB of RAM and 200GB of storage. If you need more storage, find a cheap S3 host and use that with Mastodon for file storage.
I don't quite see the point of going Amazon specific with an open API like this but I'm sure you can implement ActivityPub using whatever Amazon offers. You'll probably start racking up a bill quite quickly though. I don't see how using AWS is possibly a lower technical barrier when there's a docker-compose file ready to use already.
Pretty reasonable, from who though? Also do they support IaC so that you can tear down and rebuild automatically?
Wow, where do you get that?
Also, you can't suggest that everyone should run 4 vCPU/8 GB RAM. Sure, 99% will never need more than that. The 1% who go viral will. If those people have 4/8 servers, because that's what was recommended, then anybody who goes viral will have their server die a fiery death. Behold, the social network's reputation will be that virality is a kiss of death. Watch as everyone leaves in droves.
Federated social needs federation AND spike resilience. Serverless handles your fifteen minutes of fame with ease at a small premium. Discount VPS providers do not.
Why don’t we all just disconnect from social media (esp Twitter) for a few years, touch grass (while the stuff still exists) and then come back for the metaverse refreshed and grounded in reality like it’s 1990 and we just invented the internet. Those were good times.
I hate and am truly tired of America’s three premier Twitter narcissists (I bet I don’t even have to name them and you’ll know), but this “cry about Twitter and leave it” meme all feels like a groupthink knee jerk at its root, and then the “let’s move to fediverse” meme feels utterly thoughtless. Trolls are the internet, people turn to sociopaths the second they touch the net. It’s hyperbolic, but it’s not unfair. Trolls are on fediverse too, they cannot be escaped without several orders of magnitude additional energy injected into the system. If management alone and a desire to silence trolls is what this is all about, I’ve found that just being disconnected is an immense sea of peace, the one place they truly cannot get you. Social media is genuinely just a gigantic psy-op at this point anyway. Why even bother to participate and take it seriously?
Is this a genuine question? Because it depends. Some people/groups run their own server. Others run free servers, kind of like people ran IRC servers. Some pool money together to run a server. Some are run by NGOs. One I saw was charging around $2 a month, but would use any profits to plant trees. I know it's not really polite to call out people for a lack of effort on HN, but all that information that I just gave to you, I got from browsing the server section of join mastodon or whatever it was called for like 5 seconds. It took you longer to wonder about this stuff, than it would've taken you to actually find out.
I don't want to come off as advertising mastodon or the fediverse. I just think the payment model is actually quite good and that there are more serious concern. Like what happens with your "twitter" handle if you've joined a server that goes rogue or shuts down. You can solve this by hosting your own mastodon server on your own domain or by joining a server run by some sort of established organisation, of which there seem to be very few. I like the concept personally, but I can also setup a self-hosted serve, or alternatively spin up a vps fairly easily, as can a lot of people here on HN. That's probably quite a barrier for most twitter users though.
It was a genuine question, because I didnt know the answer, but the effort it took to write all that out is because I’m trying to make a point. Additionally, it also didn’t require much effort to imagine theoretical models for how it, or any platform covers operating costs: Decentralized BYOServer, Ads, Subscriptions, User data markets.
I just don’t see it reaching scale without not grinding through people unnecessarily. And with the planet gently cooking itself stupid, I don’t understand how building YetAnotherSocialNetwork™ is a priority (which I know you aren’t advertising for).
I think we should all just let Elon run Twitter into the ground, and take it as the win it secretly is, and quit socializing on the internet (which I know will never happen).
Unlike a blog or something else you make on your own, it'll all be semi-connected though.
While it’s not impossible to pull off a coup against corporate owned social media, there are so many places where fediverse counts as parasitic competition that we basically need to have an open-source eternally-libertarian RISC-V shop at the scale of AMD to have a fighting chance of building a truly unbiased fediverse.
We know that content moderation cannot be done at scale. That why Facebook etc are such hellscapes; there is no algorithm in existence that a clever human won't figure out how to game.
Content moderation at human scales, however, is not as hard. I participated in many online forums which were run by one or a few moderators who policed the content with some auto filters for spam, and their own eyes. Some complained about the work, most just got it done and the forums worked fine, no big algorithms or star chamber councils to decide on what they do.
So, in answer to "why the fediverse," my answer is that if we break up the large platforms into a bunch of small forums under the control of only human moderators, there is every reason to believe that content moderation will become a great deal more possible and effective, and we will get our old internet back - the one based on protocols not platforms.
Reddit 2.0
Not really on ActivityPub either at the moment, I think I have an account on one of the big Mastadon servers but I'm kind of over that whole interaction model. Considering putting up a blog of some sort that federates, cause I do miss telling the whole internet my opinions on a certain level, and I think we do need that global connection web, on some level, to continue to exist. But the infrastructure can't belong to any individual man, or even be under any individual man's control. Or a few men. That's the biggest problem that needs to be solved first, in my opinion.
edit: I mean, even if we posit your Reddit comparison, wouldn't you agree that Reddit does a better job at moderation than Twitter or Facebook, and that that comes down to having more human moderators making moderation decisions? That seems like a fairly uncontroversial take, to me.
Also, this is like with dictatorships : yes, you can get lucky with an enlightened despot, but even those don't last long, and it becomes difficult to deal with a too entrenched power once it turns ugly.
I tried a few instances and none of the UIs clicked with me very much.
With themes, I not only mean custom colors and fonts. I mean custom templates, so I can rearrange the position of elements and leave out some elements altogether.
"there are quite a few frontend compatible with Mastodon API"?
Isn't the Mastodon API the ActivityPub API?
Of course one could write a new ActivityPub application from scratch.
But my question is: Can the Mastodon templates be easily changed?
My question is rather if the codebase has a template directory, where one could change the templates.
And if the template format will stay stable, so that custom templates won't break in the future.
Mastodon is an ActivityPub client.
If you write a new application from scratch that also uses the ActivityPub protocol, like Pinafore, it is not a frontend for Mastodon. It is another ActivityPub client, right?
You register with a given Mastodon instance which speaks ActivityPub to other servers which may or may not be Mastodon instances as well.
Now your home Mastodon instance also serves a React frontend which is technically acting as an OAuth2 client that speaks to the backend via REST APIs, compared to say: Server-side rendered HTML
Similarly, mobile apps connecting to your preferred instance are also OAuth2 clients.
In that sense, you can use a different frontend to speak directly to the REST APIs offered by your Mastodon instance of choice.
This all being one level above ActivityPub itself of course.
In a literal sense, your username and password / authentication tokens live on that server and is unknowable to other servers.
You might imagine that if there was federation of accounts than any random user could simply eat up passwords/password hashes.
That said, you can presumably use any client as long as it uses the APIs of the home instance.
You can browse other instances and do a remote follow however where that instance calls back to your home instance to initiate the follow action but it requires you telling the remote server what your full ID is (@Timja@home.instance) so it knows where to call back to
I think this is where the confusion stems from, the way I understand it:
Mastodon is a server that implements the federation part of the ActivityPub protocol to exchange objects with compatible server software. It has functionality which exceeds the ActivityPub client-to-server protocol, which it doesn't implement, and opts to instead have its own client API. [1]
So if you were to write an application using the ActivityPub C2S protocol, you could not directly communicate with a Mastodon server, but could interact with objects created by a Mastodon server through another server software implementing both the federation and C2S protocol.
So in that sense they are Mastodon frontends because they probably use the Mastodon specific API instead of the ActivityPub C2S protocol.
Here is for example a list of implementations which includes whether the client-to-server protocol is supported [2].
[1]: https://github.com/mastodon/mastodon/issues/10520 [2]: https://activitypub.rocks/implementation-report/
Maybe we could call the Mastodon server software an "ActivitPub node" to make it clearer?
So Pinafore is not an ActivityPub node, but instead it is something that talks to a Mastodon server?
No... not at all