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?

  • 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.

    • 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.

    •  MoonMelon   ( @MoonMelon@lemmy.ml ) 
      link
      fedilink
      English
      102 months 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.

  • 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]   ( @davel@lemmy.ml ) 
      link
      fedilink
      English
      22
      edit-2
      2 months 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.

  • 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.

  • Why is it so pervasive? And why does some of it seem to be ignored for literal years?

    Considering that you know that these problems have not yet been fixed, you must still be using these products despite these problems not yet being fixed and there’s your answer: What would the motivation be to fix problems that aren’t severe enough to make you stop using the product?

  • 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.

  • Aside from the effort required others have mentioned, there’s also an effect of capitalism.

    For a lot of their tech, they have a near-monopoly or at least a very large market share. Take windows from Microsoft. What motivation would they have to fix bugs which impact even 5-10% of their userbase? Their only competition is linux with its’ around 4(?)% market share and osx which requires expensive hardware. Not fixing the bug just makes people annoyed, but 90% won’t leave because they can’t. As long as it doesn’t impact enterprise contracts it’s not worth it to fix it because the time spent doing that is a loss for shareholders, meanwhile new features which can collect data (like copilot for example) that can be sold generate money.

    I’m sure even the devs in most places want to make better products and fight management to give them more time to deliver features so they can be better quality - but it’s an exhausting sharp uphill battle which never ends, and at the end of the day the person who made broken feature with data collector 9000 built in will probably get the promotion while the person who fixed 800 5+ year old bugs gets a shout-out on a zoom call.

  • 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.

  • It’s a young field and we’re still entrenched in the consequences of the sort of mistakes that, in a few hundred years, will become “those silly things people used to do because they didn’t know better”.

    Daily reminder that the web is a mess of corpo bullshit piled on top of 90s tech and most OSes currently in use are culturally from the early 80s.

    • Is that a thing that goes away? I think a lot of fields still have that silly things being done even closing in a half millennia on the industrial revolution. You still have tons of screw head sizes and types! Why such diversity!

      • The screw heads are mainly to prevent people from tampering with stuff they aren’t supposed to unscrew. Hard drives, for example, all use the same star-shaped heads that most people don’t have screwdrivers for.

        I do think that people passionate about information technology – those who love it for the intrinsic awesomeness and not the money it brings – could break away with some of the legacy bullshit that holds back the quality of the software we use, if they were given the opportunity to defy software “tradition” and the profit motive. As of now, there is no systemic path forward, only occasional improvements incited by acute inadequacy of existing conventions for the growth of interested businesses.

        • Whole that’s true, you have Philips and flat heads and ikea hex which could all be those sort of flat and star that are for common people that could be more universal.

          About software were a lot freeer, because if it doesn’t have hardware and specially infrastructure requirements, such as the whole Internet layers or new visualisation devices you’re open to change things up a lot.

          • I mostly agree - however there are physical/mechanical reasons behind the use of some of those. For example, Phillips head screws will ‘cam out’ (driver will slip out of the screw head) rather than get over-torqued, which is useful in various situations - although TIL this was not actually an intentional design feature!

            https://en.wikipedia.org/wiki/Cam_out

            Hex keys are better than a Robertson (square head) in tight spaces with something like an Allan key, and, in my experience anyway, Robertson can take a fair bit of torque, so they’re great for sinking into softwood - and also for getting out again, even when they’ve been painted over.

            Flathead screws, on the other hand, should launched into the sun

  • 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.

  • Apple

    I’ve submitted at least 8 bug reports to them since Oct 2023 (and also many suggestions) through their feedback app. No response to any of them until now. The only closed bugs I closed myself because the problem went away in an update.

    I’m pretty sure they don’t have any bug triager whatsoever.

    I’ll keep doing it out of spite and because it’s what I do for open-source as well, but I’m really not sure if it has any effect at all.

  • 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.