Keeping bean counters shouldn’t be the goal, but everyone does like to keep eating. What do you suggest for keeping the business healthy while not making things terrible?
To start branching out into additional software. Rather than shoehorning a feature into a product that doesn't need it, make that feature be a standalone product.
This was the premise behind various component platforms, e.g. OLE, CORBA, OpenDoc which were, in many ways, the GUI equivalent of command line shells.
We could see a renaissance in that area if technologies similar to Electron and ubiquitous app stores make these more feasible.
(To toot my own horn, I think https://tenet-lang.org/ would be helpful in building well versioned APIs to allow intercommunication with shared semantics.)
It's a bit late for this thread, but Android Intents and the related WebIntents were kind of similar to OLE, but it seems neither captured the attention of the market.
I don't have a solution of course. We need a revolutionary idea like the "subscription model for software", but for user happiness, maybe there's a middle way which doesn't end in poverty for the software developer ;) UX designers leaving their ivory towers to get an idea how the real world works would be a good start. Somehow we managed to turn the positive idea of an "update" into something most users are hating.
I assure you that UX designers (the real ones, at least) would love to get out of their ivory towers.
In every job I have had, I have begged to get out and talk to users before doing anything else. However, that idea makes folks in charge nervous. It's expensive. It might reveal secrets(?). The users might get annoyed.
One of the biggest issues is that time spent on research is time when the developers can't be developing. That seems to trump everything.
Good point. In that particular case (first version of ribbon) the file open and save ux was (IMO, IIRC) so awfully bad that I'll be able to give even a modern UX designer the benefit of doubt ;-)
One might argue that the current system is making things much more terrible than any alternative. Software as a service makes sense for some things. But for the majority of things its now being used for, its only purpose is rent seeking. Cryptocurrencies offer an interesting balance between rent seeking and consumer friendliness. You use a piece of software, it mines for coins which are transferred to the company. The more you use their product, the more money they get yet from the user perspective it's all free (beyond some initial purchase) and doesn't even get into the nastiness of the ad world.
Only problem there is that as ASICs are developed, general purpose CPU mining rapidly becomes grossly inefficient, so you'd somehow need a decentralized coin optimized for extremely high usage scenarios that was also resistant to ASICs. Not really sure how you'd achieve that latter part without simply constantly changing the algorithm, but it poses a complex challenge of changing the algorithm in a purely decentralized fashion in a way that one can not build adaptive ASICs for. Though I would imagine this is a solvable problem.
> Not really sure how you'd achieve that latter part without simply constantly changing the algorithm
For many crypto currencies being resistant to ASIC and even GPU miners is an explicit goal since it promotes decentralisation (everyone has a CPU, few have Asics). The usual way to achieve this is to make memory the bottleneck. ASICs are great for speeding up computation and massively parallelising it, but if the bottleneck is not compute but memory or even better memory bandwidth then an ASIC can't have a big advantage.
> Cryptocurrencies offer an interesting balance between rent seeking and consumer friendliness.
Not when you include performance in the "consumer friendliness" side. Existing software is already way too bloated and keeps assuming it's the only thing users run; cryptomining would only exacerbate that effect. Especially that to earn a measurable amount of money over the lifetime of the product, your typical chat app using this model would have to run CPU and GPU at 100% load.
Everything you're stating is driven by wild assumptions that seem to be based on nothing except for trying to paint a pessimistic picture as possible. Everything would be contingent on a huge variety of variables - the algorithm, the usage, whether we think of a unified crypto or software specific coins, and much more. The idea is not to go for another VC hype bubble aiming for 80 billion percent growth or bust, but simply to create a stable source of revenue that companies can use to sustain themselves without resorting to the increasingly broken 'ecosystem' we have in digital rent seeking/advertising today.
This is really quite a perfect application for cryptoes where everybody could win, but there are a number of not yet solved problems that need to be overcome. One issue with this idea, and as with all good decentralized ideas, is that the person who does ultimately create it would likely receive little reward for it. It's not about making money, but about improving the state of software as a whole. There are only so many Tim Berners-Lees.