I have an idea for an ActivityPub project.
-
I have an idea for an ActivityPub project. I'm getting distracted from my original projects again :neofox_googly_shocked:
(I think the chain now is Wyvern Ref -> Areon Ref -> Isometric Map Generator -> Corveon Ref -> Spooky Avatar -> Birb Emojis -> ActivityPub project)@volpeon The Wyvern Ref -> Areon Ref -> Isometric Map Generator -> Corveon Ref -> Spooky Avatar -> Birb Emojis -> ActivityPub project pipeline
-
@volpeon The Wyvern Ref -> Areon Ref -> Isometric Map Generator -> Corveon Ref -> Spooky Avatar -> Birb Emojis -> ActivityPub project pipeline
-
I have an idea for an ActivityPub project. I'm getting distracted from my original projects again :neofox_googly_shocked:
(I think the chain now is Wyvern Ref -> Areon Ref -> Isometric Map Generator -> Corveon Ref -> Spooky Avatar -> Birb Emojis -> ActivityPub project)So here's the idea I'm brainstorming. It's very rough so don't expect perfection right off the bat, please.
What if we had something like PDSes here, too? A server which hosts all of your data, i.e. the AP objects and activities that are generated whenever you interact with the network. Instances wouldn't hold your identity; instead when you register on an instance you tell it about your PDS and then the instance uses that as the database for all your stuff.
What would this solve?
- You could be part of multiple communities (instances) with a single identity. This is more natural with how things work everywhere else.
- You could move instances and not lose anything provided they handle AP activities the same way.
- Instance admins would be still be able to kick you off their instance, so moderation remains intact.
- You would be protected against situations like an instance going offline all of a sudden because all your data would be with you.
- Activities point to the PDS server instead of the instance, so moving somewhere else wouldn't require updating databases in all peers via a Move activity.
Caveat:
- You would still be fucked if the PDS goes offline.
There's a shitload of more things to consider, and I'm also not perfectly knowledgeable about AP so I may have the wrong idea about some things. But I feel this would be a path worth pursuing.
These are just some quick thoughts. I'm begging you to not get hung up on details. This happens so often when I share ideas like these and it's killing me every time. -
So here's the idea I'm brainstorming. It's very rough so don't expect perfection right off the bat, please.
What if we had something like PDSes here, too? A server which hosts all of your data, i.e. the AP objects and activities that are generated whenever you interact with the network. Instances wouldn't hold your identity; instead when you register on an instance you tell it about your PDS and then the instance uses that as the database for all your stuff.
What would this solve?
- You could be part of multiple communities (instances) with a single identity. This is more natural with how things work everywhere else.
- You could move instances and not lose anything provided they handle AP activities the same way.
- Instance admins would be still be able to kick you off their instance, so moderation remains intact.
- You would be protected against situations like an instance going offline all of a sudden because all your data would be with you.
- Activities point to the PDS server instead of the instance, so moving somewhere else wouldn't require updating databases in all peers via a Move activity.
Caveat:
- You would still be fucked if the PDS goes offline.
There's a shitload of more things to consider, and I'm also not perfectly knowledgeable about AP so I may have the wrong idea about some things. But I feel this would be a path worth pursuing.
These are just some quick thoughts. I'm begging you to not get hung up on details. This happens so often when I share ideas like these and it's killing me every time.@volpeon i mean isn't that just how AT&bsky works?
i think my least favourite thing about AT is how the AppView can impose its own limitations on what data it will show, but you can just skip the AppView and ask the PDS directly which will give you all the data without any restriction, yknow the whole reason private accounts don't exist on bsky
i think a more ideal approach would be for a PDS equivalent to only respond to a nominated instance, and any request for user data would be forwarded to that instance which will be able to enforce authfetch, private accounts etc
-
So here's the idea I'm brainstorming. It's very rough so don't expect perfection right off the bat, please.
What if we had something like PDSes here, too? A server which hosts all of your data, i.e. the AP objects and activities that are generated whenever you interact with the network. Instances wouldn't hold your identity; instead when you register on an instance you tell it about your PDS and then the instance uses that as the database for all your stuff.
What would this solve?
- You could be part of multiple communities (instances) with a single identity. This is more natural with how things work everywhere else.
- You could move instances and not lose anything provided they handle AP activities the same way.
- Instance admins would be still be able to kick you off their instance, so moderation remains intact.
- You would be protected against situations like an instance going offline all of a sudden because all your data would be with you.
- Activities point to the PDS server instead of the instance, so moving somewhere else wouldn't require updating databases in all peers via a Move activity.
Caveat:
- You would still be fucked if the PDS goes offline.
There's a shitload of more things to consider, and I'm also not perfectly knowledgeable about AP so I may have the wrong idea about some things. But I feel this would be a path worth pursuing.
These are just some quick thoughts. I'm begging you to not get hung up on details. This happens so often when I share ideas like these and it's killing me every time. -
So here's the idea I'm brainstorming. It's very rough so don't expect perfection right off the bat, please.
What if we had something like PDSes here, too? A server which hosts all of your data, i.e. the AP objects and activities that are generated whenever you interact with the network. Instances wouldn't hold your identity; instead when you register on an instance you tell it about your PDS and then the instance uses that as the database for all your stuff.
What would this solve?
- You could be part of multiple communities (instances) with a single identity. This is more natural with how things work everywhere else.
- You could move instances and not lose anything provided they handle AP activities the same way.
- Instance admins would be still be able to kick you off their instance, so moderation remains intact.
- You would be protected against situations like an instance going offline all of a sudden because all your data would be with you.
- Activities point to the PDS server instead of the instance, so moving somewhere else wouldn't require updating databases in all peers via a Move activity.
Caveat:
- You would still be fucked if the PDS goes offline.
There's a shitload of more things to consider, and I'm also not perfectly knowledgeable about AP so I may have the wrong idea about some things. But I feel this would be a path worth pursuing.
These are just some quick thoughts. I'm begging you to not get hung up on details. This happens so often when I share ideas like these and it's killing me every time. -
@volpeon i mean isn't that just how AT&bsky works?
i think my least favourite thing about AT is how the AppView can impose its own limitations on what data it will show, but you can just skip the AppView and ask the PDS directly which will give you all the data without any restriction, yknow the whole reason private accounts don't exist on bsky
i think a more ideal approach would be for a PDS equivalent to only respond to a nominated instance, and any request for user data would be forwarded to that instance which will be able to enforce authfetch, private accounts etc
i mean isn't that just how AT&bsky works?
I mean, that's where I got this idea from after all. But of course there's more to ATProto which I don't necessarily need here like a consistent global view of the network.i think a more ideal approach would be for a PDS equivalent to only respond to a nominated instance, and any request for user data would be forwarded to that instance which will be able to enforce authfetch, private accounts etc
Yeah, that's what I had in mind. -
So here's the idea I'm brainstorming. It's very rough so don't expect perfection right off the bat, please.
What if we had something like PDSes here, too? A server which hosts all of your data, i.e. the AP objects and activities that are generated whenever you interact with the network. Instances wouldn't hold your identity; instead when you register on an instance you tell it about your PDS and then the instance uses that as the database for all your stuff.
What would this solve?
- You could be part of multiple communities (instances) with a single identity. This is more natural with how things work everywhere else.
- You could move instances and not lose anything provided they handle AP activities the same way.
- Instance admins would be still be able to kick you off their instance, so moderation remains intact.
- You would be protected against situations like an instance going offline all of a sudden because all your data would be with you.
- Activities point to the PDS server instead of the instance, so moving somewhere else wouldn't require updating databases in all peers via a Move activity.
Caveat:
- You would still be fucked if the PDS goes offline.
There's a shitload of more things to consider, and I'm also not perfectly knowledgeable about AP so I may have the wrong idea about some things. But I feel this would be a path worth pursuing.
These are just some quick thoughts. I'm begging you to not get hung up on details. This happens so often when I share ideas like these and it's killing me every time.@volpeon this does sound a bit like self hosting an instance and joining a relay
it is definitely worth thinking about this further though, as the small instance talking with a relay might not work for everyone (and apparently gotosocial doesn't support relays yet anyways and other AP server software are much heftier which makes things difficult in this regard anyways)
-
@volpeon https://activitypods.org is a thing
@lime360 Oh shit
-
V volpeon@icy.wyvern.rip shared this topic
-
So here's the idea I'm brainstorming. It's very rough so don't expect perfection right off the bat, please.
What if we had something like PDSes here, too? A server which hosts all of your data, i.e. the AP objects and activities that are generated whenever you interact with the network. Instances wouldn't hold your identity; instead when you register on an instance you tell it about your PDS and then the instance uses that as the database for all your stuff.
What would this solve?
- You could be part of multiple communities (instances) with a single identity. This is more natural with how things work everywhere else.
- You could move instances and not lose anything provided they handle AP activities the same way.
- Instance admins would be still be able to kick you off their instance, so moderation remains intact.
- You would be protected against situations like an instance going offline all of a sudden because all your data would be with you.
- Activities point to the PDS server instead of the instance, so moving somewhere else wouldn't require updating databases in all peers via a Move activity.
Caveat:
- You would still be fucked if the PDS goes offline.
There's a shitload of more things to consider, and I'm also not perfectly knowledgeable about AP so I may have the wrong idea about some things. But I feel this would be a path worth pursuing.
These are just some quick thoughts. I'm begging you to not get hung up on details. This happens so often when I share ideas like these and it's killing me every time.@volpeon there's already https://activitypods.org/ (not very good), portable objects and C2S FEPs (not very good) and kopper's ois (link somewhere on codeberg)
-
@volpeon there's already https://activitypods.org/ (not very good), portable objects and C2S FEPs (not very good) and kopper's ois (link somewhere on codeberg)
@volpeon https://codeberg.org/outpost/ois there was also another project similar to ois, but i don't remember what that was
-
@volpeon https://codeberg.org/outpost/ois there was also another project similar to ois, but i don't remember what that was
I was already not the biggest fan of JSON-LD, but implementing it brought up a brand new level of disappointment I did not expect to feel from a fucking W3C specification.
lmao yeah, I can confirm that after implementing half of it in Haskell -
i mean isn't that just how AT&bsky works?
I mean, that's where I got this idea from after all. But of course there's more to ATProto which I don't necessarily need here like a consistent global view of the network.i think a more ideal approach would be for a PDS equivalent to only respond to a nominated instance, and any request for user data would be forwarded to that instance which will be able to enforce authfetch, private accounts etc
Yeah, that's what I had in mind.@volpeon hm. i wonder how possible this would actually be with the current AP spec. i mean mastodon already has support for handles that are on domains that aren't the same as the domain where the instance resides, but idk how how implementations would react to changing the actor URI for a given handle
worst case scenario i guess it might work to just have the PDS be the "instance" as far as AP but all it does is 302 or just proxy requests to the real instance
and i feel like having multiple domains pointing to a single instance would cause headaches
-
So here's the idea I'm brainstorming. It's very rough so don't expect perfection right off the bat, please.
What if we had something like PDSes here, too? A server which hosts all of your data, i.e. the AP objects and activities that are generated whenever you interact with the network. Instances wouldn't hold your identity; instead when you register on an instance you tell it about your PDS and then the instance uses that as the database for all your stuff.
What would this solve?
- You could be part of multiple communities (instances) with a single identity. This is more natural with how things work everywhere else.
- You could move instances and not lose anything provided they handle AP activities the same way.
- Instance admins would be still be able to kick you off their instance, so moderation remains intact.
- You would be protected against situations like an instance going offline all of a sudden because all your data would be with you.
- Activities point to the PDS server instead of the instance, so moving somewhere else wouldn't require updating databases in all peers via a Move activity.
Caveat:
- You would still be fucked if the PDS goes offline.
There's a shitload of more things to consider, and I'm also not perfectly knowledgeable about AP so I may have the wrong idea about some things. But I feel this would be a path worth pursuing.
These are just some quick thoughts. I'm begging you to not get hung up on details. This happens so often when I share ideas like these and it's killing me every time.@volpeon That sounds kinda like the ActivityPods (https://activitypods.org/) idea, but I'm not familiar with it much beyond a base-level understanding. I do think it'd be a good idea for accounts to be more containerized and portable so when you move instances, you don't lose your post history or anything... But I wonder how such a change might impact how community building works on Fedi, since your handle/identity is currently handled by your instance and shared instances are how community building happens on AP. One of the things I really like about Fedi as compared to Bsky is how many instances have a shared sense of community, sort of like old-school web forums - but if your account container is completely independent and instances in effect become analogous to AppViews, will that same sort of community building occur? I honestly don't have an answer to that. What if maybe instances still played a role in actually hosting your account container, with some sort of backup/recovery functionality via the app/client? I'm not sure how that would work in practice, I'm just kinda spitballing here.
-
So here's the idea I'm brainstorming. It's very rough so don't expect perfection right off the bat, please.
What if we had something like PDSes here, too? A server which hosts all of your data, i.e. the AP objects and activities that are generated whenever you interact with the network. Instances wouldn't hold your identity; instead when you register on an instance you tell it about your PDS and then the instance uses that as the database for all your stuff.
What would this solve?
- You could be part of multiple communities (instances) with a single identity. This is more natural with how things work everywhere else.
- You could move instances and not lose anything provided they handle AP activities the same way.
- Instance admins would be still be able to kick you off their instance, so moderation remains intact.
- You would be protected against situations like an instance going offline all of a sudden because all your data would be with you.
- Activities point to the PDS server instead of the instance, so moving somewhere else wouldn't require updating databases in all peers via a Move activity.
Caveat:
- You would still be fucked if the PDS goes offline.
There's a shitload of more things to consider, and I'm also not perfectly knowledgeable about AP so I may have the wrong idea about some things. But I feel this would be a path worth pursuing.
These are just some quick thoughts. I'm begging you to not get hung up on details. This happens so often when I share ideas like these and it's killing me every time. -
So here's the idea I'm brainstorming. It's very rough so don't expect perfection right off the bat, please.
What if we had something like PDSes here, too? A server which hosts all of your data, i.e. the AP objects and activities that are generated whenever you interact with the network. Instances wouldn't hold your identity; instead when you register on an instance you tell it about your PDS and then the instance uses that as the database for all your stuff.
What would this solve?
- You could be part of multiple communities (instances) with a single identity. This is more natural with how things work everywhere else.
- You could move instances and not lose anything provided they handle AP activities the same way.
- Instance admins would be still be able to kick you off their instance, so moderation remains intact.
- You would be protected against situations like an instance going offline all of a sudden because all your data would be with you.
- Activities point to the PDS server instead of the instance, so moving somewhere else wouldn't require updating databases in all peers via a Move activity.
Caveat:
- You would still be fucked if the PDS goes offline.
There's a shitload of more things to consider, and I'm also not perfectly knowledgeable about AP so I may have the wrong idea about some things. But I feel this would be a path worth pursuing.
These are just some quick thoughts. I'm begging you to not get hung up on details. This happens so often when I share ideas like these and it's killing me every time.@volpeon aren't most of the problems this solves also solved by mastodon finally implementing proper account migration?
you're equally boned if the server with your data goes down with zero warning, but equally protected if you have time to move. this kinda seems like a lot more complicated solution?
-
So here's the idea I'm brainstorming. It's very rough so don't expect perfection right off the bat, please.
What if we had something like PDSes here, too? A server which hosts all of your data, i.e. the AP objects and activities that are generated whenever you interact with the network. Instances wouldn't hold your identity; instead when you register on an instance you tell it about your PDS and then the instance uses that as the database for all your stuff.
What would this solve?
- You could be part of multiple communities (instances) with a single identity. This is more natural with how things work everywhere else.
- You could move instances and not lose anything provided they handle AP activities the same way.
- Instance admins would be still be able to kick you off their instance, so moderation remains intact.
- You would be protected against situations like an instance going offline all of a sudden because all your data would be with you.
- Activities point to the PDS server instead of the instance, so moving somewhere else wouldn't require updating databases in all peers via a Move activity.
Caveat:
- You would still be fucked if the PDS goes offline.
There's a shitload of more things to consider, and I'm also not perfectly knowledgeable about AP so I may have the wrong idea about some things. But I feel this would be a path worth pursuing.
These are just some quick thoughts. I'm begging you to not get hung up on details. This happens so often when I share ideas like these and it's killing me every time.@volpeon@icy.wyvern.rip I guess another advantage of this is that pure PDSes are somewhat less expensive/involved to host than a full instance? Since they'd only be concerned with their own data and not handling AP requests, traffic, etc from a ton of other servers.
-
@volpeon@icy.wyvern.rip I guess another advantage of this is that pure PDSes are somewhat less expensive/involved to host than a full instance? Since they'd only be concerned with their own data and not handling AP requests, traffic, etc from a ton of other servers.
@volpeon@icy.wyvern.rip The year is 2030. Bsky continues deteriorating. Every day somebody posts there that "mastodon is too hard because I have to pick and instance and PDS, whatever that is"
-
@volpeon@icy.wyvern.rip The year is 2030. Bsky continues deteriorating. Every day somebody posts there that "mastodon is too hard because I have to pick and instance and PDS, whatever that is"
@pjb Building a social network like lego
-
So here's the idea I'm brainstorming. It's very rough so don't expect perfection right off the bat, please.
What if we had something like PDSes here, too? A server which hosts all of your data, i.e. the AP objects and activities that are generated whenever you interact with the network. Instances wouldn't hold your identity; instead when you register on an instance you tell it about your PDS and then the instance uses that as the database for all your stuff.
What would this solve?
- You could be part of multiple communities (instances) with a single identity. This is more natural with how things work everywhere else.
- You could move instances and not lose anything provided they handle AP activities the same way.
- Instance admins would be still be able to kick you off their instance, so moderation remains intact.
- You would be protected against situations like an instance going offline all of a sudden because all your data would be with you.
- Activities point to the PDS server instead of the instance, so moving somewhere else wouldn't require updating databases in all peers via a Move activity.
Caveat:
- You would still be fucked if the PDS goes offline.
There's a shitload of more things to consider, and I'm also not perfectly knowledgeable about AP so I may have the wrong idea about some things. But I feel this would be a path worth pursuing.
These are just some quick thoughts. I'm begging you to not get hung up on details. This happens so often when I share ideas like these and it's killing me every time.@volpeon@icy.wyvern.rip
I don't know a ton about it but doesn't the Hubzilla spin-off called (streams) have some of that stuff thanks to its nomadic identity framework?
https://codeberg.org/streams/streams