One host for each user and decentralization with custom lexicons #3159
-
Hi, I'm learning the protocol and starting to build an app with it that will require some new lexicons, but will also use the existing app.bsky microblogging lexicons. I was wondering whether the users of my app will still be able to host their repos on Bluesky's PDSs, or they might need to migrate. But the question is a bit more general. Imagine a scenario where a user uses N apps on ATProto, each with a different set of lexicons. Let's say that they all offer their own PDS. Where should the repo of that user be stored? What if none of the apps wants to host all the data for that user? Apps might not want to host lexicons that they don't use since it can be costly. In those scenarios it seems more natural to allow for more flexibility by having different records of a user stored in different PDSs, stored by different people. But if I understand correctly, this isn't possible as isn't in future plans either. Otherwise, I guess that some good UX will be needed to explain to users what is happening with their data when they want to use a new application. For example, each PDS could explicitly publish which lexicons it supports, or what limits it has, so that then apps can explain to users what their options are with respect to hosting. Eventually, I imagine hosting services that charge with the use, specially for users that own a lot of data in many different lexicons. I'm curious about how others think about this. I'm sorry if I'm missing stuff. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
I had a similar thought as well. I'm also very early in ATProto-world so I'm not sure I'm the most useful here, but here's an attempt. My sense of the PDS is that it is like Google Drive. You can put whatever you want into it and all the applications can access it as needed. If I want a lot of data storage, then I might want to run my own PDS or pay a PDS provider for hosting me and my data. Applications are/should be completely distinct from the PDS. That's the goal of ATProto -- I hold my data, and I let the applications view/modify it on my behalf, but ultimately it is my own. That said, I've had the same question. I use the file storage analogy in my head a lot. Suppose I want to offer a Dropbox/Google drive service that might allow users to handle gigabytes or terabytes of data. Do we want this on the user's PDS? Dunno. Anyway, two cents. |
Beta Was this translation helpful? Give feedback.
-
In theory, PDS does not have lexicon-specific functions, so all data can be stored in any single PDS. If the PDS provider does not want to provide storage for unknown lexicon, it is possible to impose restrictions, but there is currently no implementation for that. I think it's reasonable for PDS providers to charge as-you-go data volumes, but lexicon is not directly related to operating costs, so it may not be a common requirement. |
Beta Was this translation helpful? Give feedback.
In theory, PDS does not have lexicon-specific functions, so all data can be stored in any single PDS.
If the PDS provider does not want to provide storage for unknown lexicon, it is possible to impose restrictions, but there is currently no implementation for that. I think it's reasonable for PDS providers to charge as-you-go data volumes, but lexicon is not directly related to operating costs, so it may not be a common requirement.