On Mastodon being complicated:
If you're not a Tweetdeck user, the thousand-column interface _is_ complicated.
Some of the complications around federation come from trying to hide such details from users. If a user saw every contact as a full user @ hostname address, they'd quickly figure out that some people are using different servers / instances. It would change their expectations.