> I'm not sure when it happened
I know exactly when it happened: when people stopped buying software.
When you had to walk into a store, pick up a box, read the bullet points on the back, and pay a decent chunk of cash for that program, you were incentivized to do at least a little research and ensure you were getting something useful. You would be stuck with it (and with exactly it in the form you bought it, without hope for an endless stream of updates).
That in turn incentivized software companies to make products that were worth real money to people and to care about their reputation.
Once everything because free (sorry, not free, ad-driven), that whole calculus went out the window. What it was replaced with has a lot of upsides. If every app on my phone cost me $50 with another $20 for every upgrade I've ever gotten, I surely couldn't afford half of them, and I'm in a better income bracket than much of the world.
But it has as a huge downside that it no longer centers the experience of individual humans with agency. Instead, users are treat as a sort of aggregate stream of fungible attention units. A software change that alienates a million users but garners you 1.1 new users is a net win.
Companies are longer trying to maximize users, they are trying to maximize usage. You exist only to be a drop in a bucket of liquid attention.
This is it. When software was built to provide legitimate, tangible value to the user.
> I know exactly when it happened: when people stopped buying software.
Things are not, however, much better for software that people actually buy. That is, paid-for apps in Android and Apple app stores.
I think it's not so much about the money as the "When you had to walk into a store... [and] be stuck with it" part. That is, the problem was actually automatic/Internet-enabled updates.
With the physical model you chose your software and it didn't stop working. (It might stop being useful, but that's a different story.) No option to patch later meant a company couldn't ship trash: word would get out and people just wouldn't buy it. (Windows ME, anyone?) Now you can get the rug pulled out from under you on all of your tools, and things "ship" as garbage with a massive "day 1 patch" (and a "day 2 patch" and...) and honestly often never get finished. At least not before they're "retired" and you're "updated" to some dumpster fire that's nothing like what you wanted, and still doesn't even work, and you can't do anything about it.
And today many programers have only used that kind of software, so when they design one, they use the same dark patterns, even when getting paid.
> Companies are longer trying to maximize users, they are trying to maximize usage.
I think this is an important point - so making the software less effective, so tasks take longer, increases 'engagement'.
There is a separate problem I think and that's who is now designing the UI.
As software shifted to the web - where early web apps were very simply interactive documents - designers from the print sphere moved over. This changed the focus from task based workflow thinking in UI design to a much greater emphasis on the visual layout/design of the page, and it seemed like a whole generation's learning about UI design got replaced with a whole generations learning about typography and visual impact.