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.
@mcc Huh, opinionated software is the best software. /cc @gnome (giving tuesday, ya'lls!)
> Mastodon dot social was not the first ActivityPub frontend.
It was, actually. At least in instances deployed for the general public.

Mastodon's migration to AP was what forced everyone else over and AP might not have been a W3C recommendation without it.

@mcc
@clacke There are some notes about my error here at the end of the thread.
@mcc Do we ALREADY need a Mastodon successor though? I'm just starting to settle in here, I've no interest in immediately uprooting again
@mcc For me, it is about product thinking, which applies to OSS projects as well :)
@mcc HOT TAKE here but as a user and a developer, I also want things that actually do stuff.
@mcc Yes! Although I'd use "Solutions" rather than "Products."
@mcc Slack supported the IRC and XMPP protocols until supporting them was too much of a drag on their own product innovation (so they said). This is the inevitable fork in the road. We’ll have to see how the fedi plays out!
To be fair, protocols always need escape hatches to survive. WebRTC has a free form data channel which is a good example. It allows custom, non standard features which seems fine.
@kumarvibe To me this just demonstrates how important it is to get the group decisionmaking right— when making something like the Mastodon/ActivityPub network you need to make sure no single actor gets a Slack-like level of importance such it can get away with concluding federation is no longer "worth it" per its goals. Or else they're definitely going to conclude it's not worth it! It's a ton of work!
@mcc They want a big ball of timy-wimy spacywacy social stuff.
@mcc fantastic thread.
The product paradox.
@mcc hell, I would argue that wanting “products” isn’t even a problem. Modern tech isn’t about products. You’re not participating in a transaction to use Twitter. Twitter’s business model doesn’t even identify “providing a social media service” within it. They’re a data and advertising business.
People wanting a product is honestly OK. People only being able to BE the product but sold on that exchange being a product is the problem :/
@mcc :: raises hand:: I want a formless ball of infinite potential
@alisca I mean me too but if we build that we'll have a network with two people and it won't be very useful.
@mcc I tend to agree with this in our current context. I can appreciate the alternate view that if we sufficiently lower the barriers that keep users from becoming creators, they will create more products that will better serve their needs, and that will change the context.
@mcc Very well put and I wholeheartedly agree. I see this gap between users and techies in my work as a developer and also in reactions to questions and criticism of new users on Mastodon. I am both developer and user myself and while I love creating something cool with infinite potential, its goal is to be used, so the user is always right. Seriously.

@mcc This is product ownership 101. In my org, there are so many engineering teams who make cool stuff for other engineers but never get adopted because their customers are not engineers.

Product people need to take the potential that is a well-constructed API, and make real products that regular people can use.

@mcc I've been saying that Mastodon (and AP more broadly) are a lot like e-mail as a counterargument, but maybe that cuts another way, too. E-mail took off in public adoption after HoTMaiL, OWA, and GMail offered progressively more integrated and opinionated *products* backed by e-mail.

As a client, GMail is indistinguable from GMail as a service — that e-mail as a protocol backs both is invisible to the user as anything other than getting Metcalf's law for free?

@mcc Even today, if you run clients as disparate as Thunderbird or Windows 10 Mail, they offer how to get an e-mail account — users view services through the client, rather than picking a service first, such that feels like completion of how their software works?

Apologies for rambling, and for idle thoughts...

@cgranade A thing I still would like to exist is a variant of joinmastodon that instead of giving you 100 servers gives you between three and six which are large enough to be well-moderated but small enough to be well-moderated and says "pick one, it doesn't matter which" because it really doesn't.

@mcc Agreed, though the "well-moderated" part is kind of the kicker.

Sad that there's what appears to be an actual attempt at setting standards for cross-instance moderation policies, but it's run in bad-faith by libertarian self-described moderates who want to debate everything to death while the rest of us are harassed off the internet. Sigh.

@mcc @alcinnz

Standard protocol:
carbon, hydrogen, nitrogen, oxygen, phosphore & sulfur

Ultimate implementation:
Big Lebowski