Sometimes I’ll run into a baffling issue with a tech product — be it headphones, Google apps like maps or its search features, Apple products, Spotify, other apps, and so on — and when I look for solutions online I sometimes discover this has been an issue for years. Sometimes for many many years.

These tech companies are sometimes ENORMOUS. How is it that these issues persist? Why do some things end up being so inefficient, unintuitive, or clunky? Why do I catch myself saying “oh my dear fucking lord” under my breath so often when I use tech?

Are there no employees who check forums? Does the architecture become so huge and messy that something seemingly simple is actually super hard to fix? Do these companies not have teams that test this stuff?

Why is it so pervasive? And why does some of it seem to be ignored for literal years? Sometimes even a decade!

Is it all due to enshittification? Do they trap us in as users and then stop giving a shit? Or is there more to it than that?

  • kingthrillgore
    link
    fedilink
    5
    edit-2
    5 hours ago

    Agile has poisoned software development to the point where it’s fine to ship shit products that can be fixed post-release, which of course gives stakeholders and execs the reasons to tie performance and bonuses to shipping, as opposed to routine stable operations.

    I don’t know if going back to Waterfall is the right fix, but something has to change. Shipping crap is the new normal. If programmers organize to fight for better wages and conditions, we absolutely must fight to hold management responsible for code quality. Get us additional hours for unit and behavioral testing, assessing and tackling technical debt, and so on.

  • @[email protected]
    link
    fedilink
    English
    2
    edit-2
    4 hours ago
    1. Monopolization. If you have become the standard, there’s no reason to improve.

    2. Technological advancement. If the speed of new processors continue to double every year, why bother optimizing your program?. This pisses me off so much, games don’t look much better but are 4x harder to run compared to 8 years ago.

    3. Cost. Having many programmers, and bug testers on payroll to improve your product is expensive. Massive companies are pennywise pound foolish and will hack and slash at their staff line up until catastrophe strikes (which usually only occurs long after the layoffs)

  • @[email protected]
    link
    fedilink
    35 hours ago

    Good enough 90% of the time makes 99.9% of the money so why bother making things perfect for the power users?

  • @[email protected]
    link
    fedilink
    35 hours ago

    Tge problem is money. The incentive if to make as much money as they can, not the company. Company loyalty has completely been blown up by companies, so now not even the ceo gives a fuck, he’ll be running another company with a 10% raise this time next year.

  • @[email protected]
    link
    fedilink
    87 hours ago

    TL;DR software development is hard.

    Hard to respond with anything else since you haven’t really given examples.

    • @[email protected]
      link
      fedilink
      25 hours ago

      I’d expend your tldr just a bit to include.

      • users are stupid
      • software is designed to work for both Tom Tecnowizard and Paul Pebkac
      • finally, ads ruin everything they touch
  • @[email protected]
    link
    fedilink
    26 hours ago

    Most tech sucks because it’s closed source. Closed source products are typically made with “the least amount of work done to sell for the most amount of buck”. So standards are only sloppily and partially implemented (or sometimes purposefully badly or differently to ensure incompatibility), and bugs after sale won’t be fixed because why would they? They already have your money. Middle managers will work hard to ensure more money goes to advertising and marketing than to actual development.

    Then there is the embrace, expand, extinguish mentality (hello Microsoft!) to force customers to stay around their shitty products. Microsoft 365 and teams shit are perfect examples. The company I work at currently uses it and it’s beyond garbage shit that is expensive as hell. Not an hour goes by without me being confronted by bad design, bugs, bugs, bugs, so many bugs… And it’s all designed to ensure you stay in their little walled garden. I can’t change this today, but I’m planning to be rid of it in about a year from now, fingers crossed.

    In my experience, open source software is fucking awesome because people built it to actually build something awesome. Standards are implemented to the letter, bugs are fixed, and it all works and looks awesome.

  • @[email protected]
    link
    fedilink
    231 day ago

    “Unless it’s renders the product completely unusable, why spend money and fix it?”

    Corporate mindset in a nutshell!

    • @owsei
      link
      16 hours ago

      “Unless it’s renders the product completely unusable unprofitable, why spend money and fix it?”

  • Skull giver
    link
    fedilink
    25
    edit-2
    1 day ago

    Because you’re not paying extra for those problems to get fixed. And no, when you receive millions of forms per day, not every piece of feedback makes it back to someone to actually fix the issue. Especially when half those issues are “when I don’t have internet I don’t receive new emails”.

    Software, like hardware, is a balance between supply and demand. People would rather pay less for a phone crammed full of ads than pay for a service. Just look at YouTube for that one.

    Also, those clunky interfaces are there for a reason. Maybe the interface element that’s a lot better doesn’t work in right to left languages. Maybe the information overload of too many buttons and labels made the old interface impossible to extend. Maybe the prettier solution doesn’t work with screen readers or with the font size and colour cranked up for people with low vision. Maybe the feature redesign worked great but SomeCorp Tweaker Software will bluescreen the machine when it finds the word “checkbox” in a settings page for your mouse. Maybe the design team had a great idea but the feature needs to ship next week so whatever needs to happen to make that works happens, and the five other features planned for the month already eat up the rest of the dev team’s time anyway.

    But most of the time, things are suboptimal because there are seven teams of people working on features on the same screen/system/application and they need to make do.

    If you have serious issues with some software, many companies will let you partner with them. In exchange for hundreds of thousands or millions, you can directly get support for your use cases, your workflow, and the stuff you need to get done, over the billions of other people that also need to use the software. And sometimes, that means your super duper expensive preference/feature/demand means someone else’s workflow is entirely broken.

    If you know what you want, there is a way out: going the way of open source and self hosted. Within a few years, you too will grow resentful of dozens of systems made by different people all interpreting standards differently and not working together. You have the power to fix each and every feature, bug, problem, and design flaw, but none of the time or the detailed knowledge. You don’t have the money to pay experts, and even if you did, what they do may not entirely suit you either. Trying to fix everything will drive you absolutely mad. And that’s why companies and people often don’t try for perfection.

  • Christopher Masto
    link
    fedilink
    1272 days ago

    I worked at Google for over a decade. The issue isn’t that the engineers are unaware or unable. Time and time and time again there would be some new product or feature released for internal testing, it would be a complete disaster, bugs would be filed with tens of thousands of votes begging not to release it, and Memegen would go nuts. And all the feedback would be ignored and it would ship anyway.

    Upper management just doesn’t care. Reputational damage isn’t something they understand. The company is run by professional management consultants whose main expertise is gaslighting. And the layers and layers of people in the middle who don’t actually contribute any value have to constantly generate something to go into the constant cycle of performance reviews and promotion attempts, so they mess with everything, re-org, cancel projects, move teams around, duplicate work, compete with each other, and generally make life hell for everyone under them. It’s surprising anything gets done at all, but what does moves at a snail’s pace compared to the outside world. Not for lack of effort, the whole system is designed so you have to work 100 times harder than necessary and it feels like an accomplishment when you’ve spent a year adding a single checkbox to a UI.

    I may have gone on a slight tangent there.

    • @[email protected]
      link
      fedilink
      English
      161 day ago

      I ran into a guy from high school and it turns out he worked for Microsoft back in the Windows Mobile days. He said that changing even a single button on a submenu would take six months of meetings, and if it involved other departments they would actively sabotage any progress due to the way MS internally made departments compete, so you could basically forget it. He said they literally backdoored software so they could sidestep other departments to get features in.

      I think about that a lot.

    • @[email protected]
      link
      fedilink
      202 days ago

      Reputational damage isn’t something they understand

      Is this really the case? I feel like they might, but are deciding that its “worth the cost of business”

      • @[email protected]
        link
        fedilink
        91 day ago

        I’d think since companies get big enough they can just buy the promising competition before it becomes a problem, I’d say it’s a worthwhile cost to them

        • @[email protected]
          link
          fedilink
          English
          23 hours ago

          Yeah, lack of competition is driving a lot of this. Fixing bugs doesn’t increase their stock value. It doesn’t make the line go up.

          Launching products and bragging about profits makes the line go up (especially just before a quarter or monthly report is due).

          AT&T/Bell Telephone was like this for years until they were finally broken up (nominally). When cellphones came out and provided nationwide competition, long distance suddenly became free.

          We need to bust up google, Facebook, etc. They have nothing to push them to be better, just CEO egos and investors to please.

    • Che Banana
      link
      fedilink
      142 days ago

      A corporate analogy/strategy is to block your competition from the market share.

      For example, a company I used to work for would open accounts in non-viable/non-profitable locations so that our competition would not have the chance to get more market share.

      Big corps don’t give a shit if it works or not, as long as they are the biggest they can squeeze out anyone else, so they will launch whatever is trending (meta/threads) and bullshit thier way into another piece of the pie.

      • @[email protected]
        link
        fedilink
        71 day ago

        But the trick is having layers of monkey spheres! The ceo monkey has 20 directors below it and each of those has 20 people leading people so it all reports up and gets lost but is “good enough”.

  • @[email protected]
    link
    fedilink
    141 day ago

    Tech companies only care about making money. If people continue to buy their half-effort products, then they’ll keep making it.

    On the other hand, open-source (hardware or software) is designed for maximum longevity.

    Unfortunately, the wrong people have unlimited resources when it comes to making our tech products.

  • Carighan Maconar
    link
    fedilink
    131 day ago

    There’s the compounding issue that something that seems simple on the surface, say, pairing a pair of bluetooth headphones, is a convoluted mess of super-complicated shit on a technical level.

    And to even handle that, the engineer making the app that handles these does not know about how to sync an L and an R headpiece. And the person who knows about that does not know how to establish contact via bluetooth. Etc. It’s layers upon layers upon layers of tricky technical stuff. Each of which has the ability to propagate buggy behavior both up and down the layers. And each engineer probably cannot easily fix the other layers (they’re not theirs), so they work around the bugs. Over time this adds an insane amount of complexity to the code as hundreds of these tiny adjustments are spread everywhere.

  • Ephera
    link
    fedilink
    282 days ago

    Speaking as a software engineer, it’s usually a combination of things.

    The root of all evil is that yes, fixing that thing doesn’t just take one hour, as it should, but rather a few days. This is mostly preventable by having sufficient automated tests, high code quality and frequent releases, but it’s a lot of work to keep up with. And you really need management to not pressure early feature delivery, because then devs will skip doing necessary work to keep up this high feature-delivery velocity.

    Well, and as soon as such a small fix has a chance of taking more than a day or so, then you kind of need to talk to management, whether this should be done.
    Which means probably another day or so of just talking about it, and a good chance of them saying we’ll do it after we’ve delivered this extremely important feature, which usually means ‘never’, because there is always another extremely important feature.

    • @[email protected]
      link
      fedilink
      51 day ago

      This. Worked at a consulting firm doing e-commerce for a client. The client always pushed making changes on banners or promotional texts rather than fixing bugs.

      There was an issue with the address validator in the checkout (why and how is irrelevant) and it was raised by the QAs, but we were told to fix it in the future, they didn’t see it as a priority, they preferred a checkout that worked most of the time an focus on adding a promo banner.

      Now I work in a better place, working on product with stakeholders who don’t prioritise new things over fixing stuff, but we still need to fight to have time allocated for technical improvements that the benefits are not directly evident in the final product.

  • @[email protected]
    link
    fedilink
    82
    edit-2
    2 days ago

    The difficulty of keeping something working scales exponentially as its complexity grows. Something of 1x complexity take 1y effort, but 2x complex is 10y effort, 3x complex is 100y, on and on.

    Phones/computers/apps are at hilarious levels of complex now, and even 100k people running flat out can barely maintain the illusion that they “just work.” Add enshittification heaping its intentionally garbage experience onto the unintentional garbage experience that is modern computing, and it’s just gotten stupid.

    • davel [he/him]
      link
      fedilink
      English
      38
      edit-2
      2 days ago

      Seriously. Millions of things have to go right for your consumer electronics or software experience work seemingly flawlessly. Think about the compounding probabilities of it. It’s a monument to human achievement that they work as well as they do.

      • @[email protected]
        link
        fedilink
        112 days ago

        It doesn’t help that every new generation adds a new blackbox abstraction layer with little to no end-user benefit, the possibility of duplicated functionality and poor implementation, security concerns, poor support, and requiring a flashy new CPU with system crashing speed tricks to maintain a responsive environment through 12 levels of interpreters.

          • @[email protected]
            link
            fedilink
            4
            edit-2
            1 day ago

            No, the OSI model is fine.

            I’m talking more about sandboxing an interpreted app that runs a container that runs another sandboxed interpreted app, both running their own instances of their interpreter with their own dependencies and accessible through a web interface that is accessible through yet another container running a web server that is running in Python with a virtual environment despite being the only Python app on the container, which is then connected to from another sandboxed tab on a sandboxed browser on your machine.

            But hey, at least it isn’t, god forbid, a MONOLITH. That would require someone to take the time to understand how the application works.

            • @[email protected]
              link
              fedilink
              01 day ago

              Ah, yeah I get that. Java interpreter so you can virtual machine your way into having someone else making sure the thing works with all hardware it can live in.

              Blind scalability and flexibility are neat tho, gives access to a lot less knowledgeable people to do stuff and theoretically frees up those who know for more complicated tasks.

              • @msage
                link
                27 hours ago

                It almost never works like that.

                People who don’t understand computers will work against it in almost every case.

      • @[email protected]
        link
        fedilink
        English
        12 days ago

        Been saying that about the internet for 30 years. It’s a damned miracle it works at all and people whine and cry about every little hitch.

        • @[email protected]OP
          link
          fedilink
          11 day ago

          Yes, people often want things that work. If there are good reasons why there is clunkiness, then, if these reasons are commonly understood, more people will be more patient. Knowledge is power. That’s the point of this entire thread.

  • @[email protected]
    link
    fedilink
    49
    edit-2
    2 days ago

    People who weren’t interested in tech found out they could make a lot of money in the field. The scene went from nerds who were passionate about the field to people who would be just as (un)interested in being doctors and lawyers. The vibrancy is gone.

    Source: tech-excited nerd who got into the industry in the late aughts.

    • @[email protected]
      link
      fedilink
      112 days ago

      I definitely agree about the vibe being different in the mid 90s to the early 00s. Lots of passion and energy about the tech. I don’t think it’s all gone but it’s definitely nowhere near as intense.

    • @[email protected]
      link
      fedilink
      21 day ago

      Every single new “innovation” is literally locked behind a paywall, sometimes multiple, in tiers. You can’t just “buy” anything anymore, you can only lease it, usually at exorbitant prices compared to not that long ago.