Some hot takes on APIs and protocols (and in particular #ActivityPub). Just summarizing some thoughts I've had
1. JSON-LD is completely unsuitable for a social networking protocol. Full stop.
2. The extension mechanism used by JSON-LD is neither necessary nor sufficient for dealing with the so-called "open world assumption"
3. The "open world assumption," as discussed, is not something that is desirable to support in practice
4. Your average person should not know or care about protocols
1/
Hrefna (DHC)
in reply to Hrefna (DHC) • • •5. One of the challenges with ActivityPub specifically that I don't see discussed often enough is the lack of ability to have _non-payload extensions_. What I mean by that: there's nothing that allows the definition of, say, a webfinger-based extension to the protocol, or that changes your rate-limiting behavior in some defined way.
6. For a protocol, the test suite is a killer feature. By which I mean that if you don't have a robust test suite then you don't have a protocol.
2/
#ActivityPub
Hrefna (DHC)
in reply to Hrefna (DHC) • • •7. A resistance to non-AP protocols holds back fediverse development
8. The concept of "breaking changes" is essentially meaningless to AP today because mutually incompatible—such that not only that they can't communicate, but that there is no way to make them communicate—protocols can both be 100% AP "compliant"
9. The fact that no one implements AP correctly should be taken as a danger sign and as something that needs to be fixed, but the problem isn't with the implementers
3/
#ActivityPub
Hrefna (DHC)
in reply to Hrefna (DHC) • • •10. The lack of good libraries or toolkits should be viewed as a significant and serious danger sign. The lack of ability to _create_ these libraries should further be viewed as a danger sign.
11. We should view any attempt to "refresh" AP in a way that is not backwards incompatible and that does not address the extension problem with suspicion (not as in it shouldn't be done, but in that we should not think that it will solve anything).
12. We need to ask "what is next"
4/4
#ActivityPub