How would fully portable accounts and communities be implemented do you think? My vague understanding is that users, communities and content lives at a particular URL and can’t simply change its domain.
Users — Mastodon deals with it by introducing a “Move” action that makes any followers switch from following the old user URL to a new user URL. A server export and import would be required for the user’s subscribed communities, config, and profile data.
Comments — This is where things get somewhat hairy, but possible; the new home server (instance) would need to re-publish the user’s content as coming from the new user URL. Ideally there could be a similar “Move” or “Takeover” activity that an instance could broadcast for each content item, so they would get reattached to the new user URL.
Interactions — Other user’s responses, boosts, faves, etc. reference old content URLs, so instances should follow the “Move” and “Takeover” events and fix those accordingly.
Lemmy Communities/Posts — This one’s actually the easiest: communities are just a special user that boosts any message sent to the community. You can clone a community right now by simply creating a “community user” and having it boost the same messages as the “source” community. Then you can delete the original, or have it de-boost stuff, or keep both boosts, or whatever.
Extras:
Cross-posting — A “community user” boosts a post from another (it’s a pity we don’t have this yet).
Splitting a Post — Have the second community user boost a post with just some of the comment threads, while the original de-boosts them. Now there are two posts with maybe comments that maybe follow different instance rules, or fit better with different instance profiles.
Post linking to a toot or comment — This would need some format change, but wouldn’t be too difficult.
Upgrading a comment to a post — This would require several of the previous features, but would allow moving off-topic conversations to their right place.
Bluesky already allows you to use your own domain for your handle. Currently they just use a TXT record in DNS to verify it is your domain - but adding another record to specify on which instance this is hosted shouldn’t be too hard.
How would fully portable accounts and communities be implemented do you think? My vague understanding is that users, communities and content lives at a particular URL and can’t simply change its domain.
Right now, there are several elements:
Extras:
Bluesky already allows you to use your own domain for your handle. Currently they just use a TXT record in DNS to verify it is your domain - but adding another record to specify on which instance this is hosted shouldn’t be too hard.