SX perspectives: App-centric fediverse vs. needs-based peopleverse

Microbloggoverse entanglement

Not long ago SocialHub featured a long thread about fragmentation of SocialHub discussions due to the forum being federated. My own observation was that “becoming part of the fediverse” was a mixed bag (and on itself a fairly meaningless statement). On one hand we finally removed the member sign-up barrier, so that any fedizen can participate from their own fediverse account. On the other hand the “sense of community” deteriorated and AP-related developer discussions become more dispersed in fragmented fleety microblogging channels than they probably were before, without building an archive and knowledgebase of these discussions.

This morning I happened to notice one such interesting discussion where @jdp23 tried to bring the discussion into SocialHub’s context by adding mention of the appropriate AP actor for the #fediversity category. It did not have the desired effect, and rather served to cause a load spike that may have dragged the forum down (a known issue). Jon writes:

(In a discussion on SocialHub, @trwnh asked what kinds of developer-focused discussions were happening elsewhere on fedi and what the barriers were to bringing them to SocialHub. This is certainly a good example! So, as an experiment, I’m going to try tagging @ fediversity @ socialhub.activitypub.rocks to see how that works.*)

[…]

* EDIT: it didn’t work. In fact it may well. have caused a load spike on SocialHub that made SocialHub unavailable for a few minutes, although it’s possible that was just coincidence. In any case I edited this post to remove the tag to keep anybody else from unintentionally also temporarily crashing SocialHub!

Technosphere vs. sociosphere

For a long time it struck me how the fediverse isn’t designed as one usually designs software. It is more that what emerged in the early days - based on working early ‘prototypes’ that explored the ActivityPub protocol, such as Mastodon - was taken for granted. With a working proof-of-concept that communicated in federated fashion taken as-is, the fediverse was seen as ‘universal wall plug’ for connecting apps and fedizens. Any announcement of a project or product “joining the fediverse” a reason to celebrate.

:question: But what does it mean to be federated?

Today an app-centric development approach determines how the fediverse evolves. The protocol and existing installed base is seen as a technical connection point to code support for. And app developers are focused on bringing designated app features into federation. Mostly first to federate between their own app’s instances and then opportunistically with other apps where there may be interoperability. Every app feature - scoped to the particular FOSS project - pushed onto the wire in this ad-hoc tech-focused manner introduces protocol decay and contributes to “Big ball of mud” and “Whack-a-mole driven development” (retain app-by-app interop against moving targets) anti-patterns that makes the next integration more complex than the one before.

:eye: The current fediverse represents a technosphere.

Today we have created a fediverse that allows app developers to advertise their federated product features. The app dev is the primary stakeholder, and their Needs drive development. These in turn indirectly represent Needs of people using their app (“users”) via product development or ‘issue-driven design-by-consensus’ often seen in FOSS projects. The secondary stakeholder group are usually called just “Users”, an easy app-centric abstraction that developers love to use. “Users” do not equate to “Fedizens”. At best fedizens are considered tertiary stakeholder group, but mostly app-centric development considers them to be just potential users. On the app-centric fediverse it is all about the app.

:point_right: A future peopleverse represents a sociosphere.

The current app-centric fediverse has a measure of success. Social networking use cases of existing centralized platforms have been successfully ported to ‘federated space’. A communication medium resulted, having the characteristics of a Microblogging platform, representing an ‘application domain’. It is fair to say that app-centric fediverse evolution has a viable future. Yet I would add that imho an exclusively app-centric fediverse does not represent the future of social networking (and even stronger I think such ‘technospheric approach’ has no future at all, where we get the fediverse we dreamed of). Above all the approach does not do justice to the promise of the ActivityPub protocol to provide us with an interoperable social graph of addressible actors to exchange meaningful social activities with. And then model anything on top of that foundational technology base. More specifically, to use using domain-driven design terminology, to model ‘business domains’.

SX envisions a peopleverse where the needs of people in their daily lives are central and social networking technologies are supporting them online. SX is a solution development method that - based on the SX Pyramid of perspective - starts to investigate personal needs of all people involved in a solution, and then scales to take inter-personal relationships into account, to ultimately consider how societal constructs are modeled that can satisfy these needs. SX thus rises above app development and includes entire ecosystems and grassroots movements to its scope. Only here a true peopleverse may emerge over time.

Cross-linking to old “Community has no boundary” advocacy that is an example of a needs-based design approach to deliver solutions, instead of tech-focused plumbing to connect apps to other apps…

Must read is the following SocialHub thread, that contains a ton of useful info:

At the time I made the beginnings of a crowdsourced design doc at fedi.foundation (which wasn’t finished because of lack of interest to participate in a multi-author developer portal).

Quoting the most recent post that relates to the observed community fragmentation that is the result of forum software “adding federation support” from a pure technical and app-centric perspective.

I will necro-post on this thread. For a long time, in the context of Groups support for the fediverse I have stated that we need more than just group support bolted onto a microblogging use case. That a paradigm shift is needed, where we recognize that Community is everywhere, and has intricate meaningful relationships to other Communities and actors across the fediverse. A paradigm shift I dubbed…

:point_right: “Community has no Boundary”

We must design meaningful community spaces, where people in the right social context can communicate effectively and engage in collaborative creative events in safe spaces.

In recent days in various discussions I mentioned the implicit but very detrimental “Big Ball of Mud” anti-pattern to the evolution of the fediverse, that is the result of an incomplete grassroots standardization process.

No one is taking care of the design of the fediverse as a whole.

Here I’m talking about the conceptual design, not protocol plumbing and tech details on the wire. What are we building all of us together? What does it mean to become part of the fediverse? We do not ask those questions enough → we do not focus on the design of the social layers of the tech stack!

By just focusing on glueing our apps together with other apps we are able to duplicate existing corporate social media, and add an extra beneficial sauce of decentralization benefits and richer features sets through basic levesl of interoperability.

This is the topic that has my fascination, the major fedi challenges. What we see and facilitate through the FEP Process is natural organic emergence and discovery of best-practices that are funneled into a standardization process. This is what we want… a fediverse of cocreation and value exchange between communities.

:point_right: “App-free computing”

But the problem starts by how we subsequently consider fediverse as just some Ethernet LAN where we attach our plug’n play App device to. Or a wall plug to get to the juice…

[duplicate image removed, see top post]

Going beyond the limiting abstraction of the app. Another theme I’ve long been advocating for. It is now part of my “working in commons” activities around elaboration of Social experience design (SX) methodologies, and focus on these missing social layers of the Open social stack. Most importantly though, to adopt a design approach that is focused on Needs of all participants engaged in social experiences together. SX provides a form of needs-driven development.

That is a totally different perspective than “I attach my Forum to the fediverse, and now I am part of the fediverse”. The app by app integration approach. Where the represented needs are those of the App developer who wants to push as many features as possible onto the fediverse, but may be less interested how other apps deal with, and what the overall impact is on how social experiences satisfy the Needs of a particular use case.

In the SocialHub community fragmentation discussion the pros and cons of the technical wire implementation of the ActivityPub plugin can be discussed and weighed to evaluate whether it turned out net positive or net negative to healthy community formation. But it a whole discussion after the fact, where ad-hoc coding without design of the social layers / conceptual architecture of the fediverse is now the reality to deal with.

Effectively what it boils down to when you consider the whole fedi dev community as a whole, is that highly distributed teams with different cultures, different programming languages are coding microservices they launch into production, without design for their interaction with others. That can never come beyond a fedivers that just marginally works, imho.