Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

UI is replacable, there are quite a few frontend compatible with Mastodon API, some of them very closedly resemble Twitter.


I'm not sure how to read your comment.

"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?


There are web frontends available where you can sign into your instance, just like you so with a mobile app. For example https://pinafore.social/


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?


> Mastodon is an ActivityPub client.

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/


To me, the Mastodon software that runs on a server is an ActivityPub client. The "API" I as a user use to use it is the web frontend it provides.

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?


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


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 was not so much talking about the admin panel.

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.


> Isn't the Mastodon API the ActivityPub API?

No... not at all




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: