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?

  • weeeeum@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    19 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)

  • WolfLink@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    20 hours ago

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

  • kingthrillgore@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    20 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.

  • Didros@beehaw.org
    link
    fedilink
    arrow-up
    0
    ·
    20 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.

  • phoenixz@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    21 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.

    • hightrix@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      20 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
  • josephsh5@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    2 days ago

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

    Corporate mindset in a nutshell!

    • owsei@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      21 hours ago

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

  • stealth_cookies@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    2 days ago

    This is a topic that could be a novel for how much there is to consider, but in the end it comes down to resources and companies trying to choose what it best for the company overall. For a company to do anything, they are giving up many other things they could be doing instead. Whether it is limited budgets, limited personnel, or company priorities every decision made is always a tradeoff that means you aren’t doing something else.

    Most companies prioritize releasing new product so they can start getting revenue from it as soon as possible. A new product has the largest potential market, and thus makes shareholders happy to see revenue coming in. The sales from a new product are the easiest ones in most product’s lifecycle. Additionally. releasing new products helps keep you ahead of competitors. So ongoing maintenance work is de-prioritized over working on new things.

    The goal of testing is to simulate potential use cases of a product and ensure that it will work as expected when the customer has the product in their hands. It is impossible to fully test a product in a finite amount of time, so tests are created that expose flaws within a reasonable search space of the expected uses. If an issue is found then it needs to be evaluated about whether it is worth fixing and when. There are many factors that affect this, for example:

    • How much would it cost to fix?
    • How much time would it take to fix?
    • Does it need to be fixed for launch or can it be a running change?
    • How many customers are actually going to see the issue? Is it just a small annoyance for them or will it cause returns/RMAs?
    • Is it within the expected use case of the product?
    • Can we mitigate it in software/firmware instead of changing hardware?
    • Is it a compliance/regulatory issue?
    • Would this bring in new customers for the product?
    • Was this done a specific way for a reason?

    Unfortunately, after considering all this the result is often that it isn’t worth the effort to fix something, but it is considered.

  • nicerdicer@feddit.org
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    2 days ago

    I think that manufacturers of tech products test their products only with a few standard configurations - but in reality there are too many possible combinations of different configurations:

    Take a bluetooth mouse for example. Generally, it connects to a computer and it works. Now imagine that you have a different configuration - a logicboard in your laptop that has not been tested by the manucacturer of the mouse or an obscure model of the bluetooth reciever, that also hasn’t been tested to work with that mouse. Your mouse works well in the beginning, but disconnects at random times. You can’t pinpoint the issue, and when you are looking for help online, nobody seems to have the same problems with that mouse.

    In this case, said mouse sucks, because it doesn’t function reliably. A different person with a different configuration of their computer (different logicboard, different model of the bluetooth unit) might have no problems at all with the same mouse.

  • TheReturnOfPEB@reddthat.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    2 days ago

    enshitification is based on the ease of moving profits from users to creators then from creators to shareholders in a digital service economy all the while degrading the service for the users and then the creators as the profit fulcrum.

    so enshitification might be a different thing than the reality around manufacturing items in an international environment which requires design decisions that later require revising because not all materials are available from everyone in the way a design is called for. and finding people that can assemble things while receiving a wage that they can live so that a company can make a profit requires compromises. and that is just two tiny points in not including shipping and workspaces and insurance et cetera

    it is hard, yo. in a not a one part is inconceivable hard but in a it gets complicated pretty quickly type of hard.

  • Skull giver@popplesburger.hilciferous.nl
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    2 days 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.

  • AdNecrias@lemmy.pt
    link
    fedilink
    arrow-up
    0
    ·
    2 days ago

    Something I’ve noticed in places I’ve work that aren’t small, whoever has talent gets promoted into being half the time in meetings at best, and at worse into managing teams and working by Outlook.

  • Carighan Maconar@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    2 days 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.