Going back a bit, the design of ActivityPub was a way to bring the idea of an email inbox to the web. It's little known that HTTP was based on SMTP but allowed more features. My original idea was "semantic inbox" which allowed sending rich data over HTTP. This became Solid Inbox, then LDP Inbox, then ActivityPub Inbox. So email but better. ActivityPub added an outbox which is used for validation, Solid didnt have this and went for complex shapes, which are still not fully working. Outbox worked. In Solid we had access control, allowing privacy, all inboxes were private by default. ActivityPub did have that feature, and also broke standards compliance or it could have imported some of the things Solid had for privacy, as was designed. Most of the people in the W3C working group that made ActivityPub had not read the underlying specs, so you ended up with a system that worked but was not standards compliant, which broke alot of potential interop and benefits from features. Now there are lots of fixes to compensate for this. I guess this is the normal course of events, something similar is starting to go on in the NIPs getting more centralized and political over time. Ulimately you either have a standard that works, of you have lots of little hacks to get round the fact that you didnt implment the standard, or something in the standard is broken. The fediverse was supposed to look a lot like nostr, but technial and people problems get in the way. Nostr also succeeded because solid broke its pubsub over websockets, otherwise we could have had one big open web, including the federated model, and personal storage. But all is not lost, we now have bridges that translate from one place to another. Hopefully each can learn from the other, and add features to offer users more choice.