jdp23:
I disagree. A shared SocialHub vision is potentially achievable; a shared fediverse vision isn’t achievable.
At world scale we have a United Nations and fundamental rights that belong to all humans. That is also a result of shared vision of, in this case, how the world should be for people to be able to live in unison and harmony on our planet.
In the case of ActivityPub there was an implied shared technical vision formulated in the specs, and on the fediverse - the installed base of ActivityPub - we are subsequently diverging further and further away from that through protocol decay. The protocol decay is caused by not recognising the shared vision. It constitutes ever growing accidental complexity, and it will kill interoperability if left unchecked.
Shared vision is also the start for formulating shared language, and avoid Babylonion speech confusion that is in so many fediverse related discussion because people have different mental framework and expectations wrt the protocol stack.
Socio-technical aspects
There are many visionary aspects. In this case I refer to a vision on the versatility and extensibility of the protocol, so on a technical perspective. I think part of the enthusiasm of devs new to AP who read the spec for the first time is due to how it does not start as a typical dry and intricate W3C formal spec doc to wade through. The Overview reads like a getting-started manual that may leave the dev with a "Wow, I can get going right away!". I like how that is written, myself a lot too.
In hindsight, and as opportunity to improve, I think that it helps shift focus too much to implementation and coding right away, without spending a couple lines of text to first address "What do I get when implementing this spec, and what I can I do with that?". The email analogy is made in the intro, with nice diagrams, but in a context where the mindset is already switched to implementation mode. Plus, its an analogy only. What is the conceptual architecture of AP? What are key concepts, use cases, capabilities that are fundamental characteristics of the protocol?
"ActivityPub is a universal social web protocol based on the actor model, to span up social graphs of addressible actors that can exchange extensible activities with each other as semantic messages in well-defined vocabularies. It provides implementers of ActivityPub ways to access a heterogeneous social networking environment, where their domain-specific use cases become interoperable building blocks to provision rich social apps and services to their user base."
And it might clarify the relation to Activity Streams..
"ActivityPub protocol relates to W3C ActivityStreams in the following ways: a) to define messaging format and extensibility mechanism, and b) to provide a small set of social web primitives that represent common activities in existing social media, as a starter kit to build upon."
Just making this up on the fly, but if these were 'holy texts' from the start, we would have a totally different fediverse. By leaving things so many things open for interpretation and choice, thinking a vNext would tackle these issues, we instead got a nasty on-the-wire tech debt situation.
Having definitions as above helps sets constraints.
- Universal protocol, heterogeneous network. What does that mean and implicate?
- Actor model. Why was this chosen, and what is the power and benefit?
- Semantic data. The data is meaningful. Choose JSON? You are responsible to retain meaning.
- See any hard-wiring with HTTP in these definitions?
- Domain-specific use cases and vocabularies? We need best-practices and design methods.
- ActivityStreams might not have become the Golden Hammer activity set to model
any
.
Socio-cultural aspects
What is totally lacking in the W3C specs are any considerations beyond direct technical concerns. So yes, ActivityStreams - modeled after typical existing social media platforms - has Block
in the technosphere. But it does not have a manifesto on the kind of social networking environment it envisions to emerge in the future, in the sociosphere. For instance that the "social" in social networking starts on the basis that we can feel safe online. That might translate into safety-first design practices. It is great that now we have a Trust and Safety task force and IFTAS, but on the fediverse we are for the foreseeable time retroactively patching up safety with band-aids.
One insight I had as a result of our discussion on substrate last week, was that activist causes led to the creation of ActivityPub and that these causes also aren't part of shared vision right now. They should become native to fediverse. Where everyone should be either razor sharp in perceiving them, or not have to think about them as they have become internalized and become natural part of online culture.
So obvious activist causes that motivated AP were "social network for the people, by the people", breaking the dominance of Big Tech platforms, anti-capitalism and corporatism. In 2020 @darius gave an AP conference talk "Let's play and win our own game" that delved into this subject. It contained many great suggestions. But unfortunately it did not lead to these points becoming anchored in our movement, part of our vision. People play their own game individualistically as it goes in chaotic grassroots environments, but not in concerted effort. Having no deep views on the culture we want to foster.
If you bring things into vision here, then considerations come into view on e.g. how on one hand unwanted corporate capture can be held at bay, while at the other hand people should be able to earn a decent living with the apps and services they bring to the people via the fediverse.
It might lead to scrutiny on the whole process with which we develop fediverse. Like is W3C with its corporate-favoring organization structure the right place to host the specifications? Why are the specification only technical in nature and how do we add socio-technical and socio-cultural elaborarations?
CALM: Cultural diversity, equity, and inclusion
Another insight I had concerns the role of DEI and anti-racism / anti-fascism. De-facto the current fediverse constitutes "rich microblogging" (just a domain-specific set of social networking use cases, based on the conceptual architecture). Modeled after existing platforms. And with that we see very similar social dynamics taking shape on the fediverse.
For Social experience design I renamed 2 anti-patterns to make them friendlier and more inclusive: Oversplaining ("mansplaining") and the Reply sigh ("reply guy") reaction they cause. People on the fediverse are very sensitive about them. So why then, when it comes to typical activism on the fediverse, do we do this all of the time? OF COURSE fascism shouldn't be accommodated, same as Human Rights shouldn't violated. To fellow fighters on the same cause? Often very forcefully with implied "better listen, or else.." undertone. I think the reason is the poor tools we have at our disposal. We don't have safe collaboration space, only Wild West global public square where we are all alone connected to a social graph, and the only way to get interaction is to raise ones voice in public. The way to get things done as an activist is to wield influencer tactics and get a following. On the current fediverse "activist voice" prevails, but it is not a part of a process that leads to internalizing and anchoring of activist causes into culture. The only weapons the activist has are their activist voice and the band-aid protection mechanisms retroactively created over time.
My vision on DEI is that it becomes totally natural. Embedded in culture. You might compare "fedi" culture to a country, where at the borders there is protection to give safety guarantees against enemy invaders, so that internally a society and rich culture can blossom. Which requires also a vigilance e.g. to address racism by the population to create and foster these conditions. Detailing this vision gives opportunity to define strategies we can follow.
I perceive two important parasocial dynamics that are the result, namely that constructively discussing sensitive topics between peers is like "walking on eggshells through a minefield", and where inadvertantly a mine is triggered the high price is often that "we divide ourselves to be conquered" by hitting the block button in anger. This creates the opposite culture we want, unsafe for anyone, where only the brave dare to raise their voice, and there are no reconciliation paths where on the basis of common human decency and manners, people can come in the clear or even explain a misunderstanding.
For a fedi that is able to fend off fascism (the country border) and make a fist (healthy society and culture) we need safe collaboration environments and make activist causes intrinsic to fediverse evolution. To summize the process as a function wrt strategic activism focus:
Activist protection and defense --> DEI culture and habits
For the grassroots standardization process I'm looking into for SX I defined "CALM culture" as inducive to "Constructive activism-led movements". Here activism can be strategic and becomes constructive where it is part of an end-to-end process. The fedi activist uses "activist voice" only where and to whom it is appropiate, and has channels and a funnel to help more people become allies in construction space, cocreating our future.