There is a related problem where many browser-based productivity tools follow design principles from websites that are trying to get clicks. For example, I commonly run into DB interfaces at work that will return, say, 10 (or 25, or other small number) results per page. Now, it’s good design to not let a query that returns, say, a million results, crash the browser. But, if a few hundred, or even a few thousand, results will display within milliseconds, why make me page dozens (or hundreds) of times? (I’m looking at you, GitHub commit history!)
Another example would be Microsoft Office’s long history of making design choices that optimize increasing “engagement with the tool” rather than making the tool unobtrusively facilitate the task. They got rid of Clippy, but now they’re into obnoxious pop-ups that are designed to call attention to some new gadget or feature.
The “click” economy has had pervasive effects on the software industry.
I wonder if this has more to do with how taxing it is to display 100s or 1000s of elements under modern unoptimized web dev practices. In particular GitHub’s commits page used to rerender the entire page on scroll. It is easy to program things arbitrarily badly and many an engineer would prefer just displaying fewer things rather than do it the better-quality but harder way.
Precisely. And just to trace the profit motive explicitly: many of the features in question that get pop-ups in Office, for example, are just marginally useful enough in some niche that 0.5% of people who see the pop-up might try the feature. In the aggregate, there’s some telemetry that says those 0.5% of people spend some very slightly higher proportion of time in the product, and some other analysis demonstrates that people who spend more time in the product are less likely to cancel. Everyone else dismisses the pop-up once, forgets about it, and it’s annoying on the margin but means nothing.
Follow that pattern for 20 years, releasing many such features, and we get overloaded / busy / confusing UIs by a thousand cuts, but also with a pretty big moat, created by supporting just that precise workflow that someone in an office job environment has been doing that precise way for a long time now and really doesn’t want to adjust. Mainstream corporate culture doesn’t mind this at all, in part because there are software products that have had functional monopolies for decades and many workplaces haven’t had the opportunity to experience anything different, but also because the little precise fiddly features can make a product really sticky, at the expense of the user experience for everyone else.
(Also, to your GitHub commit history example—yes! And also, I can’t even go to the address bar and punch in e.g. &page=100, because they do cursor-based pagination! My rage knows no bounds—and drives me to the CLI tool!)
I think (the results of) this process are the main reason why (some) open source desktop software provides a better user experience despite being developed with fewer resources.
There is a related problem where many browser-based productivity tools follow design principles from websites that are trying to get clicks. For example, I commonly run into DB interfaces at work that will return, say, 10 (or 25, or other small number) results per page. Now, it’s good design to not let a query that returns, say, a million results, crash the browser. But, if a few hundred, or even a few thousand, results will display within milliseconds, why make me page dozens (or hundreds) of times? (I’m looking at you, GitHub commit history!)
Another example would be Microsoft Office’s long history of making design choices that optimize increasing “engagement with the tool” rather than making the tool unobtrusively facilitate the task. They got rid of Clippy, but now they’re into obnoxious pop-ups that are designed to call attention to some new gadget or feature.
The “click” economy has had pervasive effects on the software industry.
I wonder if this has more to do with how taxing it is to display 100s or 1000s of elements under modern unoptimized web dev practices. In particular GitHub’s commits page used to rerender the entire page on scroll. It is easy to program things arbitrarily badly and many an engineer would prefer just displaying fewer things rather than do it the better-quality but harder way.
You don’t think the GitHub thing is about reducing server load? That would be my guess.
No that should be one of the fastest and most cachable queries
Precisely. And just to trace the profit motive explicitly: many of the features in question that get pop-ups in Office, for example, are just marginally useful enough in some niche that 0.5% of people who see the pop-up might try the feature. In the aggregate, there’s some telemetry that says those 0.5% of people spend some very slightly higher proportion of time in the product, and some other analysis demonstrates that people who spend more time in the product are less likely to cancel. Everyone else dismisses the pop-up once, forgets about it, and it’s annoying on the margin but means nothing.
Follow that pattern for 20 years, releasing many such features, and we get overloaded / busy / confusing UIs by a thousand cuts, but also with a pretty big moat, created by supporting just that precise workflow that someone in an office job environment has been doing that precise way for a long time now and really doesn’t want to adjust. Mainstream corporate culture doesn’t mind this at all, in part because there are software products that have had functional monopolies for decades and many workplaces haven’t had the opportunity to experience anything different, but also because the little precise fiddly features can make a product really sticky, at the expense of the user experience for everyone else.
(Also, to your GitHub commit history example—yes! And also, I can’t even go to the address bar and punch in e.g.
&page=100, because they do cursor-based pagination! My rage knows no bounds—and drives me to the CLI tool!)I think (the results of) this process are the main reason why (some) open source desktop software provides a better user experience despite being developed with fewer resources.