this post was submitted on 28 Sep 2024
209 points (96.9% liked)

Asklemmy

43966 readers
1297 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_A@discuss.tchncs.de~

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
[–] masto@lemmy.masto.community 135 points 1 month ago (9 children)

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.

[–] tiefling@lemmy.blahaj.zone 43 points 1 month ago

I fucking hate how accurate this is

[–] InternetCitizen2@lemmy.world 22 points 1 month ago (1 children)

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"

[–] AdNecrias@lemmy.pt 10 points 1 month ago (3 children)

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

load more comments (3 replies)
[–] MoonMelon@lemmy.ml 19 points 1 month 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_Che_Banana@beehaw.org 15 points 1 month 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.

load more comments (5 replies)
[–] mosiacmango@lemm.ee 94 points 1 month ago* (last edited 1 month ago) (1 children)

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@lemmy.ml 42 points 1 month ago* (last edited 1 month ago) (4 children)

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.

[–] tomkatt@lemmy.world 18 points 1 month ago

It’s a monument to human achievement that they work ~~as well as they do~~ at all.

FTFY.

[–] mycodesucks@lemmy.world 13 points 1 month ago (4 children)

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.

load more comments (4 replies)
load more comments (2 replies)
[–] some_guy@lemmy.sdf.org 51 points 1 month ago* (last edited 1 month ago) (2 children)

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.

[–] WaxiestSteam69@lemmy.world 12 points 1 month ago (1 children)

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.

load more comments (1 replies)
load more comments (1 replies)
[–] darklamer@lemmy.dbzer0.com 33 points 1 month ago (1 children)

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?

load more comments (1 replies)
[–] flashgnash@lemm.ee 32 points 1 month ago

Programmers don't get given the leeway to make the work they do of good quality if it doesn't directly lead to more profit

[–] Ephera@lemmy.ml 29 points 1 month ago (1 children)

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.

[–] ILikeTraaaains@lemmy.world 5 points 1 month 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.

[–] Reverendender@sh.itjust.works 27 points 1 month ago (3 children)

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?

👆I’m guessing this one is Microsoft. 👆

Apple I cannot explain. They were the gold standard of both brilliant UI and UX, as well as best in class customer support. Now I’m tearing my hair out over seemingly simple things (like their horrendous predictive text in iOS), and I don’t even have any hair.

[–] _stranger_@lemmy.world 15 points 1 month ago* (last edited 1 month ago) (1 children)

Apple is a strange beast. I was at their space ship HQ getting interviewed, and the guy kept pointing random facts about it. Like, this particular wood was harvested in the winter so that made it better, or that entire segments can be siloed off, or that the full height glass walls of the cafeteria can be opened on pivots, and there was just so much effort in making sure things worked just right.

Meanwhile [this team] had to test software fixes for their product by provisioning ancient Mac mini's in a closet lab because they wanted to test the "full experience" and so every patch and update they had to do was painful and horribly tested. They all hated each other (which was obvious to me just from my time in their interviews, so it must have gotten really bad during the workday I imagine). Everyone seemed on edge all the time. Even the people in the hallways. But they were all super excited that they could order lattes from the iPads tethered to the break room countertops. And they had an apple orchard I guess. The idea of changing how they do what they do was completely unentertainable.

The whole experience felt surreal, like I had stepped into the world according to The Onion.

load more comments (1 replies)
[–] mycodesucks@lemmy.world 10 points 1 month ago (1 children)

Their UX and UI are their bread and butter, but as someone who has done extensive web app development for use on Safari browsers, if I had a nickel for every time their browser just IGNORED a standard, broke one that previously worked, or added new "features" that broke a standard, passing the responsibility of building a workaround down to individual developers... I'd have a few dollars anyway. I don't have much faith their code is all that good compared to average under the hood and the UI, and I think their reputation unjustly leads users to turn a blind eye or give them a pass when their stuff DOESN'T work or works BADLY. "They're Apple... everyone else seems happy. I must be doing something wrong."

load more comments (1 replies)
[–] osaerisxero@kbin.melroy.org 6 points 1 month ago (1 children)

Apple is a victim of always having to build the new thing, so there's never time or resources to fix the old things. They can sometimes do an end run around this by re-releasing the same thing over again and pretending it's new, but then the cycle just begins anew

[–] Reverendender@sh.itjust.works 5 points 1 month ago (1 children)

Half their stuff is just android features they were slow to adopt

load more comments (1 replies)
[–] myliltoehurts@lemm.ee 25 points 1 month ago (3 children)

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.

load more comments (3 replies)
[–] josephsh5@lemm.ee 24 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!

load more comments (1 replies)
[–] NABDad@lemmy.world 17 points 1 month ago (2 children)

Most people tend to buy the imperfect cheap product rather than the better, more expensive product.

If we refused to buy crap, they wouldn't make it. If we refused to buy it, they couldn't make it.

They sell us crap because collectively we prefer it.

[–] otp@sh.itjust.works 9 points 1 month ago

But in tech, there's often a lot of overlap in the high-end and crap...at least in terms of issues.

Expensive, high-end products can sometimes just be frustrating, or just lacking features that'd seem obvious.

load more comments (1 replies)
[–] andrewta@lemmy.world 15 points 1 month ago (1 children)

Arrogance. They're attitude is basically "we built it, so it's golden. If you can't understand why we did it this way, then put the device down and flip burgers".

I saw this starting around the year 2005. I spoke out about it and told people stop buying /using products that aren't logical and easy to use. If it takes a Google search and a YouTube video to figure out how to use it, then it was built wrong. Return the product and get a better one. No one listened to me. We have what we have.

It sucks and it will only get worse. People will not change. People will keep buying shit products, then bitch that the products suck. Instead of returning the crap, they will keep it. Because they keep it the companies have zero reason to change.

load more comments (1 replies)
[–] Showroom7561@lemmy.ca 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.

[–] Carighan@lemmy.world 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.

[–] kotauskas@lemmy.blahaj.zone 12 points 1 month ago (4 children)

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.

load more comments (4 replies)
[–] johannesvanderwhales@lemmy.world 11 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.

[–] hightrix@lemmy.world 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
[–] ShittyBeatlesFCPres@lemmy.world 10 points 1 month ago

Things like planned obsolescence and software blocks on things like farmers fixing tractors without John Deere’s software permission almost makes me think the bad guys won the Cold War.

Between me and a mechanic friend, we can fix my car but we can’t turn off the (wholly unnecessary) “inspection needed” noise without me spending $1000 on software. Apparently, the inspection needed warning isn’t even related to anything. It just comes on every x miles. The car doesn’t have a detected issue or anything. That beep is radicalizing me.

[–] penquin@lemm.ee 9 points 1 month ago* (last edited 1 month ago) (8 children)

Have you tried Google keyboard (gboard) lately? It made me want to break my phone and just not have one at all. It corrects proper words to other words that make the sentences don't make sense. It corrects words that are already correct and it ignores the misspelled words. It wants to speak for me. They think they're making us type faster with their predictive text, but I was re-reading every thing I put on the internet. I became slower. Thankfully I found a worse keyboard, but it doesn't autocorrect~~s~~ as much and I'm ok with that. Fuck Google.

load more comments (8 replies)
[–] match@pawb.social 8 points 1 month ago

Because It Exists For Profit

[–] Hikermick@lemmy.world 8 points 1 month ago

Luxuries have a way of becoming necessities.

[–] Cornflake_Dog@lemmy.wtf 8 points 1 month ago

This is somewhat outside the box but as tech becomes easier, a lot of people tend to become weaker at certain tech skills. An example of this is directory management. A lot of folks don't organize their file structures nowadays, relying heavily on the search bar to find everything.

[–] 2xsaiko@discuss.tchncs.de 7 points 1 month ago

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.

[–] AdNecrias@lemmy.pt 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.

[–] KingThrillgore@lemmy.ml 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.

[–] spankmonkey@lemmy.world 6 points 1 month ago (1 children)

Everyone else has great points about complexity, but there is an additional issue which is the constant desire for change keeping products from being refined and perfected.

Any product will have small changes that improve it, like reinforcing points of failure specific to that design. Let's take a kitchen knife, the kind chefs use. Some manufacturers have the exact same model produced for decades, with ever so slight variations on angles, handles, and so on as they refined design. Now they are high quality if they keep the production going, and that is something that has no moving parts! These knives continue to sell because they are used constantly, can break or be damaged, and new restaurants open all the time requiring a constant supply of knives.

The home knife market does not have the same pressure for reliability because people don't use them all day every day like a chef. Instead, companies are constantly changing designs to sell new versions to the same over saturated market that prizes form over function. They change the handles slightly, make a change to the blade, and sometimes these changes make the knife worse but they can slap a 'new and improved' sticker on the label as long as something changed.

The same thing happens with technology except complex systems have even more refinement needed while the companies are also trying to change things just to change them in the pursuit of the 'new and improved' market. Moving menus around, changing orders of things, making things look flashy are all side effects of tech being afraid of selling the same thing for an extended period of time because people want something new and shiny to replace what they had. Time and effort is spent on changing things, and it is hard to do bug fixes while also creating something new that might make a bunch of old bugs obsolete. Oh, and they will also be spending their time trying to patch critical vulnerabilities, because that might keep someone from buying their next thing.

So all the effort going into changing things, often making them worse if they happened to stumble into a useful design already, and they put all of their focus on that change and vulnerabilities so they don't have time to fix usability issues or do the things that would make their product better because why bother as long as people are buying? Anything someone who is knowledgeable about being fixed is unlikely to be a priority because the regular user probably hasn't even noticed and they are the ones who are going to buy the next version. That is why things like bluetooth continues to suck, because it works well enough to sell more things and doing it right would take more effort. The handy feature that you used to like being removed? They felt it needed to change just to change and whoever provided input or feedback came up with this instead.

Oh, and all of this was just talking about available time spent doing things but on top of that they want to spend as little as possible so they get the cheap parts that are made by companies who also make a product just good enough that they get more customers to buy their parts for as little cost to produce as possible.

TLDR: market pressures favor changing things constantly which introduces more design flaws and capitalist pressures focus on revising designs to sell more and security flaws so as long as it sells it doesn't matter if it has shitty usability and minor flaws are never fixed

[–] maegul@lemmy.ml 6 points 1 month ago

There was an article by Google about the security of their code base, and one of their core findings was that old code is good, as it gets refined and more free of bugs over time. And of course conversely, new code is worse.

https://security.googleblog.com/2024/09/eliminating-memory-safety-vulnerabilities-Android.html

Generally it seems like capitalism’s obsession with growth is at odds with complex software. It’s basis in property also.

[–] phoenixz@lemmy.ca 6 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.

[–] Sam_Bass@lemmy.ml 6 points 1 month ago

rush to market mostly

[–] weeeeum@lemmy.world 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)

[–] UltraGiGaGigantic@lemmy.ml 6 points 1 month ago
[–] WolfLink@sh.itjust.works 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?

load more comments
view more: next ›