Is there a reason why all the services, that use the ActivityPub protocol don’t have a unified API?
None of the mastodon apps allow me to log in with a lemmy/kbin account.
Also none of the lemmy apps allow me to log in with a kbin account.
Even though kbin has both mastodon (microblogging) and lemmy (threads, communities) functionality.
Also, Pixelfed recently introduced “login with Mastodon”, but all it really does is just create a new user on it’s instance and copy over the mastodon followers and profile info.
Why can’t we just have one account to rule them all?
Because they are still different apps with different needs, architectures and formats. They just synchronize most of their content between each other.
But to be able to sync with each other, they still have to agree upon a standard, right?
Yea, but that’s just a lowest common denominator (e.g. it doesn’t include things like lemmy community sidebars), and also generally not appropriate for a client application. ActivityPub transmitts all events that are happening (posts, likes …) between servers, and they are supposed to index and aggregate things (e.g. sum up votes, sort posts). It’s just not feasible to expect the same from a mobile app for example, you’d have to at least create another standard for that.
So services end up implementing their own client APIs to fit their needs. And imo that’s actually a good thing, because it allows them to try out features and specialize on different use cases. But afaik the ActivityPub people are working on another standard for client APIs, at least it’s on their radar.