1/
If ActivityPub and ActivityStreams used acct-URI rather than HTTP-URL to identify users, then there would less problems with switching between different Fediverse software.
(Different Fediverse software represent users with different style HTTP-URLs — which creates the problem.)
2/
For example —
If the "username" is part of it, then there is a straightforward unique ID for this user as an acct-URL:
acct:joeblow@example·com
But there are many ways an HTTP-URL as an ID gets represented. Ex:
• http;//example·com/users/joeblow
• http;//example·com/user/joeblow
• http;//example·com/api/users/joeblow
• http;//example·com/api/user/joeblow
• http;//example·com/~joeblow
• etc
3/
Although what I mentioned here doesn't resolve the problem with changing ones username.
That problem still exists with this technique.