Dissatisfied with the various offerings of the Fediverse, I decided to read the (current) prominent standard to see how it works. Now I understand why the UX across the Fediverse is so painful. ActivityPub and ActivityStreams do nothing to define a concretely interoperable set of services. They just list some open ended, and wholly optional, possibilities for what could be.