Hot take: No #ActivityPub software should have to write implementation-specific code to do basic federation with another program. The fact that a program, even a work in progress, can follow Mastodon but not Pixelfed means that something is broken in either the spec or the ecosystem.
I don’t mean one app implementing videos and the other not, or one app implementing edits and the other not. I mean both servers implement some feature, and each can federate with itself, but not with each other.
For example, the current alpha version of GoToSocial can follow Mastodon, but not Pixelfed. That shouldn’t be *possible*. They both speak ActivityPub, so no matter what extra stuff Mastodon or Pixelfed does with following, they should have the base functionality in common — and whether GTS handles the extras or not, that core functionality should work with both or work with neither.
Edited the OP to make it clearer that I’m talking about the server-to-server federation over ActivityPub, not the user-interface-to-server communication over whatever API the server uses.