I think UI is the least of their worries. They’ve not even decided what to migrate yet.
It really needs to be everything - posts, comments, subscriptions, upvotes/downvotes, blocks, and mod status. It needs to be such that signing in to your account on the new instance is the same as signing into on the old one. It should be so seamless that you can just switch instances just to try out a new one and switch back again if it isn’t for you.
It won’t be anything even close.
Indexes are unique to each instance. Post ID, Comment ID, Vote ID. There’s no way to correlate this information between two instances other than to do a full text match, post by post, comment by comment, vote by vote, to determine if what is being imported already exists on the new instance or is “new”.
Even if you go that route, then there’s the quandaries that follow… if you import what is effectively a “new” post to your new instance, do the comments (which aren’t yours) come along, or do you simply end up importing your post with no interaction history.
Then there is identity. You most likely have a non-local identity on your new server, as a result of federation, how does the new instance know that you are who you say you are, givimg you ownership of any of that existing content as it binds it to your, now, local identity?
That’s just off the top of my head.
If you’re lucky you’ll get to keep your cake day.
I kinda just want to keep my cake day. I signed up on my first account on my IRL birthday, but then I created my own instance some time later and created an account on that one. I just thought it was fun to have it on my birthday. :(
Posts and comments have a canonical URL (i.e. the original submission’s URL that’s linked to via the Fediverse pentagram), so that can be used as a foreign key when comparing.
I think identify claiming would need to have been designed into the original spec with something like a public/private key for account ownership to allow moving of related data in a safe way, or e.g. editing a post from a different instance than originally posted it.
Indexes are unique to each instance. Post ID, Comment ID, Vote ID. There’s no way to correlate this information between two instances other than to do a full text match, post by post, comment by comment
I hope there will be a solution for this. It’s so unpractical. The only sane way to link to posts on other instances seems to be to cross-post them.
If you just share a link to a specific post or comment … people can see it, but unless they happen to have an account on that instance, they cannot interact with it. To do so, you have to search for it, and the search is not reliable.
Why can’t post or comment IDs be generated hashes, and each instance uses the same algorithm?
As long as they’re using UUIDs where they should be the possibility of a collision is literally so low as to be impossible, but that relies on all the pieces of software using good principles.
It’s not that on mastodon and it shouldn’t be that here either. There needs to be some consequence to switching instance.
no offense
A UI designer’s dream is a backend engineer’s nightmare
Without knowing much about Lemmy I would guess that a bit more info is needed, along with some human interaction on both servers to validate the move.
When I signed up i wrote a bit about why I chose that server, I think that as a minimum would also be required.
Edit: I would also only allow moving between servers at the 1st of each month, just to cut down on work for the admins.
There’s three big problems with this.
A. You’re now allowing people to hop, and even name change. Let’s say they’ll allow that. But I think both of those are things that will have to be agreed upon if it’s done at all.
B. You’re missing the password. Every instance should have a unique salt, passwords should NEVER be reversible, and never be stored insecurely (AKA before salting the hash for instance). I use a different password for every site, but I’ve had sites tell me “Your password is X” … holy shit that’s a HUGE security flaw for multiple reasons.
So if I’m migrating and don’t need to set a new password, that’d be questionable.
C. This can be done unscrupulously. If I get control of someone’s account, I can migrate it and essentially steal all their accounts and posts. For 99 percent of us who cares, but let’s say there’s a post from “Justin Bieber” and I get his account, migrate it, use a new password, and now make his posts say “I don’t suck cocks”…
It’s probably more important when it’s a big game studio who posts update and such to Lemmy somewhere but the point is accounts will have a huge value eventually, letting you migrate it with a click might be dangerous.
A. If you want to hop you can already just create a new account. What’s the issue with taking ownership of your posts with you?
B. Just migrate the salt, too. A server can have per-user salts, which may be migrated together with the hash.
C. If you already have control over someone else’s account, what additional benefit does migrating serve?
What’s the issue with taking ownership of your posts with you?
I think the question is will they allow it. Though I’m sure there’s weird edge cases. I’m not an expert on the Ferdiverse, but let’s say you hope from Lemmy.world to Threads or something like that. But Lemmy.ca banned threads, now your posts have moved. It kind of creates a weird migration.
Though the counter argument also exists “Why do you need to take ownership of posts?” I don’t know if that’s as valuable to go through the hassle. If anything moderator positions is what would matter more and can be done through a process rather than migration. (promote B, remove A)
But like I said, I’m not an expert so I’m still learning.
B. Just migrate the salt, too. A server can have per-user salts, which may be migrated together with the hash.
If ever server has per-user salts, great. But that’s again a question for implementation. You’re making a huge assumption that’s how it works, and there’s no server dependent values. I mean even the hashing algorithm should be able to be proprietary be different between servers (At least that’s how I’d do it).
C. If you already have control over someone else’s account, what additional benefit does migrating serve?
Because control can be reverted, or limited. I mean if I can step to Bieber’s laptop when he’s in the bathroom, that’s not the same as having his login in and password… If lemmy.world sees someone has broken in and locks the account, or Bieber changes his password, your access is lost, where as if you migrate it, can lemmy.world revoke the migration? And if that’s the case, doesn’t that create some strange problems?
I’m not saying this is a bad idea, but I think you have to think more about the edge cases. Though this does have me now thinking about what’s the value of this migration?
They might just go Masto-style migration and just but a banner on your profile linking to your new account, and give you a list of communities to import.
@cheerjoy I think in the long-run of the Fediverse it would be better if we can fully export all of our data to a new instance sure maybe still have a redirect account on the original instance you where using but it would be good for not only people that want to move instance to another popular instance but also if someone creates there own allowing you to try out the Fediverse before spending the time running your own instance as apart of it.