But what is “high quality software”, if we look at it from a perspective of user expectation? There are a lot of things users expect now that are not just a function of the software itself. And how do you organize the people to produce the software? I think the volunteer model that powered a lot of the IRC and Jabber era you mentioned is both decaying and under attack in terms of viability for mainstream end-users.

One psychological element is that I suspect the “service = client = identity = interaction model” meta-model of mental compartmentalization has been embedded firmly into mainstream end-user consciousness, because it's easy to understand and provides strong environmental cues. This is both encouraged and to some degree enforced by the “Does It Work On Mobile” situation, which implies dealing with Google or Apple app stores. Notification handling seems particularly awful, because it usually means going through an app-specific developer account which is required to be responsible for a forwarding server, which then becomes both a recurring financial expense and a centralized point of attack, and so on.

OS-level, user-level, and security-apocalypse-related requirements for fast-paced updates destroy anyone following the “make something acceptable and then leave it be for a while” development model, which drives the effective cost and need for commitment way up. In the dominant IRC/Jabber era, clients could have code that didn't get touched for a long time, which is much more amenable to a volunteer model.

Non-volunteer libre software models run into all the usual market and funding problems, but both they and volunteer models also run into the problem of being exploitable via the newest iterations of embrace-extend-extinguish, which I guess I'd call copy-customize-clobber. Marketing departments are both ethically Interesting and a massive money sink. Taking money at all at least used to involve huge logistical concerns (which themselves have centralizing effects), though some of this has become easier.

The pricing gradient is abysmal. Much like how the iOS App Store has had its pricing driven to rock-bottom by price anchoring on “things that got added onto your phone bill” even though the new crop of apps was full-fledged polished packages that cost much more to make, the anchoring expectation for keeping a new service running (and its client maintained, and so forth) has been driven to “free” by VC-backed data-driven operations providing a very strong distorted market signal to that effect (I say “distorted” under the assumption that users don't realize the full scope of the mass surveillance and control that is possible with digital socialization and aren't taking it into account, but in either case it hurts the open options).

A lot of the polishing of end-user-facing software involves slogs, and some of them involve money-draining and executive-function-draining slogs. “This doesn't work on Android device Foo” is something that is very hard to fix without having a Foo on your desk. Users, frankly, can also be quite ungrateful in an open-source development context (keeping in mind that whether this reflects badly on them is a separate question, given the amount of hidden psychological distance involved and the social context of other unfortunate power exchanges that they're pushed into by digital technology). In a corporate context this is mitigated by social barriers and financial compensation, but avoiding maintainer burnout in more idealistic contexts seems to be an unsolved problem, and my observations suggest that it's true even when there's a crowdfunding model, because now if you make any mob-justice-able missteps, a bunch of your money immediately goes away. (Arguably this should be true for the big closed networks too, but it isn't, so you're still at a disadvantage.)

Non-text telecommunications sometimes involves esoteric skills. There's been motion to improve things (for instance, the rise of Xiphophorus audio codecs (Vorbis, Opus, etc.)), but there's still things like echo cancellation and noise reduction which can get arcane and maybe run into patent minefields (I haven't checked recently). My Discord calls don't have anywhere near the level of background noise that my Signal ones do.

I've weakly observed a strain of resistance to acknowledging or prying into uncomfortable models of human psychology among open-source developers, who tend to lean systematizing and abstracting… I don't have a good perspective on that one right now, but I guess I'd say the “we need to be friendlier to Normal People” departments seem to default toward “normal people like flashy websites” and away from (I'd approximate) “normal people like not having to keep cognitive context or be put in situations where they might be embarrassed or have to be responsible for something awkward”. The latter is a much, much harder set of problems, even if you ignore the ones that are inherent to network effects and seemingly have to be bypassed by luck. Then again, proprietary services sometimes mistreat their users in these ways and don't necessarily get exoduses, so maybe network effects just completely dominate here; I don't know.

(I guess a secondary problem is that an emotional understanding of the mechanics of fashion is rare in conjunction with the technical skills to close gaps like this, because they involve such vastly different approaches to the world. And that leads into a whole potential digression on whether human fashion cycles are even amenable to creating a world in which people can generally live without relying on abusive services for their social lives, without strong common-knowledge agreement to avoid them.)

I'd love to hear better ideas for tackling any of this. (And sorry for the core dump!)