Just heard in #ActivityPub related chat (because I typed it) ..
> Btw, the ad-hoc code-first show-dont-tell mentality is an interesting social dynamic in FOSS, but esp. in the AS/AP open standards based ecosystem, a chaotic grassroots #commons.
Just heard in #ActivityPub related chat (because I typed it) ..
> Btw, the ad-hoc code-first show-dont-tell mentality is an interesting social dynamic in FOSS, but esp. in the AS/AP open standards based ecosystem, a chaotic grassroots #commons.
> And it is an understandable dynamic.. devs have invested much time to 'eat' their way through the complexity of building federated apps, and afterwards when they are unlocked, gained the expertise, they want to focus on their app. They are likely to even resist major changes to the spec, even if they'd be ultimately beneficial to them.
This pragmatic approach that often works very well for individual #FOSS projects, is detrimental to formation of healthy #commons.
https://socialhub.activitypub.rocks/t/layered-activitypub/5449/6?u=aschrijver
The link above points out that for AS/AP and #fediverse at large we need to know the domain model of the protocol and al start talking in the same ubiquitous language for good common understanding.
A similar need for a domain model also exists for the #Protosocial#ActivityPub protocol extension, and if that initiative lifts off is one of the first things to flesh out.
(Thanks also to @tijl for pointing out that need to which I 💯 agree)
https://discuss.coding.social/t/protosocial-activitypub-protocol/665
I'm pretty sure if we can all agree on what a "domain model" is, we can all agree on what the "domain model" is for AP : P
We also first need to agree on the object of the domain model.
Is it 'all human collaboration' ...
or is it a narrowly defined subset of human *interaction* commonly called 'social media', specifically publishing/reacting to each others media ** in an identity-centric way **.
A common framing of 'the domain' is essential to a useful discussion.
Yes there are many ways to slice leading to entirely different models. In terms of categories I discern:
- Business domains (e.g. Microblogging, Content management).
- Application domains (e.g. ForgeFed, Mastodon).
Above I refer more to a meta-model, but expressed as a business domain it'd be something like "Protocol development".
Protocol layers, transports, extension points, wire formats, conceptual architecture, etc. So we can talk about #ActivityPub in ubiquitous language.
As an example, a recent related topic by @lax on #SocialHub mentions clearer layering of the protocol stack..
https://socialhub.activitypub.rocks/t/layered-activitypub/5449
In another recent topic on #ActivityPub C2S I mention a need to discern between conceptual architecture and implementation. "Server" and "client" aren't part of the conceptual architecture, and likely need a different place in the domain model on that basis. They are different kind of abstractions than e.g. an "actor".
Most of us rush into the implementation layer - but I'd like to reflect on the conceptual layer a bit... Just saying "Objects, Actions and Actors" seems like a poor - dare I say anemic? - domain model. https://martinfowler.com/bliki/AnemicDomainModel.html
In the 2nd topic above I describe the conceptual architecture as:
> "a distributed network of addressible actors for the exchange of social activities”
There is a full domain model there, and this conceptual architecture conveys the full promise and potential for #ActivityPub based social networking. All the various gears and mechanics that make the protocol tick have a place in it.
It is a bit of a meta-model, as it is not directly basis for impl in code, but input for specs.
There's Babylonian confusion of speech in all #ActivityPub related discussions that occur across the #fediverse. We have the #SocialWeb protocol specification itself, then the reality-on-the-wire where gaps and optional technology choices are implemented. And where protocol decay and post-facto #interoperability (follow-the-Mastodon) murky the waters. Leading to misunderstandings, wrong expectations, etc.
An example is in how we talk on Nomadic Identity:
https://socialhub.activitypub.rocks/t/nomadic-identity-for-the-fediverse/2101/96?u=aschrijver
A space for Bonfire maintainers and contributors to communicate