20 ms·
There is an argument to be made that the market buys bug-filled, inefficient software about as well as it buys pristine software. And one of them is the cheapes
by caseyy 1y ago
There is an argument to be made that the market buys bug-filled, inefficient software about as well as it buys pristine software. And one of them is the cheapest software you could make.
It's similar to the "Market for Lemons" story. In short, the market sells as if all goods were high-quality but underhandedly reduces the quality to reduce marginal costs. The buyer cannot differentiate between high and low-quality goods before buying, so the demand for high and low-quality goods is artificially even. The cause is asymmetric information.
This is already true and will become increasingly more true for AI. The user cannot differentiate between sophisticated machine learning applications and a washing machine spin cycle calling itself AI. The AI label itself commands a price premium. The user overpays significantly for a washing machine[0].
It's fundamentally the same thing when a buyer overpays for crap software, thinking it's designed and written by technologists and experts. But IC1-3s write 99% of software, and the 1 QA guy in 99% of tech companies is the sole measure to improve quality beyond "meets acceptance criteria". Occasionally, a flock of interns will perform an "LGTM" incantation in hopes of improving the software, but even that is rarely done.
[0] https://www.lg.com/uk/lg-experience/inspiration/lg-ai-wash-efficient-spins/ https://www.lg.com/uk/lg-experience/inspiration/lg-ai-wash-e...
- JKCalhoun 1y agoThat's generally what I think as well. Yes, the world could run on older hardware, but you keep making faster and adding more CPU's so, why bother making the code more efficient?
- kaonwarb 1y agoA big part of why I like shopping at Costco is that they generally don't sell garbage. Their filter doesn't always match mine, but they do have a meaningful filter.
- hombre_fatal 1y agoEven if end-users had the data to reasonably tie-break on software quality and performance, as I scroll my list of open applications not a single one of them can be swapped out with another just because it were more performant. For example: Docker, iterm2, WhatsApp, Notes.app, Postico, Cursor, Calibre. I'm using all of these for specific reasons, not for reasons so trivial that I can just use the best-performing solution in each niche. So it seems obviously true that it's more important that software exists to fill my needs in the first place than it pass some performance bar.
- kasey_junk 1y agoI’m surprised in your list because it contains 3 apps that I’ve replaced specifically due to performance issues (docker, iterm and notes). I don’t consider myself particularly performance sensitive (at home) either. So it might be true that the world is even _less_ likely to pay for resource efficiency than we think.
- defen 1y agoWhat did you replace Docker with?
- kasey_junk 1y agoPodman
- hombre_fatal 1y agoPodman might have some limited API compatibility, but it's a completely different tool. Just off the bat it's not compatible with Skaffold, apparently. That an alternate tool might perform better is compatible with the claim that performance alone is never the only difference between software. Podman might be faster than Docker, but since it's a different tool, migrating to it would involve figuring out any number of breakage in my toolchain that doesn't feel worth it to me since performance isn't the only thing that matters.
- jpalawaga 1y agoExcept you’ve already swapped terminal for iterm, and orbstack already exists in part because docker left so much room for improvement, especially on the perf front.
- hombre_fatal 1y agoI swapped Terminal for iTerm2 because I wanted specific features, not because of performance. iTerm2 is probably slower for all I care. Another example is that I use oh-my-zsh which is adds weirdly long startup time to a shell session, but it lets me use plugins that add things like git status and kubectl context to my prompt instead of fiddling with that myself.
- dmos62 1y agoBad software is not cheaper to make (or maintain) in the long-term.
- usefulcat 1y agoMaybe not, but that still leaves the question of who ends up bearing the actual costs of the bad software.
- monkeyelite 1y agoThat’s true - but finding good engineers who know how to do it is more expensive, at least in expenditures.
- caseyy 1y agoThere are many exceptions. 1. Sometimes speed = money. Being the first to market, meeting VC-set milestones for additional funding, and not running out of runway are all things cheaper than the alternatives. Software maintenance costs later don't come close to opportunity costs if a company/project fails. 2. Most of the software is disposable. It's made to be sold, and the code repo will be chucked into a .zip on some corporate drive. There is no post-launch support, and the software's performance after launch is irrelevant for the business. They'll never touch the codebase again. There is no "long-term" for maintenance. They may harm their reputation, but that depends on whether their clients can talk with each other. If they have business or govt clients, they don't care. 3. The average tenure in tech companies is under 3 years. Most people involved in software can consider maintenance "someone else's problem." It's like the housing stock is in bad shape in some countries (like the UK) because the average tenure is less than 10 years. There isn't a person in the property's owner history to whom an investment in long-term property maintenance would have yielded any return. So now the property is dilapidated. And this is becoming a real nationwide problem. 4. Capable SWEs cost a lot more money. And if you hire an incapable IC who will attempt to future-proof the software, maintenance costs (and even onboarding costs) can balloon much more than some inefficient KISS code. 5. It only takes 1 bad engineering manager in the whole history of a particular piece of commercial software to ruin its quality, wiping out all previous efforts to maintain it well. If someone buys a second-hand car and smashes it into a tree hours later, was keeping the car pristinely maintained for that moment (by all the previous owners) worth it? And so forth. What you say is true in some cases (esp where a company and its employees act in good faith) but not in many others.
- genghisjahn 1y agoI have worked for large corporations that have foisted awful HR, expense reporting, time tracking and insurance "portals" that were so awful I had to wonder if anyone writing the checks had ever seen the product. I brought up the point several times that if my team tried to tell a customer that we had their project all done but it was full of as many bugs and UI nightmares as these back office platforms, I would be chastised, demoted and/or fired.
- api 1y agoWhat you're describing is Enterprise(tm) software. Some consultancy made tens of millions of dollars building, integrating, and deploying those things. This of course was after they made tens of millions of dollars producing reports exploring how they would build, integrate, and deploy these things and all the various "phases" involved. Then they farmed all the work out to cheap coders overseas and everyone went for golf. Meanwhile I'm a founder of startup that has gotten from zero to where it is on probably what that consultancy spends every year on catering for meetings.
- monkeyelite 1y agoThe job it’s paid to do is satisfy regulation requirements.
- Ajedi32 1y ago> I had to wonder if anyone writing the checks had ever seen the product Probably not, and that's like 90% of the issue with enterprise software. Sadly enterprise software products are often sold based mainly on how many boxes they check in the list of features sent to management, not based on the actual quality and usability of the product itself.
- econ 1y agoIf they think it is unimportant talk as if it is. It could be more polished. Do we want to impress them or just satisfy their needs?
- hamburglar 1y agoI used to work at a large company that had a lousy internal system for doing performance evals and self-reviews. The UI was shitty, it was unreliable, it was hard to use, it had security problems, it would go down on the eve of reviews being due, etc. This all stressed me out until someone in management observed, rather pointedly, that the reason for existence of this system is that we are contractually required to have such a system because the rules for government contracts mandate it, and that there was a possibility (and he emphasized the word possibility knowingly) that the managers actully are considering their personal knowledge of your performance rather than this performative documentation when they consider your promotions and comp adjustments. It was like being hit with a zen lightning bolt: this software meets its requirements exactly, and I can stop worrying about it. From that day on I only did the most cursory self-evals and minimal accomplishents, and my career progressed just fine. You might not think about this as “quality” but it does have the quality of meeting the perverse functional requirements of the situation.
- davidw 1y agoI don't think it's necessarily a market for lemons. That involves information asymmetry. Sometimes that happens with buggy software, but I think in general, people just want to pay less and don't mind a few bugs in the process. Compare and contrast what you'd have to charge to do a very thorough process with multiple engineers checking every line of code and many hours of rigorous QA. I once did some software for a small book shop where I lived in Padova, and created it pretty quickly and didn't charge the guy - a friend - much. It wasn't perfect, but I fixed any problems (and there weren't many) as they came up and he was happy with the arrangement. He was patient because he knew he was getting a good deal.
- graemep 1y agoI do think there is an information problem in many cases. It is easy to get information of features. It is hard to get information on reliability or security. The result is worsened because vendors compete on features, therefore they all make the same trade off of more features for lower quality.
- davidw 1y agoThere's likely some, although it depends on the environment. The more users of the system there are, the more there are going to be reviews and people will know that it's kind of buggy. Most people seem more interested in cost or features though, as long as they're not losing hours of work due to bugs.
- HideousKojima 1y agoSome vendors even make it impossible to get information. See Oracle and Microsoft forbidding publishing benchmarks for their SQL databases.
- mjr00 1y ago> the market sells as if all goods were high-quality The phrase "high-quality" is doing work here. The implication I'm reading is that poor performance = low quality. However, the applications people are mentioning in this comment section as low performance (Teams, Slack, Jira, etc) all have competitors with much better performance. But if I ask a person to pick between Slack and, say, a a fast IRC client like Weechat... what do you think the average person is going to consider low-quality? It's the one with a terminal-style UI, no video chat, no webhook integrations, and no custom avatars or emojis. Performance is a feature like everything else. Sometimes, it's a really important feature; the dominance of Internet Explorer was destroyed by Chrome largely because it was so much faster than IE when it was released, and Python devs are quickly migrating to uv/ruff due to the performance improvement. But when you start getting into the territory of "it takes Slack 5 seconds to start up instead of 10ms", you're getting into the realm where very few people care.
- caseyy 1y agoThat's true. I meant it in a broader sense. Quality = {speed, function, lack of bugs, ergonomics, ... }.
- dgb23 1y agoYou are comparing applications with wildly different features and UI. That's neither an argument for nor against performance as an important quality metric. How fast you can compile, start and execute some particular code matters. The experience of using a program that performs well if you use it daily matters. Performance is not just a quantitative issue. It leaks into everything, from architecture to delivery to user experience. Bad performance has expensive secondary effects, because we introduce complexity to patch over it like horizontal scaling, caching or eventual consistency. It limits our ability to make things immediately responsive and reliable at the same time.
- mjr00 1y ago> You are comparing applications with wildly different features and UI. That's neither an argument for nor against performance as an important quality metric. I never said performance wasn't an important quality metric, just that it's not the only quality metric. If a slow program has the features I need and a fast program doesn't, the slow program is going to be "higher quality" in my mind. > How fast you can compile, start and execute some particular code matters. The experience of using a program that performs well if you use it daily matters. Like any other feature, whether or not performance is important depends on the user and context. Chrome being faster than IE8 at general browsing (rendering pages, opening tabs) was very noticeable. uv/ruff being faster than pip/poetry is important because of how the tools integrate into performance-sensitive development workflows. Does Slack taking 5-10 seconds to load on startup matter? -- to me not really, because I have it come up on boot and forget about it until my next system update forced reboot. Do I use LibreOffice or Word and Excel, even though LibreOffice is faster? -- I use Word/Excel because I've run into annoying compatibility issues enough times with LO to not bother. LibreOffice could reduce their startup and file load times to 10 picoseconds and I would still use MS Office, because I just want my damn documents to keep the same formatting my colleagues using MS Office set on their Windows computers. Now of course I would love the best of all worlds; programs to be fast and have all the functionality I want! In reality, though, companies can't afford to build every feature, performance included, and need to pick and choose what's important.
- pessimizer 1y ago> The buyer cannot differentiate between high and low-quality goods before buying, so the demand for high and low-quality goods is artificially even. The cause is asymmetric information. That's where FOSS or even proprietary "shared source" wins. You know if the software you depend on is generally badly or generally well programmed. You may not be able to find the bugs, but you can see how long the functions are, the comments, and how things are named. YMMV, but conscientiousness is a pretty great signal of quality; you're at least confident that their code is clean enough that they can find the bugs. Basically the opposite of the feeling I get when I look at the db schemas of proprietary stuff that we've paid an enormous amount for.
- turtlebits 1y agoIME, the problem is that FOSS consumer facing software is just about the worst in UX and design.
- carlosjobim 1y agoTechnically correct, since you know it's bad because it's FOSS. At least when talking about software that has any real world use case, and not development for developments sake.
- ashoeafoot 1y agoTherefore brands as guardians of quality .
- Xelbair 1y agothe thing is - countries have set down legal rules preventing selling of food that actively harms the consumer(expired, known poisonous, addition of addictive substances(opiates) etc) to continue your food analogy. in software the regulations can be boiled down to 'lol lmao' in pre-GDPR era. and even now i see GDPR violations daily.
- 0_____0 1y agoI have that washing machine btw. I saw the AI branding and had a chuckle. I bought it anyway because it was reasonably priced (the washer was $750 at Costco).
- reidrac 1y agoIn my case I bought it because LG makes appliances that fit under the counter if you don't have much space. It bothered me the AI BS, but the price was good and the machine works fine.
- reidrac 1y agoThe user tolerance has changed as well because the web 2.0 "perpetual beta" and SaaS replacing other distribution models. Also Microsoft has educated now several generations to accept that software fails and crashes. Because "all software is the same", customers may not appreciate good software when they're used to live with bad software.
- azemetre 1y agoIs this really tolerance and not just monopolistic companies abusing their market position? I mean workers can't even choose what software they're allowed to use, those choices are made by the executive/management class.
- dahart 1y agoThe dumbest and most obvious of realizations finally dawned on me after trying to build a software startup that was based on quality differentiation. We were sure that a better product would win people over and lead to viral success. It didn’t. Things grew, but so slowly that we ran out of money after a few years before reaching break even. What I realized is that lower costs, and therefore lower quality, are a competitive advantage in a competitive market. Duh. I’m sure I knew and said that in college and for years before my own startup attempt, but this time I really felt it in my bones. It suddenly made me realize exactly why everything in the market is mediocre, and why high quality things always get worse when they get more popular. Pressure to reduce costs grows with the scale of a product. Duh. People want cheap, so if you sell something people want, someone will make it for less by cutting “costs” (quality). Duh. What companies do is pay the minimum they need in order to stay alive & profitable. I don’t mean it never happens, sometimes people get excited and spend for short bursts, young companies often try to make high quality stuff, but eventually there will be an inevitable slide toward minimal spending. There’s probably another name for this, it’s not quite the Market for Lemons idea. I don’t think this leads to market collapse, I think it just leads to stable mediocrity everywhere, and that’s what we have.
- thijson 1y agoI kind of see this in action when I'm comparing products on Amazon. When comparing two products on Amazon that are substantially the same, the cheaper one will have way more reviews. I guess this implies that it has captured the majority of the market.
- thijson 1y agoLuxury items however seem to buck this trend, but this is all about conspicuous consumption.
- rpnx 1y agoI think this honestly has more to do with moslty Chinese sellers engaging in review fraud, which is a rampant problem. I'm not saying non-Chinese sellers don't engage in review fraud, but I have noticed a trend that around 98% of fake or fraudulently advertised products are of Chinese origin. If it was just because it was cheap, we'd also see similar fraud from Mexican or Vietnamese sellers, but I don't really see that.
- mamcx 1y ago> the market buys bug-filled, inefficient software about as well as it buys pristine software In fact, the realization is that the market buy support. And that includes google and other companies that lack much of human support. This is the key. Support is manifested in many ways: * There is information about it (docs, videos, blogs, ...) * There is people that help me ('look ma, this is how you use google') * There is support for the thing I use ('OS, Browser, Formats, ...') * And for my way of working ('Excel let me do any app there...') * And finally, actual people (that is the #1 thing that keep alive even the worst ERP on earth). This also includes marketing, sales people, etc. This are signal of having support even if is not exactly the best. If I go to enterprise and only have engineers that will be a bad signal, because well, developers then to be terrible at other stuff and the other stuff is support that matters. If you have a good product, but there is not support, is dead. And if you wanna fight a worse product, is smart to reduce the need to support for ('bugs, performance issues, platforms, ...') for YOUR TEAM because you wanna reduce YOUR COSTS but you NEED to add support in other dimensions! The easiest for a small team, is just add humans (that is the MOST scarce source of support). After that, it need to be creative. (also, this means you need to communicate your advantages well, because there is people that value some kind of support more than others 'have the code vs propietary' is a good example. A lot prefer the proprietary with support more than the code, I mean)
- lifeisstillgood 1y agoThis really focuses on the single metric that can be used try ought lifetime of a product … a really good point that keeps unfolding. Starting an OSS product - write good docs. Got a few enterprise people interested - “customer success person” is most important marketing you can do …
- archargelod 1y agoSo you're telling me that if companies want to optimize profitability, they’d release inefficient, bug-ridden software with bad UI—forcing customers to pay for support, extended help, and bug fixes? Suddenly, everything in this crazy world is starting to make sense.
- 1y ago
- cogman10 1y ago> But IC1-3s write 99% of software, and the 1 QA guy in 99% of tech companies I'd take this one step further, 99% of the software written isn't being done with performance in mind. Even here in HN, you'll find people that advocate for poor performance because even considering performance has become a faux pas. That means you L4/5 and beyond engineers are fairly unlikely to have any sort of sense when it comes to performance. Businesses do not prioritize efficient software until their current hardware is incapable of running their current software (and even then, they'll prefer to buy more hardware is possible.)
- knowitnone 1y agoYou must be referring only to security bugs because you would quickly toss Excel or Photoshop if it were filled with performance and other bugs. Security bugs are a different story because users don't feel the consequences of the problem until they get hacked and even then, they don't know how they got hacked. There are no incentives for developers to actually care. Developers do care about performance up to a point. If the software looks to be running fine on a majority of computers why continue to spend resources to optimize further? Principle of diminishing returns.
- wizzwizz4 1y agoI wouldn't be so sure. People will rename genes to work around Excel bugs.
- abdullahkhalids 1y agoThe used car market is market for lemons because it is difficult to distinguish between a car that has been well maintained and a car close to breaking down. However, the new car market is decidedly not a market for lemons because every car sold is tested by the state, and reviewed by magazines and such. You know exactly what you are buying. Software is always sold new. Software can increase in quality the same way cars have generally increased in quality over the decades. Creating standards that software must meet before it can be sold. Recalling software that has serious bugs in it. Punishing companies that knowingly sell shoddy software. This is not some deep insight. This is how every other industry operates.
- inoop 1y agoA hallmark of well-designed and well-written software is that it is easy to replace, where bug-ridden spaghetti-bowl monoliths stick around forever because nobody wants to touch them. Just through pure Darwinism, bad software dominates the population :)
- worldsayshi 1y ago> This is already true and will become increasingly more true for AI. The user cannot differentiate between sophisticated machine learning applications and a washing machine spin cycle calling itself AI. The user cannot but a good AI might itself allow the average user to bridge the information asymmetry. So as long as we have a way to select a good AI assistant for ourselves...
- volemo 1y ago> The user cannot but a good AI might itself allow the average user to bridge the information asymmetry. So as long as we have a way to select a good AI assistant for ourselves... In the end it all hinges on the users ability to assess the quality of the product. Otherwise, the user cannot judge whether an assistant recommends quality products and the assistant has an incentive to suggest poorly (e.g. sellout to product producers).
- worldsayshi 1y ago> In the end it all hinges on the users ability to assess the quality of the product The AI can use tools to extract various key metrics from the product that is analysed. Even if we limit such metrics down to those that can be verified in various "dumb" ways we should be able to verify products much further than today.
- godelski 1y ago> And one of them is the cheapest software you could make. I actually disagree a bit. Sloppy software is cheap when you're a startup but it's quite expensive when you're big. You have all the costs of transmission and instances you need to account for. If airlines are going to cut an olive from the salad why wouldn't we pay programmers to optimize? This stuff compounds too. We're currently operate in a world where new features are pushed that don't interest consumers. While they can't tell the difference between slop and not at purchase they sure can between updates. People constantly complain about stuff getting slower. But they also do get excited when things get faster. Imo it's in part because we turned engineers into MBAs. Wherever I ask why can't we solve a problem some engineer always responds "well it's not that valuable". The bug fix is valuable to the user but they always clarify they mean money. Let's be honest, all those values are made up. It's not the job of the engineer to figure out how much profit a big fix will result in, it's their job to fix bugs. Famously Coke doesn't advertise to make you aware of Coke. They advertise to associate good feelings. Similarly, car companies advertise to get their cars associated with class. Which is why sometimes they will advertise to people who have no chance of buying the car. What I'm saying is that brand matters. The problem right now is that all major brands have decided brand doesn't matter or brand decisions are always set in stone. Maybe they're right, how often do people switch? But maybe they're wrong, switching seems to just have the same features but a new UI that you got to learn from scratch (yes, even Apple devices aren't intuitive)
- nostrademons 1y agoThat's sorta the premise of the tweet, though. Right now, the market buys bug-filled, inefficient software because you can always count on being able to buy hardware that is good enough to run it. The software expands to fill the processing specs of the machine it is running on - "What Andy giveth, Bill taketh away" [1]. So there is no economic incentive to produce leaner, higher-quality software that does only the core functionality and does it well. But imagine a world where you suddenly cannot get top-of-the-line chips anymore. Maybe China invaded Taiwan and blockaded the whole island, or WW3 broke out and all the modern fabs were bombed, or the POTUS instituted 500% tariffs on all electronics. Regardless of cause, you're now reduced to salvaging microchips from key fobs and toaster ovens and pregnancy tests [2] to fulfill your computing needs. In this world, there is quite a lot of economic value to being able to write tight, resource-constrained software, because the bloated stuff simply won't run anymore. Carmack is saying that in this scenario, we would be fine (after an initial period of adjustment), because there is enough headroom in optimizing our existing software that we can make things work on orders-of-magnitude less powerful chips. [1] https://en.wikipedia.org/wiki/Andy_and_Bill%27s_law https://en.wikipedia.org/wiki/Andy_and_Bill%27s_law [2] https://www.popularmechanics.com/science/a33957256/this-programmer-figured-out-how-to-play-doom-on-a-pregnancy-test/ https://www.popularmechanics.com/science/a33957256/this-prog...
- BrenBarn 1y ago> The AI label itself commands a price premium. These days I feel like I'd be willing to pay more for a product that explicitly disavowed AI. I mean, that's vulnerable to the same kind of marketing shenanigans, but still. :-)
- runlaszlorun 1y agoHa! You're totally right.
- melissabaerz60 1y agoMy partner was diagnosed with Parkinson’s almost 5 years ago. His disease has progressed significantly in the past year, and he begun to have delusions. He also had side effects from carbidopa/levodopa, which we decided to stop, and our primary physician decided he should start on PD-5 formula 4 months ago from UINE HEALTH CENTER. He now sleeps soundly, works out frequently, and is now very active since we started him on the PD-5 formula. It doesn’t make the Parkinson’s disease go away, but it did give him a better quality of life. We got the treatment from www. uineheathcentre. com
- physicsguy 1y agoI worked in a previous job on a product with 'AI' in the name. It was a source of amusement to many of us working there that the product didn't, and still doesn't use any AI.
- benterix 1y ago> The AI label itself commands a price premium. In the minds of some CEOs and VCs, maybe. As for consumers, the AI label is increasingly off-putting.[0] [0] https://www.tandfonline.com/doi/full/10.1080/19368623.2024.2368040 https://www.tandfonline.com/doi/full/10.1080/19368623.2024.2...
- treszkai 1y ago> Smart Laundry with LG's AI Washing Machines: Efficient Spin Cycles & Beyond Finally, the perfect example of AI-washing.
- pwiecz 1y agoReminds me of a "Washing Machine Trategy" by Stanisław Lem. A short story that may be a perfect parabole of the today's AI bubble.
- panick21_ 1y agoThe argument that a buyer can't verify quality is simply false. Specially if the cost of something is large. And for lots of things, such verification isn't that hard. The Market for Lemons story is about a complex thing that most people don't understand and is to low value. But even that paper misses many real world solution people have found for this. > The user cannot differentiate between sophisticated machine learning applications and a washing machine spin cycle calling itself AI. Why then did people pay for ChatGPT when Google claimed it had something better? Because people quickly figured out that Google solution wasn't better. Its easy to share results, its easy to look up benchmarks. The claim that anything that claims its AI will automatically be able to demand some absurd prices is simply not true. At best people just slap AI on everything and its as if everybody stands up in a theater, nobody is better off.