The paradox of Mastodon is no one (not even mastodon.social) likes mastodon.social dominating the network, or Eugen G being the sole arbiter of extensions to the common protocol,

but on the other hand, ultimately, the reason we all use Mastodon (IE, the part of the Fediverse people think of as "Mastodon", modeled on the Mastodon extensions to ActivityPub) instead of Secure Scuttlebutt or identi.ca or whatever is because Mastodon was the AP implementation that had one person's singular vision.

We *need* standard protocols like ActivityPub, but ultimately, users do not want a protocol. People do not want a formless ball of infinite potential. They want "Products". They want a clearly presented thing that they can put into their web browser or phone and it slots them into a legible user flow satisfying a specific user story. This is not because they are brainwashed by capitalism. It is because most people *have other shit to do* and don't want to bother with software that's unfinished.

This is what separates a semi-functional open source project on GitHub from a thing that becomes widespread with end users. Mastodon dot social was not the first ActivityPub frontend. But it was *opinionated*, and it anticipated common user desires (like an API for phone apps). You need to understand this if you want to bring a Mastodon successor system into being. Your system, or the user-facing part, has to be opinionated.

A piece of software which is not fully conceptualized *is unfinished*.

This creates a big problem, because in general we ("we" meaning "humans") aren't good at creating Things with singular, consistent visions unless there's a specific single human in charge of the entire vision. And "we" don't have many social structures that allow for a creation like that unless that single human winds up with inordinate control over the final creation, leading to either corporate control or (in OSS) "BDFL" projects where a single overworked maintainer becomes a point of failure.

Note: These posts slightly mangle the details of how Mastodon fits with the timeline of ActivityPub vs ActivityPub precursor protocols; @[email protected] explains what I got wrong in these posts:

https://mastodon.social/@erincandescen[email protected]/109429565290622497

https://mastodon.social/@erincandescen[email protected]/109429658485058170

I don't think this changes in any way the argument I'm making in this thread about product design, but it's good to know.

@mcc @erincandescent

I am completely intrigued and utterly exhausted so I've bookmarked this tweet to re-read and contemplate when (or if) my brain resets to semi-functional.

@mcc We have artist-communities that achieve something similar by having regular high bandwidth communication (like living together, or meeting together every evening to create and socialize).

@ArneBab @mcc That's great point!

A rock band is an example of what you describe and they (a) often produce works whose vision frequently surpass that of individuals ("band output" vs "solo career") but (b) most often tend to be short-lived.

One big difference between artworks and software in general is that artworks are "one-shot" endeavours (games are more like that) while software usually implies unbounded maintenance. (I've been thinking a lot about this latter point...)

@ArneBab @mcc I just remembered that I wrote about this before, comparing bands to software development:

https://hisham.hm/2021/03/26/a-love-letter-to-bands-in-music-and-code/

A love letter to bands, in music and code - hisham.hm

@hisham_hm @mcc that’s beautiful! Thank you!
@hisham_hm @mcc The most widespread band-like structure could be the mentor-mentee structure. If you start with that, you can end up in a two-person-band structure.
@hisham_hm @ArneBab @mcc Great piece. And "the band" is a great metaphor for the best part of teamwork and collaboration. Think I'll use it when I'm giving a talk about skills and collaboration in education at a edu conference at my University tomorrow. So thanks 🙌
@arntmaaso will that talk be recorded? I’d be interested in it 🙂 @hisham_hm @mcc
@ArneBab @hisham_hm @mcc No, sorry. Only RL. And in Norwegian 🤷‍♂️😃

@mcc There are projects that have succeeded on a more collaborative model with a group (Postgres and Kubernetes are two good examples). This isn't even limited to backend code; GiMP and Inkscape are two great UI-centric projects that are collaborations.

It might be worth studying why these projects succeeded without needing a single person's vision.

@mcc Sustainability sans-BDFL can sometimes be achieved if the original creator manages to articulate the vision of the productized project well enough that others can rally behind that vision and keep moving it forward. Like a genie wish, though, it can end up with the original BDFL coming back and saying "No! Wait! Not like that though!" and you get successor projects like deno.
@isaacs deno actually sounded kind of nice to me, except I was turned off by it using its own package repo lol
@mcc I'm flattered, but despite the alleged oss rivalry, Deno in practice uses the same npm registry as the rest of js, just usually served through unpkg or esm.sh. And trex looks pretty promising. As more of the node world makes esm a first class path, the difference and inconvenience will diminish quite a lot, I think.
@isaacs To be totally honest it's not even I specifically "like" npm, I just remember the horrorshow period when npm and bower coexisted and tons of stuff on github supported exactly one which was a problem if you wanted to use TWO libraries in a single project. I don't want to have to *think* about whether whatever library supports the toolchain I'm using.

@isaacs Anyway it looks like deno currently has a big banner saying "NPM compatibility is now live! Click here to get started" on their front page so maybe I should give it another look!

(Although I am still nervously eyeing QuickJS because I'm still not completely sure whether V8 can run on some of the exotic platforms I care about...)

@mcc "it doesn't make me have to think" is about the highest praise you can give npm, so I'll take it lol

@mcc this reminds me of the development of Apple products, starting with the early computers but most especially with the Macintosh. Yes, many were involved in the creation but it was the singular vision of Steve Jobs that made it such a success and more importantly USEFUL tool for most of us.

Vision matters.

Folklore.org: Good Earth

@mcc
You might enjoy the consensus based decison making and leadership in some First Nations cultures (indigenous e.g. Cree, Denè). Who might call your thinking colonialist.

"This creates a big problem, because in general we ("we" meaning "humans") aren't good at creating Things with singular, consistent visions unless there's a specific single human in charge of the entire vision."

@mcc (i’m not convinced that this part isn’t a “brains poisoned by capitalism” problem but it sure squares with my observations too)
@chrisamaphone At various times in my life I have interacted with leftist organizations and… how shall I put this… I don't have a lot of personal experiences to suggest that anticapitalists have found a successful model for effectively running an organization, other than our culture's standard pyramid model and/or "one strong personality is holding the whole thing together"
@mcc I mean, me too, but that doesn’t really refute the claim. we are all out of practice (and have been for generations) with democratic responsibility and community care (especially white folks)
@mcc this didn't happen to bittoreent, almost no one uses the reference client. same with the web. and in both cases clients implement their own protocol extensions
@parataxis well bittorrent sure but I'd argue Netscape, with its nonstandard extensions, was specifically the "opinionated" version that overtook the standard-but-incompletely-conceptualized Mosaic.
@parataxis @mcc ...almost noone uses the reference client *anymore*, but ppl definitely did in the early days. The P2P space was booming when it appeared, and the user-facing design of the many tools copied each other, starting from Napster's, which was itself a user-ready product.

@hisham_hm @parataxis Before this goes offtopic I think you should assume Bob is well familiar with the specific history & any differences of opinion here will be over interpretation of events.

My personal opinion is BitTorrent/original (which I did use a few times), Azureus, and uTorrent were all "opinionated" products in their way, but I don't think overall the model I'm describing in this thread fits all that well. It's also a special case because BitTorrent is a relatively narrow-focus tool

@mcc @parataxis *nod*nod* upon rereading I realized I sounded totally 'splainy, sorry bout that. What I meant is that in my recollection BitTorrent was "the" BitTorrent for a good while back when it was new, and my memory of alt clients for P2P tools was mostly from playing with Linux alternatives.