Why is Pixelfed an extra network and not just a Mastodon client?
-
Hey group,
Why is there not a Mastodon client to only utilize the media grid and pack it into an Instagram layout?
When I was exploring Bluesky and its clients a while ago, I actually liked the approach of having one central protocol and then having clients strip different masks over it.
The Flashes app, for example, packed the media posts from your regular Microblog-profile into a Instagram-layout, while still keeping all your regular followings.The federation between Pixelfed instances and Masto instances doesn't seem to be 100% working to my eyes. Likewise, when I look at my Pixelfed account via Masto client, it doesnt show me the pictures in the media grid.
I know this touches the very core of ActivityPub federation, but during the last years I couldn't figure out why fedi-networks never interacted completely.
Please correct me if I got something wrong or you know about obvious alternatives that I haven't stumbled upon yet.
Cheers! Enjoy the sun today!
The way I understand it, no one should deal with those they don't want to, and that's best done bilaterally than having to deal with the choices of a central governance. And ActivityPub should go by this principle. Instances decide if they want relations with other instances. Users decide if they want relations with other users, communities, tags, and instances. If a given instance does something the user doesn't like, the user can pick another instance without inhering the choices of the previous, but still being able to access the environment and choose whom to deal with.
Also, in a process, whatever it may be, it's the point that more parts depend on that if it fails, the more damage happens. While AT Protocol's PDS system helps lowering stress on specific instances, the tendency is to have only a handful few, as "they already do all the job", so if a PDS node fails, more strain goes to the others, if the site owner chose or remembered to put back up nodes. Meanwhile, if an instance dies on ActivityPub, just a small part of the environment dies, but even posts from that dead instance may keep propagating. It's a situation of safety versus server optimization, I'd say.
-
Hey group,
Why is there not a Mastodon client to only utilize the media grid and pack it into an Instagram layout?
When I was exploring Bluesky and its clients a while ago, I actually liked the approach of having one central protocol and then having clients strip different masks over it.
The Flashes app, for example, packed the media posts from your regular Microblog-profile into a Instagram-layout, while still keeping all your regular followings.The federation between Pixelfed instances and Masto instances doesn't seem to be 100% working to my eyes. Likewise, when I look at my Pixelfed account via Masto client, it doesnt show me the pictures in the media grid.
I know this touches the very core of ActivityPub federation, but during the last years I couldn't figure out why fedi-networks never interacted completely.
Please correct me if I got something wrong or you know about obvious alternatives that I haven't stumbled upon yet.
Cheers! Enjoy the sun today!
Hey y'all!
Thanks for taking the time to share your technical and philosophical knowledge!I think I fall prey early on to making too much of marketing claims like 'all platforms can speak to each other' for the Fediverse. Now, I understand better that the platform-tech might be friendly with each other, but do not necessarily have to use the same slang.
my dilemma is that I truly appreciate grassroot/self-governed/community places – but then again: network effects network effects network effects are the only way to get people to switch.
Bottomline is that this is a dilemma as old as the fediverse.
Thanks for thinking along,AND BETTER ENJOY YOUR WEEKEND!!!
@tofu@lemmy.nocturnal.garden
@ignirtoq@feddit.online
@montag@friendica.xyz
@scytale@piefed.zip
@Steve@communick.news
@DrCake@lemmy.world
@Auster@thebrainbin.org
@maegul@lemmy.ml
@kbal@fedia.io
@mrdown@lemmy.world -
Hey group,
Why is there not a Mastodon client to only utilize the media grid and pack it into an Instagram layout?
When I was exploring Bluesky and its clients a while ago, I actually liked the approach of having one central protocol and then having clients strip different masks over it.
The Flashes app, for example, packed the media posts from your regular Microblog-profile into a Instagram-layout, while still keeping all your regular followings.The federation between Pixelfed instances and Masto instances doesn't seem to be 100% working to my eyes. Likewise, when I look at my Pixelfed account via Masto client, it doesnt show me the pictures in the media grid.
I know this touches the very core of ActivityPub federation, but during the last years I couldn't figure out why fedi-networks never interacted completely.
Please correct me if I got something wrong or you know about obvious alternatives that I haven't stumbled upon yet.
Cheers! Enjoy the sun today!
That's historical and can be traced back to how it was formed: some of the people were coming from the instances perspective, where a bunoh of people congregate and network, some from the individual website perspective where you can do absolutely anything and everything you want, you're home after all. So it landed somewhere in the middle: some very basic use cases were laid out, every platform did whatever they wanted and tried to fit the basic use cases in. Now we have independent platforms doing what they want and if we're nice we can, maybe, talk with others.
It's a sad state but some platforms, like emissary and bonfire, are trying to go beyond and offer the possibility for anyone to build their own interface on top. One should also defocus from mastodon and look closer at the friendica family of software which have always looked at fulfilling many usecases, so compability can be better than others
-
It stores the complete data for any given user post in its databases
That is not fully correct. The index the data from the different personal data servers, and they host the largest personal data server out there, but you can have your own PDS and interact with other Bluesky users without having to rely on their data.
This means each one has its own data model, internal storage architecture, and streams/APIs.
Yeah, but why? ActivityPub already provides the "data model" and the API. Internal storage is an implementation detail. Why do we continue to accept this idea that each different mode of interaction with the social graph requires an entirely separate server?
Because they were built for different purposes, they support different features
Like OP said, on bluesky is possible to have different "shells" that interact with the network. Why wouldn't that be possible on ActivityPub?
I think I’m gradually coming around to the “why does each different mode of interaction require an entirely different server” view, but it seems impractical somehow. My impression is that projects like Mastodon, Lemmy, PieFed, Bookwyrm etc have lots of work being done on them, and building an “everything server” that implements every message you might want to send is prohibitive just in terms of complexity and scope. Is there something I’m missing? Or is it really the case that someday, someone will build a server on emissary that you can point your tiktok-like client or your instagram-like client or your twitter-like client at, and every one of them is just a different view on the same social graph?
-
I think I’m gradually coming around to the “why does each different mode of interaction require an entirely different server” view, but it seems impractical somehow. My impression is that projects like Mastodon, Lemmy, PieFed, Bookwyrm etc have lots of work being done on them, and building an “everything server” that implements every message you might want to send is prohibitive just in terms of complexity and scope. Is there something I’m missing? Or is it really the case that someday, someone will build a server on emissary that you can point your tiktok-like client or your instagram-like client or your twitter-like client at, and every one of them is just a different view on the same social graph?
and building an “everything server” that implements every message you might want to send is prohibitive just in terms of complexity and scope.
It is not. A server that "speaks" the ActivityPub is not that difficult to build, I've done it. The complexity is in getting the data from the social graph into and creating a good UX for users who are too used with the "app-centric" mentality.
-
and building an “everything server” that implements every message you might want to send is prohibitive just in terms of complexity and scope.
It is not. A server that "speaks" the ActivityPub is not that difficult to build, I've done it. The complexity is in getting the data from the social graph into and creating a good UX for users who are too used with the "app-centric" mentality.



I’m still not sure I quite get it. Like, Bookwyrm has to have all of those books for me to create a message that embeds the book I’m reading. Without knowledge of all of the books that one might read, I can’t select the one I want to read? Or are all of the books objects stored on activitypub and I get the data from the social graph itself? Does the subject-verb-predicate structure of json-ld allow for embedding the full complexity of data that not only represents the social graph, but also everything else you might want to reference?
Also, thanks for the link. Looks like the docs are also a reasonable reference on Activitypub as well as being for your server.
-



I’m still not sure I quite get it. Like, Bookwyrm has to have all of those books for me to create a message that embeds the book I’m reading. Without knowledge of all of the books that one might read, I can’t select the one I want to read? Or are all of the books objects stored on activitypub and I get the data from the social graph itself? Does the subject-verb-predicate structure of json-ld allow for embedding the full complexity of data that not only represents the social graph, but also everything else you might want to reference?
Also, thanks for the link. Looks like the docs are also a reasonable reference on Activitypub as well as being for your server.
Or are all of the books objects stored on activitypub and I get the data from the social graph itself?
Not "stored on activitypub", but each book could be represented with RDF (it could be something as sophisticated as using DublinCore or as simple as just using isbns to uniquely identity the books (
urn:isbn:1234556789) , and then each activity for "CombatWombatEsq read a book" would be an activity where you are the actor and the book is the object. Then it would be up to the client to expand that information. Your client app could take the ISBN and query wikidata, or Amazon, or nothing at all... -
Or are all of the books objects stored on activitypub and I get the data from the social graph itself?
Not "stored on activitypub", but each book could be represented with RDF (it could be something as sophisticated as using DublinCore or as simple as just using isbns to uniquely identity the books (
urn:isbn:1234556789) , and then each activity for "CombatWombatEsq read a book" would be an activity where you are the actor and the book is the object. Then it would be up to the client to expand that information. Your client app could take the ISBN and query wikidata, or Amazon, or nothing at all...Right, but I don’t want to enter the isbn to say that I’m reading a book, I want to search by title or author. Once you achieve any kind of scale, whoever your client is querying to get the book data for those kinds of queries is going to block you; practically speaking you need to keep an index of books on your server to allow people to discover the books that are available? Clients have pretty limited abilities in practice, because there aren’t a lot of services that vend well-curated data for free.
Edit: I’m not trying to disagree, I’m seeking to understand because it is clear you have a vision that I haven’t got my head around.
-
Right, but I don’t want to enter the isbn to say that I’m reading a book, I want to search by title or author. Once you achieve any kind of scale, whoever your client is querying to get the book data for those kinds of queries is going to block you; practically speaking you need to keep an index of books on your server to allow people to discover the books that are available? Clients have pretty limited abilities in practice, because there aren’t a lot of services that vend well-curated data for free.
Edit: I’m not trying to disagree, I’m seeking to understand because it is clear you have a vision that I haven’t got my head around.
Once you achieve any kind of scale, whoever your client is querying to get the book data for those kinds of queries is going to block you
You know that the whole of wikidata can be copied with just a few hundreds of GBs, right? There are plenty of examples of community-driven data providers (especially in the *arr space), so I can bet that there would be more people setting up RDF data servers (which is mostly read-heavy, public data sharing) than people willing to set up their Mastodon/Lemmy/GoToSocial server - because that involves replicating data from everyone else, dealing with network partitions, etc...
Also, there are countless ways to make this less dependent on any big server, the client could pull specific subsets of the data and cache data locally so the more they are used the less they would need to fetch remote resources.
Think of it like this: a client-first application that understands linked data would be no different than a traditional web browser, but the main difference is that the client would only use json-ld and not HTML.
-
Once you achieve any kind of scale, whoever your client is querying to get the book data for those kinds of queries is going to block you
You know that the whole of wikidata can be copied with just a few hundreds of GBs, right? There are plenty of examples of community-driven data providers (especially in the *arr space), so I can bet that there would be more people setting up RDF data servers (which is mostly read-heavy, public data sharing) than people willing to set up their Mastodon/Lemmy/GoToSocial server - because that involves replicating data from everyone else, dealing with network partitions, etc...
Also, there are countless ways to make this less dependent on any big server, the client could pull specific subsets of the data and cache data locally so the more they are used the less they would need to fetch remote resources.
Think of it like this: a client-first application that understands linked data would be no different than a traditional web browser, but the main difference is that the client would only use json-ld and not HTML.
Thanks for sharing this. To answer your question”you know…, right?” questions — no, I didn’t, and that is why I was asking.