this post was submitted on 28 Sep 2024
206 points (96.8% liked)

Asklemmy

43747 readers
1129 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy πŸ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_[email protected]~

founded 5 years ago
MODERATORS
 

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?

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 6 points 1 month ago* (last edited 1 month 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] 5 points 1 month 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] 7 points 1 month ago* (last edited 1 month 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] 4 points 1 month 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] 5 points 1 month 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] 10 points 1 month ago (1 children)

TL;DR software development is hard.

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

[–] [email protected] 6 points 1 month 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] 5 points 1 month ago
[–] [email protected] 23 points 1 month ago (1 children)

"Unless it's renders the product completely unusable, why spend money and fix it?"

Corporate mindset in a nutshell!

[–] [email protected] 4 points 1 month ago

"Unless it's renders the product completely ~~unusable~~ unprofitable, why spend money and fix it?"

[–] [email protected] 4 points 1 month 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.

[–] [email protected] 4 points 1 month ago* (last edited 1 month 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.

[–] [email protected] 3 points 1 month ago* (last edited 1 month 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.

[–] [email protected] 7 points 1 month 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.

[–] [email protected] 6 points 1 month ago

rush to market mostly

[–] [email protected] 13 points 1 month 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.

[–] [email protected] 14 points 1 month 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.

load more comments
view more: next β€Ί