> We’ve reached a point where an update to macOS — or to any app I rely on, really — is a source of dread rather than excitement. I now expect the new version to be worse.
I actually relate to that. It used to be cool and exciting to update to see what new things are coming for free. I was just looking up what Fedora Workstation 45 might bring.
Updates on phones, TV's, cars and non-Linux operating systems on PC's/laptops are downright scary to me now. What will they add that I don't want? What more connectivity to the external world are they going to wire in?
MacOS lost everyone's trust by ruining the experience, but even before it happened that trying to resize a window makes it feel like life will be at 80 years-old, hunting a tiny invisible border, even before that there wasn't anything exciting.
What Microsoft I think did (and I can't prove it), before I moved off of Windows 11, was to bundle all changes in "required security updates." So you have no choice but to update (or go through special settings to turn it off, or just defer it), but when the machine comes back you have a new Welcome prompt to some new connectivity to something nefarious. AI features I never asked for, that's the most recent dark pattern here.
> > We’ve reached a point where an update to macOS — or to any app I rely on, really — is a source of dread rather than excitement. I now expect the new version to be worse.
You know what software doesn't fill me with dread to update? FOSS.
Proprietary software isn't built for users anymore. But (some) FOSS still is.
> was to bundle all changes in "required security updates."
Kind of...Cumulative Security Updates on Patch Tuesday still do not contain new OS features, and on pro editions of windows you can at least, last time I used Windows (maybe this changed?), still skip quality updates & feature updates.
What Windows does do is tie all the "connected experiences" crap to out of band updates via the store/AppX packages which background update automatically, so when you reboot after a patch windows will run its post update OOBE and push all those features agian/turn them on. So technically not bundled with security updates, but a dark pattern that disrespects users nonetheless.
> AI is here, time to create something new and shiny.
The AI we have in 2026 cannot do that or it'd have already been done. I use AI daily: it saves some time. But it produces an infinite amount of insecure, unnecessary, sloppy-pasta.
And that sloppy-pasta doesn't make software any better.
You can build software fast, but the more time you take the more you can be confident about it being correct.
This was true already before AI code generation, but AI code generation means the definition of “fast” has shifted like crazy. An experienced engineer can now build in an hour what would have taken them a week.
But it (right now) does nothing for the confidence about being correct - you still have to put in the extra time to ensure the software is correct to your desired degree of confidence.
Unfortunately for people who like their software to be correct (stable, performant, bug free, etc), it seems like way too many software developers right now are happy to take the gains of the former but ignore the tradeoffs of the latter.
(at the same time software quality for mainstream consumer goods like the kind of thing OP complains about in their post has been down the drain for a long time now, and it seems likely many of the examples they give are pre-AI)
> An experienced engineer can now build in an hour what would have taken them a week.
From what I've seen, I don't think so if we're talking about like-for-like quality. Maybe as an absolute best case scenario, but more typically it's more like you can build in an hour with AI whereas without AI it might take you 2 or 3.
Even thats highly task dependant, and doesn't scale as you'd expect (eg 1 hour == 2 hours, but 1 month =/= 2 months), and at times even using AI can slow things down, at its worst case more severely than at it'd speed you up at it's best.
Now if you're willing to throw like-for-like out the window, that 1h==1w could be achieved easily, maybe even more. But then again, I feel like I could do a lot more in an hour if I didn't care about quality either, not as fast as AI but much faster than I am currently.
> You can build software fast, but the more time you take the more you can be confident about it being correct.
> ...
> But it (right now) does nothing for the confidence about being correct - you still have to put in the extra time to ensure the software is correct to your desired degree of confidence.
You're partially correct - what gives confidence is duration in the field. No matter how long you take to build something, seeing it work in the field for 3 months gives me more confidence.
Software quality is tied to the market incentives and always has been. AI isn’t going to make someone care about writing robust software and that is why we don’t see better software all of a sudden. The market doesn’t rewards apps that don’t break on every update, it doesn’t reward cobbling together multiple independent solutions, as opposed to using Microsoft as a one stop shop. If people could have gotten away with this in the early days of computing they would have, but computers were too low powered, and the knowledge too scarce.
There is a saying
Any idiot can build a bridge that stands, but it takes an engineer to build a bridge that barely stands
We found the limits of what it takes to make software stand, and what software paper cuts people are willing to deal with
> I opened Slack on macOS, the icon kept bouncing in the dock for a few seconds. I got impatient, switched to Ghostty, and started typing. Just then, the Slack window appeared, stole focus from Ghostty and the git pull command was sent to the group chat.
One of my absolute favourite features on KDE Plasma with Wayland is the global setting to control what can steal focus. It works wonderfully, and I always miss it when I have to use my work mac or windows computers.
Yeah the obvious answer to software getting worse is to switch to FOSS. Use Linux/KDE. It's been great for a long time and only ever gets better. It's as if Windows 7 just continued to slowly iterate and add useful polish.
NixOS has a longstanding issue where library loading (and therefore program start, particularly GUI programs that load a lot) is n^2, but programs still all start in ~1 second or less on my n100 minipc. I still found that to be annoying enough to look into why it seemed so slow (and learned about the loading issue). Can't imagine things taking so long that you actually switch to another task. The same minipc can easily handle my 4k 240hz HDR monitor as well, and the whole experience is completely smooth.
The computer also just obeys me. It does exactly what I tell it to, and nothing more.
I so want to agree. I have been a Linux user for almost 2 decades now and I still can’t close apps by throwing my mouse on the right top corner and clicking. It works on “KDE apps” and but not on Firefox so I am guessing GTK apps.
The idea that I need to have window decorations and the “GTK window decorations” configured separately is just …
Anyway, the point is it’s never going to be consumer friendly. Office systems managed by IT teams can switch to Linux no problem. People just complain about “weird work computer setup” and move on. But personal laptops aren’t going to be an attractive proposition.
> The computer also just obeys me. It does exactly what I tell it to, and nothing more.
Is the biggest benefit and point. You can toss whatever UI/workflow style you want on top of pretty much any distro. I absolutely cannot stand the loss of user agency on modern software/operating systems. I have to use both macOS and Windows at work and I hate them almost equally (I hate windows a little more than I hate macOS, but because of Microsoft's behavior, not because of the UI).
I feel like every piece of commercial software and OS now is like Blizzard "You think you do, but you don't"
> It's as if Windows 7 just continued to slowly iterate and add useful polish.
That's a pretty good description of it, I even have KDE laid out the same way I did on Windows 7 (or more accurately I guess on KDE going back even further since Linux has been my main OS since the 90's with Windows relegated to gaming).
To this day - Taskbar shows window titles, only shows window titles for windows on that screen, there is no grouping, there is no ordering except order opened etc.
I think autonomously in terms of which physical screen a window is on and when it was opened relative to others so I know exactly where to look/it'll be - the Mac style (and Linux/Windows style at least out the box) defaults of hiding all windows for an application behind it's icon in the dock never made sense to me, I have widescreens why do I want a doc that only takes up 40-50% of the horizontal space?.
> defaults of hiding all windows for an application behind it's icon in the dock never made sense to me
Not that it's a better workflow, but macOS does make a distinction between hidden and minimized. You can "hide" an app, and all windows will be hidden, only the dock icon showing. Minimize will move that specific window into a separate area onto the dock since macOS treats apps & windows as separate entities.
What I absolutely hate though is you can cmd+tab and bring out a hidden app (but it restores all of its windows which drives me nuts), but you can't for a minimized app without holding option before releasing the keys.
The problem is that I can't still buy a laptop at Media Markt, or similar consumer store, with a Linux distro pre-installed, and if I could, it would be OEM Linux, just like they do with Android, WebOS, Netbooks, whatever.
Outside Internet places like HN, most consumers aren't going to Tuxedo, System 76, or building their own Linux PC.
Thus commercial OS platforms keep winning, and the owners are anyway the ones that sponsor most FOSS projects.
Miss Windows 7 by the way, it was when I gave up on The Linux Desktop.
Windows 8.1 was pretty solid, if short lived. New task manager, overhauled file copy, better SSD support & HiDPI scaling/multi-monitor support was hugely improved over 7, 8.1 also improved the window snapping and fixed the horrible table UI for it from 8.0
8.1 also ran faster than 7 on a lot of machines, they did a lot of work to optimize it for the crappy tablets which translated well to desktop.
Also the last version of Windows that you could opt-out of telemetry with (until Microsoft backported 10's telemetry engine to 7 and 8.1 via optional update)
I use KDE on Bazzite. It has a couple killer UI features over Windows. It can label bluetooth devices (so I can have blue dualsense controller, pink dualsense controller, white dualsense controller, etc.). No clue why this doesn't work in Windows lol. Also the super/win + arrow keys are more predictable, super pgdn is minimize and super pgup is maximize, so I never find myself accidentally minimizing windows when trying to move them to a corner. My wife was able to easily install and play the Sims with all her mods as well. I also use Bazzite specifically because it's atomic - so when I make the mistake of giving into temptation and updating shit once every month or so, if it's broken I can just revert it.
But I will say I've had a ton of failure to wake up from power saving issues (resolved by just disabling pretty much every power saving feature, which I was gonna eventually do anyway because I want to be able to remote into the machine), and VLC can cause the UI to lock up because of some XWayland nonsense that they're still trying to fix (I just use Haruna, KDE's default mpv-based player, and it's mostly fine). It's a little silly and was quite frustrating that Linux is still dealing with this shit. A more minor (but still irritating) issue is that each taskbar has its own set of pinned applications (instead of just being identical like in Win10/Win11), so if I change the order on one I need to manually go change it on the others.
Overall, I like it because it's good for development and creating other stuff, the filesystem is fast as fuck (way better than WSL) it's obviously less actively antagonistic than Windows 11, Photoshop has gotten worse so I've switched to Krita which works great in KDE, and I've not been surprised negatively by anything after dealing with the previous paragraph's issues, but a non-technical user might struggle to deal with maintaining it.
Plasma has very strong opinions about what the desktop is. So strong that it probably disagrees with every single person.
The other side of the news is that the desktop abstraction has been made more and more useless on every OS for a couple of decades already. In any other OS your life will only improve if you abandon it too.
It's really not that bad. KDE is perfectly usable by default. More so than the only options you get on macOS or Windows. And, if you are so inclined, you can spend that extra effort to make it sing just to you. So, the hyperbole here is really not warranted.
Ironically enough I find KDE to be useless these days.
I kind of settled towards e. g. fluxbox or icewm. Mostly because I don't want to spend too much time configuring anything and these are faster than KDE at all times. Plus, KDE goes into the systemd-dependency and "no more xorg" anyway under Nate-lets-add-more-donation-daemons-Graham. Oldschool KDE was not as opinionated.
I've spent 6 months in KDE after years on Windows, and KDE is crap in both UX and number of bugs. I love the idea of open source, but there's a long journey ahead to even match the state of Windows 2000.
KDE has improved a lot in recent years, but yes I would agree that it still has plenty of rough edges and little unexpected (as in slightly jarring) differences in behavior from major commercial desktops.
I still prefer it over the bloated pile of upsells that Windows has become, but I think there’s still space in the Linux desktop world for a legally-distinct clone of Windows (sans the bad parts). KDE isn’t that, it’s its own thing and is best fit for long time Linux veterans.
I actually had to backpedal on my gaming PC from Kubuntu recently, I'm sad to say. The support for the RTX 5080 is just too rough. Every game install was chased by an hour of debugging with Claude to figure out which version of proton to use, which launch arguments to use, which between-system-and-gpu shim profile to use.
I grant: The process is much more enjoyable than doing similar things on Windows. Kubuntu treats you like an adult and will tell you what's going on, and being able to copy the sometimes esoteric nonsense in those logs into Claude and get actionable information while not remotely understanding the underlying tech is fan-bloody-tastic.
That said it was death by a thousand cuts. Some friends I hadn't heard from in awhile asked if I wanted to get on Warhammer Space Marine 2 and luckily, I had it installed! ... and was able to play after a mere 35 minutes listening to other people have fun on the call, while I was trying to figure out why the game would only launch to a black screen.
So yeah, I wussed out and went back to Windows. I'll probably try again in a few months, and hope the GPU support is better. But that's also explicitly riding on nvidia to do, and they're busy selling shovels to the AI gold-rushers.
Hey may I suggest CachyOS + KDE? It’s very gaming oriented and you have a lot of great built in features. Everything just works.
So far in 6 months I ran into a single issue: On day 1 of the new Subnautica early access I had to do some debugging and downgrade nvidia drivers to a previous release. But this was fixed after about a week.
No other game gave any issue what so ever. I run everything on the cachy proton version. 4090, 5070 Ti, 5090. All work perfectly. DLSS, Frame gen, older titles too.
If you want to there’s convenience flags to auto upgrade things like DLSS to latest versions etc. It’s not something you have to use, but I found it really nice compared to the Windows equivalents.
I’m so beyond happy to have zero Windows left in the house. :)
I would like to add that CachyOS also supports Niri, a scrolling tiling WM.
As someone who long had "papercuts" from floating WMs I've had great success with it and even prefer it to something fully tiling like hyprland.
Another vote of confidence for CachyOS + KDE! This is my setup and literally the only issue I've had which presented a problem to me is that OpenRGB doesn't like my mobo at all, it's stuck in 'unicorn vomit' mode when I wanted tasteful accent lighting. Games work with minimal farting about, the desktop is great out of the box and customisable in plenty of ways, and it generally treats you like an adult.
I'm not on Cachy OS myself but just normal Arch with KDE, and HDR is working fine there at least. Using an RTX 4070. I hear some people can still have issues with it though, but especially when running Wine/Proton in Wayland which is possible nowadays I haven't had any issues regarding that. You still have to use environment variables to enable it though (PROTON_ENABLE_WAYLAND=1 PROTON_ENABLE_HDR=1). Hopefully that will soon just be automatic.
That is for games specifically. For video with mpv it just works in my experience. Browser support is still a quite hit or miss.
> Kubuntu treats you like an adult and will tell you what's going on
This means so much to me in the modern era. Contrast with the SaaS approach that's also been leaking into Electron apps, etc:
- "Something went wrong"
- "It's not you - it's us :-("
- "An error occurred"
- "Uh-oh..."
- "Too many penguins are in the defrobulator" [or whatever "lol so random" 2010 corporate mascot in-joke is applicable]
People used to make jokes about cryptic error messages with alphanumeric codes but cryptic beats cutesy and completely uninformative every day of the week. The days of people being intimidated by computers have been over for a while now so I'm sure I'm not the only one who feels this way.
> The days of people being intimidated by computers have been over for a while now so I'm sure I'm not the only one who feels this way.
Oh, I wish...
We have a couple of applications where we used to show useful error messages that users could copy-paste to us when they opened a ticket. We had to remove them because they scared some users. Now, per our customer's request, we sometimes only show "ERROR". Yeah, that's better...
Also, in the ticketing system we have to hide technical messages when passing the ticket between teams because the user would interject telling us they don't understand (which is ok, to a point: they have all the context they need to understand we're not talking to them, but ok...) but some would get really angry and frustrated and complain to our customer's IT that they don't want to see the technical stuff.
Also, my parents that get scared if something in red with numbers shows up on their screens.
Perhaps 'Error' in tasteful smoked glass overlay, but with a QR code that encodes an error number?
(Spent some time last year supporting students online - noone was going to take a screen shot of their laptop so we ended up with them emailing photos off their phones)
I think it was Woz that said something along the lines of 'the problem with making a computer that stupid people can use is that only stupid people will want to use it'. arrogant, no doubt, but also also rather prophetic now that we're in the era of "Whoopsydingdangdoodle, we made a booboo with your request" meaninglessness. I think we've traded being intimidated by computers for being completely agnostic as to how they work and just not caring. They've gotten easier and more reliable, sure, but they've also gotten more opaque, less transparent, less extensible and less fixable because of it. Those of us who grew up in the era where you had to become pretty intimate with the details of how a computer worked in order to get it to do anything at all developed a lot of skills for dealing with issues and now those skills are being intentionally obsoleted by design decisions that remove our ability to actually fix things ourselves by hiding everything about the apps we run except the interface.
> I actually had to backpedal on my gaming PC from Kubuntu recently, I'm sad to say. The support for the RTX 5080 is just too rough.
What? That has nothing to do with KDE. And Ubuntu is one of the happy paths for driver support. The problem is squarely on either NVidia or overly pretentious commitment to FOSS and only FOSS.
May not be applicable to most, but this can be solved by multiple devices. I have three laptops (my work mbp, my personal mba and my daily driver which runs OpenBSD) and two mini computers (one is a server for file and misc. stuff and the other also runs OpenBSD).
I just switch devices depending on context and needs. If it were me, I'd just use the gaming PC as a console.
It is interesting how Linux and FOSS in general is just providing a better UX these days. I have to think its because without profit motives, people do things for passion and maybe that leads people to write code the right way instead of the "it works" way.
I think this is less a "macOS lacks the feature to prevent focus stealing" and more they never even imagined the scenario where it takes time for the app to open. Instead of even considering that a user may add inputs while waiting for launch, potentially signaling that they are no longer requesting focus from the program they clicked on, they simply designed for the optimistic case where there never IS time for the user to give these inputs before their intention of opening the program is completed. Not saying it's any less bad from a user's perspective, but I think there's a difference in mindset here.
In my experience (admittedly a bit dated now) Mac apps always take a few "bounces" to launch and be ready. There are a lot of nice things about MacOS but snappy application launches isn't one that stands out for me.
It’s probably the lack of distinguishing between a window obtaining focus because the application just launched and the window of a running application requesting focus for some other reason.
Nevertheless, the OS could conceivably track whether there was any focus change since the process was launched or since it received the last key-press or mouse-click event, and only allow the focus change when there wasn’t (and otherwise use a non-focus-stealing notification mechanism).
They can open nearly instantly, but they need to be well-built native apps. Lumbering behemoths like Adobe CC or anything Chrome-based is going to be a bit slow, and even smaller apps that pull in a big foreign UI toolkit are going to take a tick or two longer to start.
It’s too bad that the art of building lightweight applications is becoming a lost art.
The single most soul-crushing experience I have on today's tech is the whoopee cushion.
I type this on a touch device that randomly Cheevers the words. (It literally changed "changes" just now. Henceforth, my word for this shall be Cheevers.) it Cheevers the words. It offers suggested words that you can tap to complete the word you're typing, and milliseconds before your finger makes contact with the screen, the suggested word flips to Cheevers and your finger taps that.
Now with the new improved iOS Liquid Glass, and possibly with janky web app development kits, buttons can move as you try to click on them. UI animation was supposed to help the user. But helping the user is hard.
Pop ups. The web needs more pop ups. More "Are you enjoying this app?" in your face.
But on the desktop, I recall complaining to a Windows (the OS) developer about stealing focus... in 1995. At the time, classic macOS tended not to do this, but it happened quite often multitasking on Windows, and I couldn't offer any constructive feedback, no obvious solution.
The sheer unpredictability, at 100 millisecond time scale... a few hours of this and I'm literally shaking. Because it affects muscle response, a startle reaction. Keeps firing away at the limbic system.
If I wanted slot-machine online gambling levels of simulation, I'd go to a casino. I hate this stuff. I hate where "engagement" metrics and the quest for more clicks has brought us.
A fantastic feature, but unfortunately currently broken (as in over- rather than under-zealous) for prevention levels other than 'Low': https://bugs.kde.org/show_bug.cgi?id=509990
This is the absolute perfect encapsulation of the Linux problem and the Linux appeal:
Yes, it has the magical setting to fix all of your problems and frustrations, and yes it’s a finicky broken bitch to actually get working for your use case.
This doesn't happen on Windows. Slack loads in the background and the taskbar icon just pulses when it's ready. I have to switch to it manually from whichever app I'm working in as Slack loads.
I think there is a law of the universe which says it must happen right after you've mentally decided to type enter but before your fingers have finished.
That is definitely needed. On Mac it is really infuriating how stuff (auto update etc) just take focus/pop up crap. I am literally never interested in it and am confused why I cannot just say [x] Force apps to mind their own business. We have f’ing notifications for this; why does it need a dialog window?
Maybe it's a hazy memory, but from 2007-2011 my main computer was a MacBook Pro. I swear in that era, when an app wanted attention it would bounce in the dock endlessly.
That was annoying, but it let you finish doing what you were doing until you were ready to switch focus.
I’m not sure that macOS changed as much as developer practices did.
Dock icons bouncing are usually the result of the app opening a modal alert window. Those can’t foreground the host app and they used to be what devs reached for 9 times out of 10.
These days though everybody and their dog has a menubar item or daemon running in the background (whether such a thing is actually necessary or not) and the only way windows spawned by apps like that (which have no Dock icon) can get the user’s attention and not have the windows they spawn get lost in the shuffle is for the app to call the foregrounding API, and so that’s exactly what they do.
Contrast this to years ago when almost no apps had menu items or daemons and were standalone.
There’s also been a staggering loss of decorum when it comes to these things. Companies have become shameless about pestering the user’s attention, and so there’s probably some regular Dock-icon-having apps that call the foregrounding API when they shouldn’t be too.
In my opinion menubar items, daemons, and foregrounding are all being abused by devs and Apple needs to get them under control. Apps shouldn’t be able to add menu items or daemons without the user’s explicit permission and foregrounding should he treated similarly to push permissions.
People say Microsoft has no UI taste, but they used to be decent. They had sensible guidelines and behaviors
For example for this case, the taskbar icon would blink three times and then remain highlighted. So it would grab your attention, but not hold it, and then you could still easily see at a glance which app it was
At some point, like many other things, it looks like this either was changed or broke/doesn't work consistently. But I thought it was a nice design
I never understood the OSes/desktop environments that stole focus by default. So many secrets/credentials have been shared because of that. Just give me a blinking notification that the app/window is available in the notification/taskbar/appdock area ffs. Yes that is one more click/alt-tab but that is much better imho. At least ask for preference on first ever login.
I am doing my best to implement a rule with apps where the third time in a single session you bother me about something that has absolutely nothing to do with the workflow I opened to app for, I uninstall the app. I don't want to update my spreadsheet app, I want to work on this spreadsheet. I don't want to tour the new features from the last update, I want to work on this spreadsheet. I don't want to sign in in order to access an AI companion (which I also don't want), I want to work on this spreadsheet. I damn sure don't want to leave a review in the app store for you and at this point you don't want me to either. You want me to work on this spreadsheet.
Between that and this insane thing MacOS does where when I click an app in the dock any random app opens up (and, per above, begins barraging me with things designed to "direct" my attention) I'm ready to switch to something whose primary feature is not acting like the dev team spent the last ten years trying to arbitrarily bump the number of features up and ending up with a giant pile of buggy features that nobody asked for.
And for my final gripe, at least for the next 15 minutes, trying to teach a computer how to do what I mean instead of what I say was a mistake. I learned computers back in the day where there was no attempt at interpretation of intent and instead the machine did exactly what I told it to, and that's how I prefer it because it simplifies the problem space when the machine is misbehaving. I told it to do the wrong thing. That's the only possible answer. But now there seem to be so many layers attempting to interpret meaning from actions that the problem space expands to make room for the idea that I told it to do the right thing, but it guessed that I meant something different and then did that instead. As an example, just trying to highlight something in my Mac's terminal app so that I can copy/paste it. I click the terminal app on the dock, and focus switches to that terminal app but also docker desktop, which is on top of the terminal and doesn't go away when I click into the terminal. Instead I have to interact with docker desktop. So I minimize the app I never asked for, and actually have access to the terminal. I'm using the built-in touchpad and have to select an entire line, so I start from the right with one finger, click and drag. But another finger, or perhaps the heel of my hand, gets close to the touchpad and MacOS is SO EXCITED TO HELP that it decides to interpret that as a right click which results in my selection getting interrupted halfway to bring up the right click menu, whereupon I'm presented with the option to do several things with this approximately 40% of a CLI command including: search for it in webster's dictionary, convert it to spoken word, convert it to Chinese (my choice of traditional or simplified), or try to open it in finder despite it being a portion of a command and not a file.
All of this points to a Goodhart's Law situation where someone decided the size of the pile of features was the measure of the quality of a piece of software, rather than how elegantly it does the job the user bought it for. AI has also significantly increased the speed with which a feature that no one asked for and that doesn't work correctly can be delivered.
How would that global app ban help? You do want the application to steal focus when necessary. It's just in this case the user has made the decision to not wait for startup and switch to another app. Aggravating step - he was typing.
Is this workflow part of the Kwin settings? It's not interrupting typing part of the settings?
Any app should be ready to accept focus. It should never steal focus. When I start an app, and wait for it to launch, I am attempting to give it focus. I can withdraw that intent at any time by doing something else (e.g. switching apps) and the launching app should finish launching and wait in the background.
Your specific example is just repeating what I've said, but your generic point is wrong: let's say you have an important task in an app with unavoidable interruptions, during which you switch to your browser to mindlessly scroll.
You most likely want to return to the main task as soon as possible because that scrolling is just a time filler because you can't do anything productive. So you don't need any notification and extra action, just switch back asap and continue work with as little interruption as possible.
But even in the specific example that depends entirely on what you're switching from and to and for what reason. If it's for something quick non-interactive (I don't know, switch to a file browser to check the file name or something), then yes, you'd prefer to seamlessly be switched back to the main app to do the thing you launched it for.
But if it's not an important app, then yeah, you just want it to be ready for you and switch to it whenever you decide to avoid the launching delay later
Your example is wrong because the people who write apps always think they are the important work that should steal focus. The user on the other hand knows how to give focus to what they want to use when they want to use it and doesn't benefit from nondeterministic behavior.
My real presumption is that the user knows exactly what they want to happen, but can't encode that knowledge into OS configuration because people have no imagination for trivial use cases, so demand blanket bans. While another group is just as limited and encoded blanket allows
> Would I?
You would
> How do you know?
By being the omniscient being that came up with the conditions in the first place
Nope. I never want my front task just interrupted like that. Let's take your "check the filename or something" example, and while you're there, you realize you also need a new directory, so while you're typing the name, the other task steals focus and the character you're typing cancels the task - and now you have to start it again. This exact situation has happened so many times, and it's why focus stealing focus of any kind is a problem.
I don't care how important the app's developers think their app is. It's my computer, it's my decision how "important" something is.
Let's take the real example I've made up (which is also a situation that happened many times to warrant an automated solution to limit distraction), not a totally different one you've made up because you can't point how the original fails withotu changing the conditions.
Also, I've specifically mentioned typing as a different workfow/use case because that obviously requires different handling.
Fine. I'm checking the files as you say, focus changes while I'm still checking, now I have to switch back to finish checking. No. Do not want.
Also, no one else needs to be deciding how my "distractions need limiting" on my computer. I can handle that myself. Provide settings, an extension framework, whatever to allow people to manage their distractions, but don't force that on me and my device.
No, you're committing the exact same error again. You stopped checking in the first 0.5 sec while the app took 1 sec to start. If you're not capable of imagining a situation where this happens like some other commenters, that's ok, but that's a different argument.
> I don't get it, are you not capable of imagining a situation where
You're the one deciding that!!! That's what a properly designed system would allow you to do. But the system you advocate for does NOT. If decides for you that you'll never need it. Just like the current dumb systems decide for you that you always need it
Why do you presume to tell me how I perform a task? Do you know how many files I have to scan through to check? Do you know how far the Finder scroll has to move to show me what I want? Maybe it takes a glance. Maybe it takes ten seconds.
I don't particularly care what kind of activity you might be imagining, but nothing that steals focus should be happening without my consent. You have been arguing that it should and then later changing your argument to allowing configuration for such things.
> > I don't get it, are you not capable of imagining a situation where
I don't know where this came from, but it's not in my comments. I think your emotional response to this discussion has you conflating commenters.
If you want to advocate for configuration to allow focus stealing that's fine. But you've been arguing as if it's silly that anyone would want it any other way than you.
> Why do you presume to tell me how I perform a task?
Why do you keep presuming you can make up your own example when arguing about a different one??? The original premise "depends entirely on what you're switching from and to and for what reason", so of course if you change your conditions you'll have different outcome re. focus stealing!
> You have been arguing that it should
No, you've been missing the point this whole time.
> I don't know where this came from, but it's not in my comments
It is, I suggested you imagine the case where you'd like the change of focus to happen in response to some conditions you find favorable, yet several times you faield to address it as is and kept bringing up different conditiosn.
> I think your emotional response to this discussion has you conflating commenters.
I think if you're that bad at reading literal text you shouldn't attempt at trying to read emotional state of that author.
> If you want to advocate for configuration to allow focus stealing that's fine
So why do you keep arguing that it's not fine because you can't imagine a situation where it is?
> But you've been arguing as if it's silly that anyone would want it any other way than you.
Nope, that's you misreading again. I have no issue with people who want a dumbed down "never steal" config.
Maybe the silly part here is people ostensibly supporting computers respecting user choices arguing against being able to better configure your computer to respect user choices.
If computers could read thoughts and 100% reliably determine when the user is done with their current task and would like to switch back to the other application, then yes, it would definitely make sense to implement the functionality you're describing.
In the real world, where it's impossible for the OS to distinguish between the "You stopped checking in the first 0.5 sec while the app took 1 sec to start" scenario and the "you're still busy with the current task and don't want to switch to the other app yet" scenario, the safe choice is always to not steal the focus because the cost of switching too early is significantly higher than the cost of not switching.
It's not what I would call invisible, but yeah that's the behaviour I would expect. That's also similar, to what already happens when I type in one window, while I scroll in another.
My expectation is described in the comment you replied to and side comments
Microwave's ding is also bad UI, especially when it's repetitive as it's just useless noise. But even the first ding - what value does it have if you already have exactly the same notification category - audio cue - built right there in the process: the machine noise disappears when it stops working.
That! I don't want apps to steal focus in some conditions. I can't set it like that because the settings are too primitive. Why would I be satisfied with a primitive binary toggle when I want workflow-dependent conditions?
Let’s say you’re controlling a piece of machinery with an app in the background and the machine starts on fire. Wouldn’t it make sense for the app to steal focus so it can show you some alarms (in addition to audible alarms which you may not hear because they’re in another room).
> I opened Slack on macOS, the icon kept bouncing in the dock for a few seconds. I got impatient, switched to Ghostty, and started typing. Just then, the Slack window appeared, stole focus from Ghostty and the git pull command was sent to the group chat.
I still don't understand how a full focus stealability debounce is not the norm. If I am in the middle of writing, or interacting with one UI bit in any way, no other app should be able to steal focus, full stop. Add an annoying popup if you want, make angry computer noises, flash icons, I don't care. 99.9, if not 100% of the time, it's completely unrelated to what I'm doing and can absolutely wait. While some OSs have something along these lines, they also give the tools to bypass it (I'm looking at you, Cisco AnyConnect! Being connected after clicking on connect is not an emergency!)
Imagine you're working in a terminal and an app decides to steal STDIN. Why do we accept that for a GUI?
Yes! Few things piss me off more. It boggles the mind that this behavior is the norm, and it happens all the time! There are practically 0 situations in which I want something to automatically steal focus.
Curiously, macOS is capable of putting a recently opened app out of focus. It happens consistently on my laptop when I haven't rebooted it for a while. It may be a bug, but it could be a feature, especially when it's conditioned by the user clicking in another window before launch completion.
For me, macOS seems to put opened apps out of focus when I have started doing something else since launching them, or when they were launched from elsewhere than the active app (eg by a terminal that's not in the foreground).
You can't really debounce it easily due to how the OS event queue work across processes and windows. One fix could be to not bing the focus to newly open windows (like you could in X11) but that's not what users want.
You don't know that until you ask users. That would be a much more useful question than those boring "tour guide on first login" or "please activate cortana/copilot" or "do you want to sync to onedrive" stuff one gets notified on some major desktops.
My preference is focus follow mouse, no focus stealing on new window opening.
The users are trained on their exposure to behavior in Windows, MacOS and non-ancient Linux distros. Good luck changing the expectations of the world population. I believe the GIMP tried that for a few decades.
I agree that software becoming worse (in some sense) but I don't blame AI.
My experiences as a user haven't really changed. Streamers fail to cast to TVs. Browsers are devices which reliably and efficiently propagate red console text and 500s from companies to you. I still see bluescreens on public touchscreens.
Uncle Bob nailed one reason why the industry isn't getting better: the growth of programmers is exponential, such that half of all programmers have less than n years experience (5?).
I offer two additional reasons:
Firstly, you hone your skills doing individual algorithms on a single thread, where it's OK to get it wrong and change it as many times as you like.
When you get a job, you don't even realise you're in a distributed system and the getter/setter model you practiced on is woefully inadequate for interacting with partner systems, cqrs, event-sourcing, auditability, idempotency or whatever else is required.
In short, 10 years of practicing writing for-loops and data-structures will not translate into building a system that customers can access via their phone and multiple tabs of a browser, at the same time as a database schema is being updated.
Secondly, while I don't think there is any realistic alternative to agile development, it seems that nontechnical POs have captured the software lifecycle. 'Focus on happy path only, for the MVP' is how you build buggy software. Good developers can learn that this will guarantee the need for a rewrite in the future, but POs never will.
It seems like the languages have been increasingly targeting the beginner segment (C++ -> Java -> JS -> Python), while the tasks have been getting more complicated (b2b distributed systems, 24/7 uptime, millions of users, resistance to hackers, machine learning, etc.)
> 'Focus on happy path only, for the MVP' is how you build buggy software. Good developers can learn that this will guarantee the need for a rewrite in the future, but POs never will.
And then when the MVP is done, it magically becomes the shippable product. Then just when the team is getting to grips with how to improve the product, management does a reshuffle and moves teams around. "EXCITING NEWS GUYS, congratulation to Jimmy Whatevs for being promoted to SENIOR Director, he will now head-up the cross-functional-operations team which will be folded under the product-support division."
> Secondly, while I don't think there is any realistic alternative to agile development, it seems that nontechnical POs have captured the software lifecycle. 'Focus on happy path only, for the MVP' is how you build buggy software. Good developers can learn that this will guarantee the need for a rewrite in the future, but POs never will.
100% agreed on ProductManager-ism/MVPitis is a cause of so much of this.
One can "do agile" a bit less literally & stupidly.
For a lot of software infra or even user facing apps, you really can plan out more than a sprint or two. This might be the MVP, but there is prior art in the space / competitors / devs with experience on the team. You probably should think about what the app should be capable of 3/6/12 months out.
When you follow a GPS for directions, you generally take a look at the overview first, make sure it's not driving into a lake or taking you to a similar address in another state. My car even shows me the next 3 steps on the path as I go, I like that.
Agile should not mean blindly "take 1 step and only then contemplate what step 2 to take once you complete that 1 step". And yet that is how MANY shops implement it in practice.
Uncle Bob already became part of the problem by some of the stuff he wrote in Clean Code (like using mutable instance fields instead of method parameters). Luckily he isn’t perceived as very relevant anymore.
I generally agree that software has been getting worse, and AI isn't the cause, necessarily, but certainly is accelerating the decay.
Maybe a corollary to the growth of programmers is that pride/artisanship in the work decreases. Bugs happen more when the engineers dgaf, or aren't as dedicated to the craft. Software was pretty solid when I was a teenager (I'm thinking Windows, MSN Messenger, Flash, CDs, general web usage), complaints about tech/bugs weren't as common (or when they did happen, they were major, like BSOD). But I could just be romanticizing the past... idk.
In any case, say we were master woodworkers and we took pride in handcrafting great beds, but now the machines can make beds 150% faster at a 70% defect rate. There's 3 new problems: 1 is obviously that 30% of beds are shit, 2 is that woodworking as an industry is on the decline (expertise vacuum), and 3 is that the master woodworkers are disillusioned, their motivation and utility is decreased.
I believe that in time, the beds will get better, sure (the machines will improve). But in the meantime, huge numbers of people get shit sleep.
Artisanship takes a back seat to the business peoples demands, and the business oriented people have been melding with software people for decades. Still, classes of bugs we used to have all the time are not very common anymore.
But watching large software projects fail over and over again, even when craftsmanship is demanded, often times the only way that good stuff gets in is the unpaid heroics of developers passionate about the project, who want it to be good. There’s so… little space for that nowadays, because there is so little stability in people’s lives.
As a non-technical person compared to the rest of HN, I think this has always been the problem of software made for non-technical audiences. The design was driven by programmers’ heuristics and trends in technology stack (e.g. if a company can hire a lot of JS devs bc JS is trending, they will choose JS even regardless of whether JS is the best choice for the problem).
There was a brief stint of UX, ergonomics and HMI getting traction in enterprise, and, imo, the biggest technological achievements in consumer software has been in the realm of UX in twenty first century. But it lost its importance, I suppose, as you don’t need to make good software to make money off consumers.
Whatever capabilities AI gives to programmers in terms of speed of development, etc, doesn’t change the fundamental behavior —- commercial software is not developed for humans. It is developed for investors, markets, around operational needs, based on CEOs whims, developers’ personal itches, relying on approximation of human experience that gets regurgitated through layers of commercial processes of product managers, UX researchers (who, if present at all, often don’t get invited to the conversation until there are buttons to move in a GUI of an already existing product). Where human experience is considered, it’s from the perspective of our natural weaknesses with the goal to exploit them to maximize profits. Hence why 21st century tech gave us all the dark patterns, feeds, social media, LLM chatbots, etc.
Even when I talk to individual engineers who are committed to creating something good, wholesome, something that they can be proud of -— many think and reason about the problem in a way that sounds like they are trying to engineer human experience the same way one would engineer instructions for machines.
It will never get better, IMO. AI only exemplifies what already exists.
I think the UX and stability related quality will drop at such a bottom low, that some crazy companies will revive the arcane practice of UX and even study it with users.
I am not super optimistic that it happens fast, but we will end up in a situation that everything becomes tedious, annoying and broken. Companies who will do it right will inspire the whole ecosystem. It will be satirical to see the full circle happening, but it's inevitable if we want to keep going with digitalization, even if it means to bring back more hardware buttons.
I am adjacent to UX as a field, and, IMO, it’s in deep crisis itself. I don’t know when or how “ergonomics” in tech became “how to sit in front of a computer” and “design” became “creating visual assets” but even people who work in the field often reduce their jobs to simplified and corporate-optimized simulacras. I am less confident about what’s happening in academia but based on my casual browsing, it’s not better.
You need good experts to do proper research, and those haven’t been able to learn, practice, or improve their craft in any serious manner for a while.
Evidence-based UI design maxed out in 1995 with the release of Windows 95. Evidence-based design was popular in all sorts of areas back then. Star Trek: The Next Generation (1987-1994) I think is the gold-standard of set and costume design and the modern cartoon mostly follows that design. Cargo pants were in style. The MTA in New York City used this map[0] which was designed by sociologists and psychologists to be maximally useful.
The late 90s is when fashion appears to have started taking over. Apple's logo went flat grey in 1998 and Windows XP was released in 2001 and it's only gone downhill from there. Perhaps it was inevitable. When other people can see your UI, people will start using it to signal things and companies like Apple will cater to that. The designers will then be given way too much power with no accountability and then all evidence-based design gets thrown out the window.
Perhaps this is what you're seeing in academia also?
people have been complaining about software going downhill ever since hand crafted assembler was replaced with C and a compiler. it's the classic "old man yells at clouds".
I think you are right in being optimistic. Time will separate the wheat from the chaff. An I personally hope that free collaborative privacy first software built from curiosity, discipline and devotion will be the norm. Hopefully...
Reddit on iOS safari has been getting incrementally, nearly unusable worse. It had some sharp edges before but it seems they are moving faster now with the same or greater defect rate and shit is getting bad:
- URLs commonly auto-link to the things behind them, even including spaces and words.
- Pinch to zoom on the homepage causes the page to reload. Forcing you to lose your place/content.
- I sometimes cannot click to play videos on the feed. I can click through the comments and then click play on the player.
- Comments pasted from perfectly valid markdown render as whitespace deleted garbage
- Clicking "reply" then tapping in the box makes it disappear. I literally cannot see what I'm typing. I have to scroll to the bottom of the page to find it.
- After typing into the comment box the "comment" button to submit it is not visible
- Being a mod: The dropdown for selecting a removal rule will not let me scroll past what shows on the initial dropdown.
- Rare but critical interfaces like banning a user (or managing an existing ban). Essentially cannot be used on mobile.
- When typing responses to people as a mod, depending on the box sometimes I "lose" the comment button.
With Reddit I think it's on purpose. They want to drive users to the mobile app. Maybe they aren't introducing bugs on purpose but not addressing them isn't a accident.
X/Twitter is getting progressively worse for users not logged in. At this point you need to click away the cookie prompt and a prompt begging you to download the app. When that is done you can read the linked tweeet, but you can not play any videos embedded or click on any pictures or navigate up or down in the thread. In a couiple of months I guess they will only display the first 160 characters and nag you to login if you click on 'read more.
I agree with the author. I think everybody has strong or at least mixed feeling agent agentic coding and to me, the argument is always focused on the product itself.
I come from sciences, where the problem of AI is more linked to AI-generated papers rather than coding. Again, the real underlying problem is the pressure to publish at all cost and the ranking grant system which rewards number of publication rather than quality.
I'm sure you could say the same of AI-generated images, sound or video used in advetising, or any field where AI generation offers a shortcut. The problem is always that you need to produce as much results as fast as possible and quality is not the objective. The problem is always the KPI.
Right now, the majority of companies I interact with seems to look at their now (let's assume) increased capabilities, and turns up the speed. But there's other knobs to turn up instead. Robustness, quality, user experience.
Optimistically, I think we might just enter a new phase at some point, where businesses make very conscious decisions about what to invest in to differentiate. Like, everyone has support bots now. Where do we invest, absolutely stunning human support? Or is support not that key and we should invest into being the most reliable? The most enjoyable to use?
But that defeats the whole point of AI, as far as business is concerned. You could describe most programming languages as working the same way and having the same limitation. If this is true, then AI will simply mean you'll have very highly paid AI experts (who know how to do X with AI) that you absolutely need to hire or your competition will run at 10x your speed.
Can confirm. I just had a nightmare experience with a company where the customer service sent very ChatGPT-like replies and seemed very unreasonable and AI like. I had to threaten legal action to get my money back.
Role Collapse might work in this type of situation: prompt your own ChatGPT to decide a refund with a very permissive refund policy, copy its thinking, paste into the next support message after your prompt, and their ChatGPT may believe it's its own thinking.
The Role Collapse attack is that LLMs turn out to ignore role tags (input, output, thinking) and identify role using writing style alone.
Funny you say this. I _almost_ tried this. But it did feel like a person was doing some copy-and-pasting and watching closely, so it wasn't 100% automated.
> Where do we invest, absolutely stunning human support?
That's a complete non-starter unless you're serving some extreme luxury premium market with absurd margins, and/or your customer interactions already require a lot of human involvement. So 99.9% of digital products are right out.
Good human support is absurdly expensive and will easily make your product 10 times more expensive than your competitor's. But almost no customer is willing to pay 10 times more for good support.
I disagree. I’m biased but the customer eng/support team we created at stainless was really good and that was a key differentiator during sales calls and post-sales. It’s expensive if you see it as an afterthought and just an expense you would prefer to avoid, but we approached it as an enabler role, a multiplier of sort: ensure customers feel they engage with peers, provide guidance to the eng teams, enable salespeople to engage meaningfully with technical teams, etc. For like a year it was basically just me and an awesome colleague handling the whole thing full time. We took the very explicit decision to have it as a very technical role and designed a culture that sees it as essential to the business (because it was), and that worked really well IMHO.
If you create a startup you really want to focus on a small audience that you understand and know really well, instead of chasing everyone. And for that a support team is one of the most important asset you have
the key differentiator is whether your business is aiming to provide a quality service, or is desperate to eek out as much profit as possible.
my example: A&A — uk internet service provider.
costs like twice as much as a normal service per month. but if i have a super technical query im on the phone with a fully fledged engineer in about 2 minutes flat. the kind of engineer that can discuss complex dns issues. i’ve had one help me debug a dns issue from a work site. it turned out quite quickly it was nothing to do with them but he hung around on the phone for 10 minutes anyway.
the first support person i ever spoke to was michael from wales. if i had to call up he was the first voice i would hear for years. he recently moved on and i was sad. we’d have a decent chat. big up michael from wales.
so, as it applies to at least one existing business — you are dead wrong. it might be twice as expensive as the people trying to maximise their profit margins, but it’s definitely not 10x more.
Apple has pretty stellar support in my experience, and while I don't buy Apple stuff for other reasons, this is a strong attractor. For B2B products/services, it can be a huge differeniator as well, in my experience. But it was really just an example, it might not be the call most companies make. Maybe most will still just invest in being faster or cutting costs. I just hope that's not how it's gonna be.
You gotta be joking. Apple has no support at all, and if you ever go into a shop at their "GeNiUs BaR" (after booking an appointment days in advance), you will get extremely poor service and incompetent support.
I never went into an Apple store, but the phone support issues I had (even a pretty complex bug on their end that locked me out of my account) where handled swiftly and well, and I spoke to humans that seemed to know what they're doing. I could say this should be the default and I shouldn't be impressed by it, but unfortunately it's top 10% based on my experience. I'm in Europe though, maybe they do things differently here.
Used to work at an AppleCare call centre. Apple has extremely high standards for their support advisors. I'm aware that the genius bars are terrible, though.
Counterpoint: Take a look at consumer cellular. I would say it’s drastically cheaper than verizon, at&t, or t-mobile, but the customer support is better than all 3.
Ting also has (had?) excellent customer service. Call the 800 number and the first thing you hear is “hello” from an actual human who has the ability to help you. They also didn’t charge a lot, which makes me think great customer service is a choice.
Last year I bought a book from Amazon for over $100 and they sent the wrong book. I contacted Amazon support, they said they will refund it, I don't need to send it back (throw it away if I want), and also give me a $20 credit for the inconvenience.
A month later, no refund. I contacted them again, they said unless the book is sent back, no refund. I told them about the previous conversation and they said that the CSR had lied to inflate his scores, and if I've thrown the book away I'm out of luck, he generated a return label. I complained and they threatened to close my account unless I send verification documents. I didn't, I just sent the book back and the refund processed automatically.
About a year before that I had a Samsung Fold and it cracked down the middle. I told Amazon that it was only 6 months old and it was broken, and Samsung said I need to send it to Cyprus for some reason. Amazon said to send it back for a refund, I did, and I got a warning that I'd returned something "not in original condition" and next time I'll be banned.
Last week a package didn't arrive. I queried it and there was no longer the option to talk to anyone, just a link to phone numbers for the external courier.
So I would say that Amazon having stellar support 15 years ago, building a brand on it, and then choosing to stop doing that mostly proves how wrong you are. Sure, you can still sometimes speak to someone, but it's getting worse.
FYI you can sue them in small claims for this. This is one of the languages that companies really listen to. You would have to have actually thrown the book out in good faith, though, or commit perjury. Remember the airline LLM support bot and the bereavement fare?
Haha yeah, Uber, Amazon, Starlink, Hotels etc just send me stuff or refund without even asking anything. I use all of them all the time for everything; that indeed seems to help. Logical of course.
But that could just mean you are a more profitable customer. And that could be influencing how amenable the AI/agents are and how much money they are willing to write off to retain you.
According to the comment I was responding to, he got 3 bad experiences out of 3 orders, so 100% rate of issues. What's the expected rate of house fires?
Both you and the other commenter about his grandma's smoking habit are making nonsensical comparisons about things that are extremely rare, to support something that is supposedly extremely common, if you were to believe the parent's comment (or other stories you read online).
Amazon has a big problem with "unifying" products that are in fact not the same thing.
At one point I was looking through editions of the Arabian Nights and I noticed that, while the "kindle version" linked from the page for the paperback of one edition was an unrelated book, an actual kindle version of the edition I was looking at did exist elsewhere on the site.
I was annoyed enough that I opened a chat with customer support and asked them which of the two ebooks (one linked as "the kindle version of edition X", but with a different translator, title, cover art, etc; one not linked to the paperback at all, except for the identical translator, cover art, etc...) was the kindle version of the paperback.
A few days later, the links had been fixed, and the "kindle version" link on the paperback's page went to the kindle version of the same book!
> Software may have been better back in the day, but that was mainly because it was much simpler. ... The bar for “user experience” has kept rising, but everything has become increasingly fragile.
It was simpler, better, more stable, _and_ had better UX.
Complexity does not equal quality. In fact, it usually points to poor design. Programs used to be seen as utilities, which enabled the same kind of mentality you have to any specialised machinery: "Here's a thing that can make your life easier. Learn how to use it". Now programs try to be all-singing-all-dancing-all-the-time-changing.
> It was simpler, better, more stable, _and_ had better UX.
It had less features too.
Now, I do agree doing more doesn't mean that something is necessarily better... but I think the UX difficulty increases exponentially as more features are added.
Absolutely, and in my opinion it's a mistake to keep adding features. My word processor in the 90s did one thing, and it was fine. In fact, there's a niche crowd trying to re-create that experience right now (distraction-free "writerdecks"). All software used to be like that, and I for one was a lot happier with the situation.
While there is increased complexity on top of all the software thats being built today, I reckon the focus on speed (and shipping to prod) over quality has also led to the increasing number of bugs. The mindset shift from shipping quality products (not just software) to shipping something that is good enough has been the mantra of management in recent years. When business schools and tech leaders prioritize the idea that we need to be more agile and every sprint needs to be a production release, these are the results we get.
> I reckon the focus on speed (and shipping to prod) over quality has also led to the increasing number of bugs. The mindset shift from shipping quality products (not just software) to shipping something that is good enough has been the mantra of management in recent years.
I wonder how much of that is just what management always wanted. Peopleware (https://en.wikipedia.org/wiki/Peopleware:_Productive_Project...), a VERY GOOD book about software development written in the 80s, talks about managers wanting to sacrifice quality an how corrosive that is. It's just that in the past technology forced them to pursue quality: Software shipped on disk needed to be bug-free, because it made bug-fixes almost impossible. Software written by a human needed a human that understands it, who might have some pride in his work.
But now, with the internet and LLMs, we get to live in the slop-world the management has always dreamed of. More tickets, closing faster! Less headcount, less talk! Artificial workers that don't talk back! Who cares about all the rest?
> My banking app requires, on average, three FaceID logins before the 3D Secure confirmation view appears.
That's a different, equally big problem. Security mafia at every company will continue to rule everything and everyone. They do not have goals or constraints that are tied to productivity and user experience.
We are heading to a situation where the security teams are causing much more damage compared to the possible attack vectors. While this damage is real and certain, the damage due to attack vectors is only hypothetical.
Ofcourse, we do need security. But currently no one including CEO can dare to define how much security is needed. On top of that, regulators do their own share of damage, piling up regulations. No one takes any risk. They will ask you to tie yourself down until you can't move. Your mobility is not their problem.
Perhaps its a slight overcorrection but it's better than the past where an online shop I gave my credit card info to would reply to a forgotten password request with an e-mail with my password in it in plaintext. Security used to be awful and people suffered because of it.
I wonder how many accounts have ever actually been compromised by a MITM reading passwords out of plaintext emails. I would guess it's very, very small.
I believe the bigger failure mode in that scenario is the fact that the site was storing user passwords in plaintext (either directly or effectively). Users tend to reuse passwords, so when there's a breach, more than just the user accounts for that site would be compromised.
No site should be able to give you your password because they should never store it. They store the hash of the password and whatever password you provide is then hashed and compared to the stored hash.
That way, when their security is compromised, the attacker doesn't get your password.
Any site giving you your password is doing it wrong because they should never know it.
One thing you can do to fight back is show up at their branches with complaints. You can engineer this intentionally. Have a bank that doesn't support Graphene? Show up with your Graphene phone and be like "it says my phone isn't allowed. Fix this or I'm closing my account" and there's a 50% chance they will turn off phone hardware attestation for your account or give you a physical 2FA token and if they don't it will show up in their metrics.
That’s a hilarious comment in the world where companies are getting hacked left and right and consumer data is widely available from how many pieces of software have piss poor security. You might work at companies as where dumb bureaucrats have a tight grip on things, but in most of the world, security practices are not holding us back, they simply don’t exist.
Just a little gripe, but near the end of the article he links to a site for something called "Omarchy" which appears to be a Linux distribution. If you click on the link, the only information available is in the form of a video.
If you're making a Linux distro, please don't do this. I will not watch your video. I was interested, and now I'm not.
I've heard the meme that Omarchy is for people who would like to use Arch but don't want to read the documentation or follow the installation guide. Having a video and no text sounds like it would align with that target audience. If you want information and not a video you'd want to look at Arch instead, it has an excellent wiki and the best documentation of any OS I've ever used.
Omarchy is basically just Arch with a bunch of configuration. It's not a particularly useful project, and the author is noted fascist DHH. So probably not worth your time.
I think more precise terminology would go a long way here.
What is "a fascist" (in context of being labelled that on the interwebs). That could mean a lot of things.
As a reader, you learn basically nothing about DHH other than that some people might not like him.
___
So to fix that:
DHH has always been a very opinionated guy - with not all of those being agreed on, but there being usually some kind of point to them.
Starting somewhere late-ish last year, however, he seems to have dropped deep through the alt-right pipeline and started babbling talking points basically copy-pasted as-is from other talking heads.
So, in essence, he kinda stopped being opinionated, because that would require having an own opinion, and instead started just being yet another person not doing all too well mentally on the internet.
I mean the guy suddenly started talking about "body counts". What's his age again?
__
Of course, moral outrage happened but achieved absolutely nothing, because it's not the right tool for the job here.
Sorry to say, but that word probably has an equally low impact on regular people by now.
Worse if we look at what people actually think/vote/etc.
People by now at large seem to be rather fine with both being called racist or just.. well.. being racist.
We do not actually want that, because (big surprise upcoming) racism is bad.
But I think we might need to remind people why that whole cluster of ideas is bad.
This shouldn't be too hard, given that it's objectively worse in many many aspects, but for that to be seen, I suppose we need to point out what makes it objectively worse.
The shorthand is unfortunately dead and got killed by twitter dot com.
__
How that could be done is how I've demonstrated before you've regrettably dismissed it and tried returning to the shorthand
I edited my wording before I saw your reply to take the word fix out.
> People by now at large seem to be rather fine with both being called racist or just.. well.. being racist.
I disagree. I do not get that feel at all in real life (in the UK, BTW). On Facebook you get that feel because it is full of ragebait and attracts nutters.
There are some people like that, but most people would be deeply ashamed to think themselves racist or be thought racist.
Edit, to add: DHH also seems to have a weird obsession with the UK. At least two of his racist blog posts about the UK. His first racist post that I was aware off is essentially "two many non-white people in London".
Hm. I mean I would wish that your observation is correct, but I kinda doubt it.
Doesn't match what I am seeing outside of the Internet.
But, regardless of that, I still believe that shorthand terms and indirection are a less clean solution, and, if possible, the cleaner one with less dependencies should be used.
> Doesn't match what I am seeing outside of the Internet.
Where are you? It makes a big difference. I am talking primarily about the UK, where I have lived in different areas and know a variety of people in many different places. It is, in my experience, a society where racism is relatively rare: https://pietersz.co.uk/2023/08/racism-culture-different
I would not say there is nothing to worry about - I find the riots nasty and definitely worrying. There is definitely greater hostility towards certain groups: asylum seekers and Muslims for a variety of reasons. There are lots of complexities about this, and some genuine issues too that have not been dealt with, which creates an opportunity racists exploit.
However, I think its very much a minority view. Even Tommy Robinson's "Unite The Kingdom" protest which DHH blogged about and Musk backed etc. and was supposed to be the far right's big show of support was much smaller than many other protests for many other causes over the years (for and against Brexit, Gaza, etc.) in recent years. I also think it likely even a lot of those who joined the protest have far narrower causes (e.g. anti-illegal immigration) than being fully alt-right.
Where I think I can say things are not as bad as they might look is that these mobs are a few hundred people at a time out of a country of 70m. Maybe a few thousand at the most actually violent at some point.
As a visible ethnic minority person in the UK I can say I am not terrified. Concerned, yes, but its not even a major issue in my life.
For example in his latest blog post he first describes problem of growing populations of wolves that are killing sheep and cannot be shot because they are protected by the state. And then starts to compare the situation with danish gypsies (Romani) in danish cities.
That's as close to fascism as you can get... it's pretty out there on the edge of legality.
I mean I used to respect his (at the time mainly technical) takes and I recommended Basecamp to so many organizations. How has this table turned so much I have no idea.
I went to his blog to have a look at his racist posts, and that (which is the last post on his site) is more unhinged than his previous posts. A definitely trend of getting worse.
Nothing on this list screams explicitly nazi to me, but this is a long list for things that are believed mostly by neo-nazis. Like heavily complaining that London isn't racillly pure enough. And supporting a prominent political figure who believes every Muslim is a terrorist. And complaining about "woke" all the time.
so it depends if you believe that everyone who supported the nazi party was a nazi, or only the people who actually did the holocaust.
One could argue that fascist run FOSS projects might be working against your interest as a user.
Fascist is not just a silly label. The political collapse of neoliberalism made a lot of closet fascists emerge and they seem quite common among what was earlier thought of as "techno libertarians". E.g. the VPN provider owner (forgot which) just lately.
If there was too much crying wolf 15 years ago, doesn't really matter now anyways.
> One could argue that fascist run FOSS projects might be working against your interest as a user.
I guess so, but that's abstract and hard to grasp for most people.
"The guy has clearly lost it and thus is probably not making sensible decisions" otoh is pretty easy to understand, signals effectively the same and side-steps basically all the drama.
> "The guy has clearly lost it and thus is probably not making sensible decisions"
That isn't the problem though. Fascism isn't mental instability, it's an ideology. Someone going off the deep end and making bad decisions does so essentially at random, while someone driven by ideology messes things up in very specific ways. In the case of Fascist ideology, the specific ways they ruin things are specifically intended to harm specific groups of people, so I think the distinction matters. Writing it off as the guy having "lost it" obscures the specific goal he is working towards.
I think the trouble you are experiencing is you are basically asking people to change or update their whole framework for looking at the world. The identity portion is to some extent a load bearing column. It's like asking a hunter gatherer to think about individual property rights.
We should probably ask ourselves why there aren't more Mullvads. I think the answer is twofold - first, developers can't business, and second, running something like that carries massive political risk which that type of person is more willing to shoulder. If one doesn't feel afraid to help found a Nazi party they sure won't be afraid to run a VPN service.
>,If there was too much crying wolf 15 years ago, doesn't really matter now anyways.
There was not. I used to think they are crying wolf, but imo, it turned out they were correct all along.
They were paying attention to what these people were saying and doing. They then concluded these people are fascists. Then a bunch of us, not paying attention crowd, came in accused them of crying wolf.
Maybe, crying wolf is about a boy who sees a wolf, causes commotion and protects the village. Then they dont feel like going in one time, wolfs eats them. But, village just wont admit they were obviously wrong and blames the boy.
They are commenting on Omarchy, not DHH other than as relates to Omarchy.
They also didn't recite a wikipedia entry to define what Arch is, or linux, or what distribution means.
I dont think "fascist" and "been a very opinionated guy" are mutually replacable. In fact, insistence on euphemisms like that harmed the discussion a lot and overall culture a lot.
I heard about it but since I also heard it was built by a white supremacist, I'd rather use one that is made by decent people, especially when the added value is only a preconfigured hyprland desktop.
I mean, I'm an everyday Linux user and half the content I consume daily is about the Linux/FOSS world and today is my first time hearing of it. And all the information I have about it is from replies to my comment, because its website doesn't actually offer any details. Genius marketing.
It's by the same guy who started a Rails conference because he was kicked out of a different Rails conference, so that he wouldn't be kicked out of this one.
A lot of the product misses come from large product teams where nobody owns anything, and where there's minimal internal goal alignment. I know that, at work, what I am incentivized to do has nothing to do with what I consider the most important work I could do.... and I also know that the maze I would have to cross to be allowed to do the better work is just not worth it.
The smaller the org, the better the chances of having only reasonable levels of misalignment... but without taking on high risk, it's just better pat to work on a large, worse org. Frustrating.
This is spot on. Also, many orgs build to the needs of the business or whims of stakeholders rather than customer needs. Good product strategy and product discovery remain difficult despite AI.
AI might have made things worse in the last few months but there have been a lot of bad trends on the desktop in the last decade, both software and hardware.
It is little appreciated how USB has regressed. If you have a full-size top-of-the-line desktop machine with plenty of I/O channels you have a huge number of USB 3 and USB C plugs and will have mostly a "just works" experience -- like you can plug in an external hard drive and not regret it. Try a laptop or a pint size machine (say a Mac Mini or a Dell Optiplex 1.5 l) and you'll discover there is no reliable USB 3 hub on the market Maybe you can plug in your keyboard and mouse, maybe, but plug in a USB DAC and a memory card reader and an external drive... "BONG!" "BONG!" "BONG!" Windows starts screaming that devices are dropping out and reattaching and God forbid there is a filesystem you care about on one of them. (MacOS is too smart for that shit, it just assumes the hub is crap and won't reconnect until you reboot)
Plug a cooler master keyboard into you dev workstation and you'll find it overloads the interrupt handling system and causes everything to be janky.
Probably the worst thing about Electron is that the #1 applications use it, instead of making a web application, is that they can't stand that you might be able to find the application and start it the way you start a usual application (or web page) or be able to find the window when you are using it or be able to close the application or move the application window like a normal application window or resize the application like a normal application window or that you might be able to see anything in the tray -- so applications like Slack automatically become crapplications by virtue of inhabiting your tray. It makes everything worse. It reminds me of the later 90's when every crapplet for your printer had to have a completely custom widget set and window chrome.
USB 3.0 powered hubs that give you more USB 3.0 supporting USB-A ports are pretty easy to find these days.
USB-C ones (that actually give you more than 1 additional USB-C port) are still more challenging, but they do at least exist now (after having been virtually non-existent for years). Caldigit, Plugable, Sabrent, and probably others all have models that will go 1 device port to 3-6 USB-C ports now, and are powered with decent power per-port limits.
I do agree the landscape is far more confusing than it was a decade ago.
Those hubs exist, but my experience is that you can't plug an arbitrary number of devices into them and expect it to work and it's not about power but about how resources in the computer are allocated to ports.
In fact, I am pretty sure most of the examples he lists predate AI. Mac OS apps stealing focus certainly does. Horrible laggy car infotainment systems--hard to say without any specifics, but I've certainly had the same experience pre-LLMs. I've navigated the LG website pre-LLMs and it was busted then too.
The complaint is not the focus stealing the complaint is the lag of the chat application starting. So the problem in this case is electron and all the shit that slack has bolted on on startup because "who cares about start up time, everyone has it on all day."
I think MS devs don't even use their windows OS. How do I know this? Because every week my favourite applications list gets reset. Why would anyone do that?
Software has neither gotten worse nor become any better. All you're seeing is the cost of writing code approach near zero. As that happens the speed at which you see defects increases. Software is by its very definition "malleable". It is without (or very few) constraints. So it is very hard to get "prefect". That is why IMO Site Reliability Engineering will be one of the few fields that will remain, because until we build an _actual_ goodness to gracious Intelligent System that can think critically, including how systems can fail (which includes humans), software will be what is hat always been "soft".
Complexity + a lack of incentives to take time to get things right.
Imo we know the tools (social, + technical) to make good software that works. But in the face of massive complexity, people just want the next feature, the next thing sales can use as a win
And yeah I agree with the other commenter here - I don't think this is AI. We had terrible software before, even declining quality.
Agree with all of these gripes, they are everywhere and none of this golden age of SWE productivity seems to be making products better.
My other biggest pet peeve in this space is the annual iOS updates where Apple arbitrarily moves buttons back and forth between top and bottom of screen.
They really like to screw around with the photos app such that "show me my photos most recently taken in time order" is somehow different set of taps year to year.
You see flavors of this in most other apps/websites.
I'm doing the exact opposite: I'm maxing out my PTO and taking long holidays. I'm pretty sure I'm not going to be in this field in five years time so why bother. It's time to figure out what other passions I have apart from programming.
Programming is going to be like ceramics or pottery: you can grab a nice set of bowls at IKEA for $10. We are doing the artisanal pottery that no one really wants or cares for.
Unlike IKEA pottery, programming has the zero replication cost thing. You can spend years working on a better bowl and still sell it for $10 at IKEA and make money. Heck, if your bowl is so much better, maybe IKEA will hire you as a supplier.
It depends on whose perspective you consider the problem. An enterprise produces software for one reason only: make money out of it. And it works great!
if you are a paying customer, and if you can choose among a few different solutions, then you will get the good stuff. But for the rest...
1. Free apps? They just need to take ads in front of your eyes.
2. Software embedded in cars? You choose the car based on other merits, the software just needs to not by horrible.
3. Automated customare support? When was the last time you choose a fridge over another because of the quality of its customer support?
Other than techbros and a small group of AI-delirious fanboys, no one is euphoric. Normal people in the industry are between anxious, scared, exhausted, resentful, resigned or just plain sad. People outside our industry? They see the enshittification clearly, and are most certainly the opposite of euphoric.
I'm confident to say that right now, AI already does a better job at turning a well-specified requirement into working code than the average meatbag I've personally encountered.
It's still useless at many other things that make a complete Software Developer, but let's be real: Programming (requirements in, code out) is solved for the stuff I'm involved in.
Since upgrading iOS, my iPhone (13) will:
- sometimes fail to open the camera
- make the bottom half of the screen blank when you do email searches
- use more battery
- become unusable if you turn on any transparency effects.
This is probably going to sound elitist, but it is how I've been seeing this whole LLM thing play out.
I don't necessarily believe in 10x devs, but there is a very clear output difference between various developers. During my career I've been both in a position where I was delivering much higher quality code at a similar pace to other coworkers and also mediocre code at a slower pace. Sometimes at the same time.
Now, AI itself is a force multiplier. Depending on the task, your setup, your skill level (both as a developer and with LLMs), the weather, the model and so on, it can range anywhere from actively hindering you, to solving the entire thing for you. Let's say that on average you get a 20% productivity boost.
If you take a 0.8x developer and give them a 1.2 force multiplier LLM, you get a 0.96x developer. Worse, the axis that has moved is speed, not quality.
All this to say that if you let a below average developer vibecode, you get a much higher volume of slop. You can make an agent create good code, but this developer didn't care before so why should they now?
*Note that this is from experience. I've started getting feature PRs from our devops team. It's been a very enlightening experience.
> There’s no denying that these new tools have already revolutionized how we create and use software. They have raised upper management’s expectations for team output. They may have
Expectations is neither about creation not use. "May" isn't a revolution outside of the historic calendar, so on both counts it's trivial to deny an ungrounded statement.
> So why does software keep getting worse across the board?
Because the premise on which the expectation is built is wrong?
Also plenty of the issues are prehistoric with all the past meat bag generations to blame, case in point:
> Just then, the Slack window appeared, stole focus from Ghostty
So who stopped that huge fruit corpo from doing the very basics of managing user experience in the past few decades minus a few AI years?
> As I’m writing this, we’re in the middle of an AI-induced mass psychosis.
I work in mediation and have recently seen a few cases where I’ve wondered if the participants were suffering from AI psychosis as related to their claims: where they’d constructed their legal cases hand-in-hand with an LLM and had become absolutely convinced despite a contestable set of facts.
People have always been subject to delusion, but in these cases, all documentation submitted was obviously created by chatbots.
That’s why i‘m using claude to literally write everything for myself! I cannot fix software-problems in my car or my fridge or my heat-pump. But I can start by replacing my own infrastructure!
rant first: oh, I recently heard about you from a friend working in a company after I mentioned that I also got into photography. Nice work on pixelpeeper.com
to the article: Yeah, it's different world out there. We need to filter ideas instead of focusing on more features, as lack of staggering revenue growth suggests it might be that more doesn't equal better. The stability of apps is getting worse lately. I couldn't pair my sony camera and it was stuck on pairing screen :(
My assumption is that AI-generated code explodes the flaws in your existing codebase. If your architecture is bad or not documented, your docs are out of date or the goal of the feature request is vague, how should the AI (or even a good human developer) develop high quality software?
> Until this attitude changes, the great software quality decay will continue.
It won’t change cause nobody cares to do anything other than complain, I don’t see developers quitting en masse from companies that refuse to pause feature churn and focus on quality. Why should they? They get a paycheck, everyone ships crap, the world moves on. The people making the frameworks and now even runtimes are of the same cloth, overworked and underfunded.
If we cared we’d treat software like real engineering. We don’t and therefore we’re quite cooked. Just be happy that airplanes aren’t as bad as your average CRUD. For someone who does care, look at the SQLite codebase, every project should be like that even if development cycles would be 3–10x longer, but that’s delusional to say out loud.
AI just revealed that - with slop being produced at increasing pace and test coverage and verification methods of things working properly across all states and inputs being nowhere to be found.
That's a good description of some roles actually. Instead of describing myself as a developer or maintainer of some backend system I might call myself a gardener of it.
I think the flaws have moved. I remember Mac OS 7-8-9 (”Classic”) fondly and the suite of software I regularly used there.
It crashed, and crashed hard, a few times per week. That never happens today, maybe at most once a month.
However, what has changed in terms of quality is that there are 1000% more smaller bugs. I never felt that small annoyances or problems were even noticeable or even existent back then. Every feature seemed to actually work. Yet just so far today I have encountered over a dozen small problems in my operating system and apps I use.
It’s exhausting in a different way. Two decades ago I felt ”safe” from problems by frequently saving my files. Today I dread having to navigate a UI that keeps giving me a thousand paper cuts of small bugs.
It makes a difference to my experience as an end user and that is what I am talking about.
I work in development and programming and with all the modern tools and testing frameworks and QA engineers and analytics and modern language we seem to only have achieved less crashes and more non-crashing bugs. It annoys me and I am a bit ashamed at my own profession.
> This quarter, we won’t be releasing any new features, and we have no plans to redesign anything — we will exclusively focus on fixing bugs.
IME this happens more often than people think. If you’re leading a team part of your job is to manage the expectations of those around you and explain your choices. If you do that well you can absolutely have quarters where you only pay down debt, it doesn’t require some huge attitude shift in the industry. Just explain why it’s the right thing and then do it.
It probably comes down handing over power from the user to capital which is antagonostic in its nature to the users' needs.
Running non free software is essentially giving up our freedom. Before internet connectivity the problem wasn't too bad but nowadays there is always the temptation to squeeze the lusers.
I have the same impression when I use things that are around me every day. Everything is broken and seemingly nobody cares. It seems that the teams developing software never use it themselves and do not care about bugs and terrible usability problems. It seems the management does not use any of the products that their businesses produce. And it seems that the ubiquitous breakage is just accepted as the status quo.
This extends to any device which has software or firmware: banking websites, banking apps on mobile phones, car firmware, etc.
I find it very depressing, especially when I think of the people who design, develop and deploy these apps. We are talking about large companies and teams of people. Entire chains of well-paid people designed, looked at, developed, tested, and then accepted these apps. And yet they break in the most obvious ways, or fail to be usable, instead pestering us with pop-ups and useless drivel and forgetting their state at every point.
These problems are not subtle. To take a glaring example from my everyday life, in my car there are buttons for moving windows up and down. Sometimes when you press the button to move the window down, it will actually start moving up. We are talking about a simple button that moves a window. And seemingly everybody thinks this is fine?
AI is the private equity of software and digital media, it makes the first 80% way easier and the last 20% way harder so no one bothers with the last 20% anymore. It’s the ultimate enshittification tool.
Those two twitter links with people that got hospitalized might just be people trying to get their 5 seconds of internet fame by (pretending to be) doing something dumb.
So taking it at face value is kinda part of the problem here.
The only way this can get better is by completely suffocating it off attention.
It doesn't exist. It's not real.
I think the article misses a bit the main focus. For instance:
> My LG fridge started making weird sounds, so I tried to file a warranty claim, through a multi-step form with countless fields. It failed with a submission error at the very end. And I only found out because I looked at the JavaScript console.
Has that JavaScript code been written by AI? It may be more likely that it was
written by humans. Well, the design of JavaScript really sucks, the language is
both successful and horrible to use, in my opinion. And we have that issue across
the board. Most programming languages really suck. C, for instance - that language is an abomination. But it is even more successful than JavaScript. Today I ran into the issue that I can not compile libpng; I keep on bailing out at it unable to find setjmp. About two months ago compiling it worked fine. I most likely did screw something up on my local system but ... the compiler is an idiot. It really does not tell me WHY it can not compile it anymore. Yes, it shows on the commandline that it assumes setjmp to exist but it can not find it. The error messages are pure and bogus. And the whole design of C cascades this horrible crap downwards. The languages that supposedly try to replace C also suck. Go? Yikes. Rust? Even more verbose. C++? Trying to replace C since decades. There is a ton of inertia.
The whole stack is utter gutter trash really. Everything is build up atop layers of complexity that in turn are not really well designed at all. Meanwhile more and more software is added. Now I need python due to meson, and meson is better than what came before. But it adds complexity. And has its own problems too. AI does not really fix anything here, it just AI slop spams on top of this. We kind of lost big at engineering. People are in general also not critical anymore. The design of most programming language shows that - including ruby, but ruby is barely used, so really the issue is mostly about C. The fact that C is so successful makes this even worse, since nothing replaces it. We just keep on adding more and more. Or we go the C++ way - and make it about 50x as complex. Or Rust - that syntax is even worse than C syntax which is also horrible. Of course even with great syntax and a great language, horrible software will be written. Companies want to offer a billion useless features. Many years ago I thought it was cool if my fridge tells me what I should order. Since the day of companies spying on people, I go back to simplicity at all times.
MacOS contstant trolling with tab switching. I regret each day of life I need to use this shitty OS because of corporate. In linux these things will never happen
> If coding has been solved, why does software keep getting worse?
I mean, he has given the answer in the article: Because "coding has been solved" is from the perspective of upper management, not devs or users - and that cares about software quality and usability (as standalone metrics) about as much as the McDonald's board cares about nutrition value.
Use open source everything. If you have the source to something, you can change it. If you can change it, you can fix it. Run Linux and Firefox. Fork every last damn program and have AI fix every papercut that you don't like.
> I opened Slack on macOS, the icon kept bouncing in the dock for a few seconds. I got impatient, switched to Ghostty, and started typing. Just then, the Slack window appeared, stole focus from Ghostty and the git pull command was sent to the group chat.
Back when I was using IRC from Emacs (with erc) I had written a safeguard in elisp against that. Haven't been on IRC in a while but this helped me prevent sending to the "group chat" (the IRC channel) a great many private infos.
Same for my real name for example: I had a filter where anything containing my actual name would be blocked.
I think a great many software where you "chat" with "groups of people" would benefit from having both default and configurable filters that catch obvious mistakes. Say you probably want a confirmation before attaching a private SSH key, or before sending a password in the clear (which could be filtered by blocking words matching the hash of the password), etc.
Not that it solves the fundamental problem TFA is talking about: nothing works.
But that is a given: that's why we need safeguards.
I've also noticed so many pieces of software becoming worse and worse, either with useless features (basically any new thing on Slack in the past year) or with a huge amount of large bugs, over the past year.
It's glaringly obvious that poorly checked, AI-written, code is the culprit, I'm just wondering when companies will wake up.
Nobody gives a flying fuck about resiliency, good practices, security or any of that now that AI is there. All anyone cares about is pure output of features.
Any and all "productivity" gains attributed to AI efficiency are actually due to the complete disregard for any care or standard in the software industry in the past 2 years. Yeah you can output more shit when you don't give a fuck, big surprise, AI doesn't change anything here.
> So why does software keep getting worse across the board?
The issue is only partially within those who code. They get directions from those in charge, and they are just making idiotic decisions. And those who code, for some reason don't stand against those idiotic decisions in defense of a common sense and a great UX.
A blatant, exaggerated parallel would be: you are designing your kitchen and you've chosen a place for your washing machine such as that it will be unable to open its door. When inviting a professional, you expect them to correct such wrong decisions and explain to you that it won't work. But in programming, those who program, calling themselves "software engineers", would just place this washing machine where they're told, because it's "not my job". It's not a feature of an "engineer". It's being a coder lemming.
God, those "software is getting worse everywhere" takes are tedious.
Let's have a look at a few rarely quoted examples from the last decade, shall we?
Just six years ago, a big company rolls out a line of new chips so good that geeks and technology experts all get ecstatic and can't stop churning endless raving reviews. Those chips are fast, small and consume little energy. On top of that, the big company reworks their entire OS (OS!), the whole suite of software it has for it, the developer suite with compilers and SDKs and god knows what else and also ensures that everything ever written for that OS for the old chips continues to work and it indeed does.
Then there's another big company that launched a file storage service around 20 years ago. Back then it was reliable and only gotten better over the years. They started offering their storage for a nanocent per gajibyte and twenty years of hard work allowed them to lower that cost to a picocent per gajibyte. They don't lose data, they are highly available, half of the internet stores their data at their servers.
And then there's a -- gasp! -- consortium of big companies (fools would reply to this with an XKCD standards strip) that works on improvements to a shared set of standards for 4G, one of the most widely used technology stacks in the world, agrees on it, calls it 5G and rolls it out across the world and the whole spectrum of hardware and software vendors in a manner that resembles replacing a wing of an aircraft mid-flight so that not a single pasta strand falls from the forks of the business class customers.
And here we have someone who thinks that a customer support page for his fridge (fridge!) thrown together by a low-paid second-grade developer in a third-world country is indicative of the whole industry decline.
I actually relate to that. It used to be cool and exciting to update to see what new things are coming for free. I was just looking up what Fedora Workstation 45 might bring.
Updates on phones, TV's, cars and non-Linux operating systems on PC's/laptops are downright scary to me now. What will they add that I don't want? What more connectivity to the external world are they going to wire in?
MacOS lost everyone's trust by ruining the experience, but even before it happened that trying to resize a window makes it feel like life will be at 80 years-old, hunting a tiny invisible border, even before that there wasn't anything exciting.
What Microsoft I think did (and I can't prove it), before I moved off of Windows 11, was to bundle all changes in "required security updates." So you have no choice but to update (or go through special settings to turn it off, or just defer it), but when the machine comes back you have a new Welcome prompt to some new connectivity to something nefarious. AI features I never asked for, that's the most recent dark pattern here.
You know what software doesn't fill me with dread to update? FOSS.
Proprietary software isn't built for users anymore. But (some) FOSS still is.
speak for your clearly non-pulseaudio-using self (:
Kind of...Cumulative Security Updates on Patch Tuesday still do not contain new OS features, and on pro editions of windows you can at least, last time I used Windows (maybe this changed?), still skip quality updates & feature updates.
What Windows does do is tie all the "connected experiences" crap to out of band updates via the store/AppX packages which background update automatically, so when you reboot after a patch windows will run its post update OOBE and push all those features agian/turn them on. So technically not bundled with security updates, but a dark pattern that disrespects users nonetheless.
The AI we have in 2026 cannot do that or it'd have already been done. I use AI daily: it saves some time. But it produces an infinite amount of insecure, unnecessary, sloppy-pasta.
And that sloppy-pasta doesn't make software any better.
This was true already before AI code generation, but AI code generation means the definition of “fast” has shifted like crazy. An experienced engineer can now build in an hour what would have taken them a week.
But it (right now) does nothing for the confidence about being correct - you still have to put in the extra time to ensure the software is correct to your desired degree of confidence.
Unfortunately for people who like their software to be correct (stable, performant, bug free, etc), it seems like way too many software developers right now are happy to take the gains of the former but ignore the tradeoffs of the latter.
(at the same time software quality for mainstream consumer goods like the kind of thing OP complains about in their post has been down the drain for a long time now, and it seems likely many of the examples they give are pre-AI)
From what I've seen, I don't think so if we're talking about like-for-like quality. Maybe as an absolute best case scenario, but more typically it's more like you can build in an hour with AI whereas without AI it might take you 2 or 3.
Even thats highly task dependant, and doesn't scale as you'd expect (eg 1 hour == 2 hours, but 1 month =/= 2 months), and at times even using AI can slow things down, at its worst case more severely than at it'd speed you up at it's best.
Now if you're willing to throw like-for-like out the window, that 1h==1w could be achieved easily, maybe even more. But then again, I feel like I could do a lot more in an hour if I didn't care about quality either, not as fast as AI but much faster than I am currently.
> ...
> But it (right now) does nothing for the confidence about being correct - you still have to put in the extra time to ensure the software is correct to your desired degree of confidence.
You're partially correct - what gives confidence is duration in the field. No matter how long you take to build something, seeing it work in the field for 3 months gives me more confidence.
You have to release, early and often.
There is a saying
Any idiot can build a bridge that stands, but it takes an engineer to build a bridge that barely stands
We found the limits of what it takes to make software stand, and what software paper cuts people are willing to deal with
One of my absolute favourite features on KDE Plasma with Wayland is the global setting to control what can steal focus. It works wonderfully, and I always miss it when I have to use my work mac or windows computers.
See here for docs, under "Focus stealing prevention" - https://docs.kde.org/trunk_kf6/en/kwin/kcontrol/windowbehavi...
NixOS has a longstanding issue where library loading (and therefore program start, particularly GUI programs that load a lot) is n^2, but programs still all start in ~1 second or less on my n100 minipc. I still found that to be annoying enough to look into why it seemed so slow (and learned about the loading issue). Can't imagine things taking so long that you actually switch to another task. The same minipc can easily handle my 4k 240hz HDR monitor as well, and the whole experience is completely smooth.
The computer also just obeys me. It does exactly what I tell it to, and nothing more.
The idea that I need to have window decorations and the “GTK window decorations” configured separately is just …
Anyway, the point is it’s never going to be consumer friendly. Office systems managed by IT teams can switch to Linux no problem. People just complain about “weird work computer setup” and move on. But personal laptops aren’t going to be an attractive proposition.
> The computer also just obeys me. It does exactly what I tell it to, and nothing more.
Is the biggest benefit and point. You can toss whatever UI/workflow style you want on top of pretty much any distro. I absolutely cannot stand the loss of user agency on modern software/operating systems. I have to use both macOS and Windows at work and I hate them almost equally (I hate windows a little more than I hate macOS, but because of Microsoft's behavior, not because of the UI).
I feel like every piece of commercial software and OS now is like Blizzard "You think you do, but you don't"
That's a pretty good description of it, I even have KDE laid out the same way I did on Windows 7 (or more accurately I guess on KDE going back even further since Linux has been my main OS since the 90's with Windows relegated to gaming).
To this day - Taskbar shows window titles, only shows window titles for windows on that screen, there is no grouping, there is no ordering except order opened etc.
I think autonomously in terms of which physical screen a window is on and when it was opened relative to others so I know exactly where to look/it'll be - the Mac style (and Linux/Windows style at least out the box) defaults of hiding all windows for an application behind it's icon in the dock never made sense to me, I have widescreens why do I want a doc that only takes up 40-50% of the horizontal space?.
Not that it's a better workflow, but macOS does make a distinction between hidden and minimized. You can "hide" an app, and all windows will be hidden, only the dock icon showing. Minimize will move that specific window into a separate area onto the dock since macOS treats apps & windows as separate entities.
What I absolutely hate though is you can cmd+tab and bring out a hidden app (but it restores all of its windows which drives me nuts), but you can't for a minimized app without holding option before releasing the keys.
Outside Internet places like HN, most consumers aren't going to Tuxedo, System 76, or building their own Linux PC.
Thus commercial OS platforms keep winning, and the owners are anyway the ones that sponsor most FOSS projects.
Miss Windows 7 by the way, it was when I gave up on The Linux Desktop.
[1] https://www.lenovo.com/gb/en/configurator/cto/?bundleId=21NS...
[2] https://www.dell.com/en-us/shop/cty/pdp/spd/xps-13-9350-inte...
8.1 also ran faster than 7 on a lot of machines, they did a lot of work to optimize it for the crappy tablets which translated well to desktop.
Also the last version of Windows that you could opt-out of telemetry with (until Microsoft backported 10's telemetry engine to 7 and 8.1 via optional update)
But I will say I've had a ton of failure to wake up from power saving issues (resolved by just disabling pretty much every power saving feature, which I was gonna eventually do anyway because I want to be able to remote into the machine), and VLC can cause the UI to lock up because of some XWayland nonsense that they're still trying to fix (I just use Haruna, KDE's default mpv-based player, and it's mostly fine). It's a little silly and was quite frustrating that Linux is still dealing with this shit. A more minor (but still irritating) issue is that each taskbar has its own set of pinned applications (instead of just being identical like in Win10/Win11), so if I change the order on one I need to manually go change it on the others.
Overall, I like it because it's good for development and creating other stuff, the filesystem is fast as fuck (way better than WSL) it's obviously less actively antagonistic than Windows 11, Photoshop has gotten worse so I've switched to Krita which works great in KDE, and I've not been surprised negatively by anything after dealing with the previous paragraph's issues, but a non-technical user might struggle to deal with maintaining it.
I don't understand the plasma desktop though. Why can't I just drag a shortcut to the desktop.
The other side of the news is that the desktop abstraction has been made more and more useless on every OS for a couple of decades already. In any other OS your life will only improve if you abandon it too.
Yep. I, too, get more productive by spending a PhD worth of effort on choosing a window manager.
I kind of settled towards e. g. fluxbox or icewm. Mostly because I don't want to spend too much time configuring anything and these are faster than KDE at all times. Plus, KDE goes into the systemd-dependency and "no more xorg" anyway under Nate-lets-add-more-donation-daemons-Graham. Oldschool KDE was not as opinionated.
I still prefer it over the bloated pile of upsells that Windows has become, but I think there’s still space in the Linux desktop world for a legally-distinct clone of Windows (sans the bad parts). KDE isn’t that, it’s its own thing and is best fit for long time Linux veterans.
Not an option if you have to deal with iOS ecosystem of crapps.
I grant: The process is much more enjoyable than doing similar things on Windows. Kubuntu treats you like an adult and will tell you what's going on, and being able to copy the sometimes esoteric nonsense in those logs into Claude and get actionable information while not remotely understanding the underlying tech is fan-bloody-tastic.
That said it was death by a thousand cuts. Some friends I hadn't heard from in awhile asked if I wanted to get on Warhammer Space Marine 2 and luckily, I had it installed! ... and was able to play after a mere 35 minutes listening to other people have fun on the call, while I was trying to figure out why the game would only launch to a black screen.
So yeah, I wussed out and went back to Windows. I'll probably try again in a few months, and hope the GPU support is better. But that's also explicitly riding on nvidia to do, and they're busy selling shovels to the AI gold-rushers.
So far in 6 months I ran into a single issue: On day 1 of the new Subnautica early access I had to do some debugging and downgrade nvidia drivers to a previous release. But this was fixed after about a week.
No other game gave any issue what so ever. I run everything on the cachy proton version. 4090, 5070 Ti, 5090. All work perfectly. DLSS, Frame gen, older titles too.
If you want to there’s convenience flags to auto upgrade things like DLSS to latest versions etc. It’s not something you have to use, but I found it really nice compared to the Windows equivalents.
I’m so beyond happy to have zero Windows left in the house. :)
That is for games specifically. For video with mpv it just works in my experience. Browser support is still a quite hit or miss.
This means so much to me in the modern era. Contrast with the SaaS approach that's also been leaking into Electron apps, etc:
- "Something went wrong"
- "It's not you - it's us :-("
- "An error occurred"
- "Uh-oh..."
- "Too many penguins are in the defrobulator" [or whatever "lol so random" 2010 corporate mascot in-joke is applicable]
People used to make jokes about cryptic error messages with alphanumeric codes but cryptic beats cutesy and completely uninformative every day of the week. The days of people being intimidated by computers have been over for a while now so I'm sure I'm not the only one who feels this way.
Oh, I wish...
We have a couple of applications where we used to show useful error messages that users could copy-paste to us when they opened a ticket. We had to remove them because they scared some users. Now, per our customer's request, we sometimes only show "ERROR". Yeah, that's better...
Also, in the ticketing system we have to hide technical messages when passing the ticket between teams because the user would interject telling us they don't understand (which is ok, to a point: they have all the context they need to understand we're not talking to them, but ok...) but some would get really angry and frustrated and complain to our customer's IT that they don't want to see the technical stuff.
Also, my parents that get scared if something in red with numbers shows up on their screens.
(Spent some time last year supporting students online - noone was going to take a screen shot of their laptop so we ended up with them emailing photos off their phones)
What? That has nothing to do with KDE. And Ubuntu is one of the happy paths for driver support. The problem is squarely on either NVidia or overly pretentious commitment to FOSS and only FOSS.
I just switch devices depending on context and needs. If it were me, I'd just use the gaming PC as a console.
Nevertheless, the OS could conceivably track whether there was any focus change since the process was launched or since it received the last key-press or mouse-click event, and only allow the focus change when there wasn’t (and otherwise use a non-focus-stealing notification mechanism).
It’s too bad that the art of building lightweight applications is becoming a lost art.
The single most soul-crushing experience I have on today's tech is the whoopee cushion.
I type this on a touch device that randomly Cheevers the words. (It literally changed "changes" just now. Henceforth, my word for this shall be Cheevers.) it Cheevers the words. It offers suggested words that you can tap to complete the word you're typing, and milliseconds before your finger makes contact with the screen, the suggested word flips to Cheevers and your finger taps that.
Now with the new improved iOS Liquid Glass, and possibly with janky web app development kits, buttons can move as you try to click on them. UI animation was supposed to help the user. But helping the user is hard.
Pop ups. The web needs more pop ups. More "Are you enjoying this app?" in your face.
But on the desktop, I recall complaining to a Windows (the OS) developer about stealing focus... in 1995. At the time, classic macOS tended not to do this, but it happened quite often multitasking on Windows, and I couldn't offer any constructive feedback, no obvious solution.
The sheer unpredictability, at 100 millisecond time scale... a few hours of this and I'm literally shaking. Because it affects muscle response, a startle reaction. Keeps firing away at the limbic system.
If I wanted slot-machine online gambling levels of simulation, I'd go to a casino. I hate this stuff. I hate where "engagement" metrics and the quest for more clicks has brought us.
Make it stop. I'm trying to work, here.
Yes, it has the magical setting to fix all of your problems and frustrations, and yes it’s a finicky broken bitch to actually get working for your use case.
I say this with love.
That was annoying, but it let you finish doing what you were doing until you were ready to switch focus.
Dock icons bouncing are usually the result of the app opening a modal alert window. Those can’t foreground the host app and they used to be what devs reached for 9 times out of 10.
These days though everybody and their dog has a menubar item or daemon running in the background (whether such a thing is actually necessary or not) and the only way windows spawned by apps like that (which have no Dock icon) can get the user’s attention and not have the windows they spawn get lost in the shuffle is for the app to call the foregrounding API, and so that’s exactly what they do.
Contrast this to years ago when almost no apps had menu items or daemons and were standalone.
There’s also been a staggering loss of decorum when it comes to these things. Companies have become shameless about pestering the user’s attention, and so there’s probably some regular Dock-icon-having apps that call the foregrounding API when they shouldn’t be too.
In my opinion menubar items, daemons, and foregrounding are all being abused by devs and Apple needs to get them under control. Apps shouldn’t be able to add menu items or daemons without the user’s explicit permission and foregrounding should he treated similarly to push permissions.
For example for this case, the taskbar icon would blink three times and then remain highlighted. So it would grab your attention, but not hold it, and then you could still easily see at a glance which app it was
At some point, like many other things, it looks like this either was changed or broke/doesn't work consistently. But I thought it was a nice design
Between that and this insane thing MacOS does where when I click an app in the dock any random app opens up (and, per above, begins barraging me with things designed to "direct" my attention) I'm ready to switch to something whose primary feature is not acting like the dev team spent the last ten years trying to arbitrarily bump the number of features up and ending up with a giant pile of buggy features that nobody asked for.
And for my final gripe, at least for the next 15 minutes, trying to teach a computer how to do what I mean instead of what I say was a mistake. I learned computers back in the day where there was no attempt at interpretation of intent and instead the machine did exactly what I told it to, and that's how I prefer it because it simplifies the problem space when the machine is misbehaving. I told it to do the wrong thing. That's the only possible answer. But now there seem to be so many layers attempting to interpret meaning from actions that the problem space expands to make room for the idea that I told it to do the right thing, but it guessed that I meant something different and then did that instead. As an example, just trying to highlight something in my Mac's terminal app so that I can copy/paste it. I click the terminal app on the dock, and focus switches to that terminal app but also docker desktop, which is on top of the terminal and doesn't go away when I click into the terminal. Instead I have to interact with docker desktop. So I minimize the app I never asked for, and actually have access to the terminal. I'm using the built-in touchpad and have to select an entire line, so I start from the right with one finger, click and drag. But another finger, or perhaps the heel of my hand, gets close to the touchpad and MacOS is SO EXCITED TO HELP that it decides to interpret that as a right click which results in my selection getting interrupted halfway to bring up the right click menu, whereupon I'm presented with the option to do several things with this approximately 40% of a CLI command including: search for it in webster's dictionary, convert it to spoken word, convert it to Chinese (my choice of traditional or simplified), or try to open it in finder despite it being a portion of a command and not a file.
All of this points to a Goodhart's Law situation where someone decided the size of the pile of features was the measure of the quality of a piece of software, rather than how elegantly it does the job the user bought it for. AI has also significantly increased the speed with which a feature that no one asked for and that doesn't work correctly can be delivered.
Is this workflow part of the Kwin settings? It's not interrupting typing part of the settings?
You most likely want to return to the main task as soon as possible because that scrolling is just a time filler because you can't do anything productive. So you don't need any notification and extra action, just switch back asap and continue work with as little interruption as possible.
But even in the specific example that depends entirely on what you're switching from and to and for what reason. If it's for something quick non-interactive (I don't know, switch to a file browser to check the file name or something), then yes, you'd prefer to seamlessly be switched back to the main app to do the thing you launched it for.
But if it's not an important app, then yeah, you just want it to be ready for you and switch to it whenever you decide to avoid the launching delay later
"you'd prefer to seamlessly be switched back to the main app to do the thing you launched it for"
Would I? How do you know? Why do yo think so? This is such an odd thing to be sure about.
> Would I?
You would
> How do you know?
By being the omniscient being that came up with the conditions in the first place
I don't care how important the app's developers think their app is. It's my computer, it's my decision how "important" something is.
Let's take the real example I've made up (which is also a situation that happened many times to warrant an automated solution to limit distraction), not a totally different one you've made up because you can't point how the original fails withotu changing the conditions. Also, I've specifically mentioned typing as a different workfow/use case because that obviously requires different handling.
Also, no one else needs to be deciding how my "distractions need limiting" on my computer. I can handle that myself. Provide settings, an extension framework, whatever to allow people to manage their distractions, but don't force that on me and my device.
No, you're committing the exact same error again. You stopped checking in the first 0.5 sec while the app took 1 sec to start. If you're not capable of imagining a situation where this happens like some other commenters, that's ok, but that's a different argument.
> I don't get it, are you not capable of imagining a situation where
You're the one deciding that!!! That's what a properly designed system would allow you to do. But the system you advocate for does NOT. If decides for you that you'll never need it. Just like the current dumb systems decide for you that you always need it
> Provide settings
So we agree again?
Why do you presume to tell me how I perform a task? Do you know how many files I have to scan through to check? Do you know how far the Finder scroll has to move to show me what I want? Maybe it takes a glance. Maybe it takes ten seconds.
I don't particularly care what kind of activity you might be imagining, but nothing that steals focus should be happening without my consent. You have been arguing that it should and then later changing your argument to allowing configuration for such things.
> > I don't get it, are you not capable of imagining a situation where
I don't know where this came from, but it's not in my comments. I think your emotional response to this discussion has you conflating commenters.
If you want to advocate for configuration to allow focus stealing that's fine. But you've been arguing as if it's silly that anyone would want it any other way than you.
Why do you keep presuming you can make up your own example when arguing about a different one??? The original premise "depends entirely on what you're switching from and to and for what reason", so of course if you change your conditions you'll have different outcome re. focus stealing!
> You have been arguing that it should
No, you've been missing the point this whole time.
> I don't know where this came from, but it's not in my comments
It is, I suggested you imagine the case where you'd like the change of focus to happen in response to some conditions you find favorable, yet several times you faield to address it as is and kept bringing up different conditiosn.
> I think your emotional response to this discussion has you conflating commenters.
I think if you're that bad at reading literal text you shouldn't attempt at trying to read emotional state of that author.
> If you want to advocate for configuration to allow focus stealing that's fine
So why do you keep arguing that it's not fine because you can't imagine a situation where it is?
> But you've been arguing as if it's silly that anyone would want it any other way than you.
Nope, that's you misreading again. I have no issue with people who want a dumbed down "never steal" config.
Maybe the silly part here is people ostensibly supporting computers respecting user choices arguing against being able to better configure your computer to respect user choices.
In the real world, where it's impossible for the OS to distinguish between the "You stopped checking in the first 0.5 sec while the app took 1 sec to start" scenario and the "you're still busy with the current task and don't want to switch to the other app yet" scenario, the safe choice is always to not steal the focus because the cost of switching too early is significantly higher than the cost of not switching.
For that it suffices if the window comes to the foreground, but it does not need to steal the focus.
Microwave's ding is also bad UI, especially when it's repetitive as it's just useless noise. But even the first ding - what value does it have if you already have exactly the same notification category - audio cue - built right there in the process: the machine noise disappears when it stops working.
Maybe you do. I don't. With this setting we can both be hapopy.
Also, the presumption that I'm going to wait around for 5+ seconds whilst an opens is unrealistic.
Let’s say you’re controlling a piece of machinery with an app in the background and the machine starts on fire. Wouldn’t it make sense for the app to steal focus so it can show you some alarms (in addition to audible alarms which you may not hear because they’re in another room).
Because the premise that coding has been solved is false. :-)
Not a problem.
But the belief that coding has been solved...
I still don't understand how a full focus stealability debounce is not the norm. If I am in the middle of writing, or interacting with one UI bit in any way, no other app should be able to steal focus, full stop. Add an annoying popup if you want, make angry computer noises, flash icons, I don't care. 99.9, if not 100% of the time, it's completely unrelated to what I'm doing and can absolutely wait. While some OSs have something along these lines, they also give the tools to bypass it (I'm looking at you, Cisco AnyConnect! Being connected after clicking on connect is not an emergency!)
Imagine you're working in a terminal and an app decides to steal STDIN. Why do we accept that for a GUI?
You don't know that until you ask users. That would be a much more useful question than those boring "tour guide on first login" or "please activate cortana/copilot" or "do you want to sync to onedrive" stuff one gets notified on some major desktops.
My preference is focus follow mouse, no focus stealing on new window opening.
I do, this is also pretty bad. User focus is more valuable than that
My experiences as a user haven't really changed. Streamers fail to cast to TVs. Browsers are devices which reliably and efficiently propagate red console text and 500s from companies to you. I still see bluescreens on public touchscreens.
Uncle Bob nailed one reason why the industry isn't getting better: the growth of programmers is exponential, such that half of all programmers have less than n years experience (5?).
I offer two additional reasons:
Firstly, you hone your skills doing individual algorithms on a single thread, where it's OK to get it wrong and change it as many times as you like.
When you get a job, you don't even realise you're in a distributed system and the getter/setter model you practiced on is woefully inadequate for interacting with partner systems, cqrs, event-sourcing, auditability, idempotency or whatever else is required.
In short, 10 years of practicing writing for-loops and data-structures will not translate into building a system that customers can access via their phone and multiple tabs of a browser, at the same time as a database schema is being updated.
Secondly, while I don't think there is any realistic alternative to agile development, it seems that nontechnical POs have captured the software lifecycle. 'Focus on happy path only, for the MVP' is how you build buggy software. Good developers can learn that this will guarantee the need for a rewrite in the future, but POs never will.
It seems like the languages have been increasingly targeting the beginner segment (C++ -> Java -> JS -> Python), while the tasks have been getting more complicated (b2b distributed systems, 24/7 uptime, millions of users, resistance to hackers, machine learning, etc.)
And then when the MVP is done, it magically becomes the shippable product. Then just when the team is getting to grips with how to improve the product, management does a reshuffle and moves teams around. "EXCITING NEWS GUYS, congratulation to Jimmy Whatevs for being promoted to SENIOR Director, he will now head-up the cross-functional-operations team which will be folded under the product-support division."
/i'm an old developer but most have no clue their paycheck comes from actually selling things and not just from typing on the keyboard.
100% agreed on ProductManager-ism/MVPitis is a cause of so much of this.
One can "do agile" a bit less literally & stupidly.
For a lot of software infra or even user facing apps, you really can plan out more than a sprint or two. This might be the MVP, but there is prior art in the space / competitors / devs with experience on the team. You probably should think about what the app should be capable of 3/6/12 months out.
When you follow a GPS for directions, you generally take a look at the overview first, make sure it's not driving into a lake or taking you to a similar address in another state. My car even shows me the next 3 steps on the path as I go, I like that.
Agile should not mean blindly "take 1 step and only then contemplate what step 2 to take once you complete that 1 step". And yet that is how MANY shops implement it in practice.
Maybe a corollary to the growth of programmers is that pride/artisanship in the work decreases. Bugs happen more when the engineers dgaf, or aren't as dedicated to the craft. Software was pretty solid when I was a teenager (I'm thinking Windows, MSN Messenger, Flash, CDs, general web usage), complaints about tech/bugs weren't as common (or when they did happen, they were major, like BSOD). But I could just be romanticizing the past... idk.
In any case, say we were master woodworkers and we took pride in handcrafting great beds, but now the machines can make beds 150% faster at a 70% defect rate. There's 3 new problems: 1 is obviously that 30% of beds are shit, 2 is that woodworking as an industry is on the decline (expertise vacuum), and 3 is that the master woodworkers are disillusioned, their motivation and utility is decreased.
I believe that in time, the beds will get better, sure (the machines will improve). But in the meantime, huge numbers of people get shit sleep.
But watching large software projects fail over and over again, even when craftsmanship is demanded, often times the only way that good stuff gets in is the unpaid heroics of developers passionate about the project, who want it to be good. There’s so… little space for that nowadays, because there is so little stability in people’s lives.
There was a brief stint of UX, ergonomics and HMI getting traction in enterprise, and, imo, the biggest technological achievements in consumer software has been in the realm of UX in twenty first century. But it lost its importance, I suppose, as you don’t need to make good software to make money off consumers.
Whatever capabilities AI gives to programmers in terms of speed of development, etc, doesn’t change the fundamental behavior —- commercial software is not developed for humans. It is developed for investors, markets, around operational needs, based on CEOs whims, developers’ personal itches, relying on approximation of human experience that gets regurgitated through layers of commercial processes of product managers, UX researchers (who, if present at all, often don’t get invited to the conversation until there are buttons to move in a GUI of an already existing product). Where human experience is considered, it’s from the perspective of our natural weaknesses with the goal to exploit them to maximize profits. Hence why 21st century tech gave us all the dark patterns, feeds, social media, LLM chatbots, etc.
Even when I talk to individual engineers who are committed to creating something good, wholesome, something that they can be proud of -— many think and reason about the problem in a way that sounds like they are trying to engineer human experience the same way one would engineer instructions for machines.
It will never get better, IMO. AI only exemplifies what already exists.
I am not super optimistic that it happens fast, but we will end up in a situation that everything becomes tedious, annoying and broken. Companies who will do it right will inspire the whole ecosystem. It will be satirical to see the full circle happening, but it's inevitable if we want to keep going with digitalization, even if it means to bring back more hardware buttons.
You need good experts to do proper research, and those haven’t been able to learn, practice, or improve their craft in any serious manner for a while.
The late 90s is when fashion appears to have started taking over. Apple's logo went flat grey in 1998 and Windows XP was released in 2001 and it's only gone downhill from there. Perhaps it was inevitable. When other people can see your UI, people will start using it to signal things and companies like Apple will cater to that. The designers will then be given way too much power with no accountability and then all evidence-based design gets thrown out the window.
Perhaps this is what you're seeing in academia also?
[0] https://maps-nyc.com/img/0/mta-map.jpg
- URLs commonly auto-link to the things behind them, even including spaces and words.
- Pinch to zoom on the homepage causes the page to reload. Forcing you to lose your place/content.
- I sometimes cannot click to play videos on the feed. I can click through the comments and then click play on the player.
- Comments pasted from perfectly valid markdown render as whitespace deleted garbage
- Clicking "reply" then tapping in the box makes it disappear. I literally cannot see what I'm typing. I have to scroll to the bottom of the page to find it.
- After typing into the comment box the "comment" button to submit it is not visible
- Being a mod: The dropdown for selecting a removal rule will not let me scroll past what shows on the initial dropdown.
- Rare but critical interfaces like banning a user (or managing an existing ban). Essentially cannot be used on mobile.
- When typing responses to people as a mod, depending on the box sometimes I "lose" the comment button.
Are they slowly rolling this out? Did you connect via VPN? I suppose they might finally feel ready to close the doors...
I’m sure it works.
But for me, it drove me to stop using Reddit on my phone.
I come from sciences, where the problem of AI is more linked to AI-generated papers rather than coding. Again, the real underlying problem is the pressure to publish at all cost and the ranking grant system which rewards number of publication rather than quality.
I'm sure you could say the same of AI-generated images, sound or video used in advetising, or any field where AI generation offers a shortcut. The problem is always that you need to produce as much results as fast as possible and quality is not the objective. The problem is always the KPI.
Optimistically, I think we might just enter a new phase at some point, where businesses make very conscious decisions about what to invest in to differentiate. Like, everyone has support bots now. Where do we invest, absolutely stunning human support? Or is support not that key and we should invest into being the most reliable? The most enjoyable to use?
One can hope.
If developers are producing garbage to begin with, chances are they still produce garbage just at an accelerated rate.
Bizarre experience.
The Role Collapse attack is that LLMs turn out to ignore role tags (input, output, thinking) and identify role using writing style alone.
And bring back change & configuration management processes and documentation reviews. All the boring slow stuff.
Except now make it part of your CI/CD pipeline.
That's a complete non-starter unless you're serving some extreme luxury premium market with absurd margins, and/or your customer interactions already require a lot of human involvement. So 99.9% of digital products are right out.
Good human support is absurdly expensive and will easily make your product 10 times more expensive than your competitor's. But almost no customer is willing to pay 10 times more for good support.
If you create a startup you really want to focus on a small audience that you understand and know really well, instead of chasing everyone. And for that a support team is one of the most important asset you have
my example: A&A — uk internet service provider.
costs like twice as much as a normal service per month. but if i have a super technical query im on the phone with a fully fledged engineer in about 2 minutes flat. the kind of engineer that can discuss complex dns issues. i’ve had one help me debug a dns issue from a work site. it turned out quite quickly it was nothing to do with them but he hung around on the phone for 10 minutes anyway.
the first support person i ever spoke to was michael from wales. if i had to call up he was the first voice i would hear for years. he recently moved on and i was sad. we’d have a decent chat. big up michael from wales.
so, as it applies to at least one existing business — you are dead wrong. it might be twice as expensive as the people trying to maximise their profit margins, but it’s definitely not 10x more.
A month later, no refund. I contacted them again, they said unless the book is sent back, no refund. I told them about the previous conversation and they said that the CSR had lied to inflate his scores, and if I've thrown the book away I'm out of luck, he generated a return label. I complained and they threatened to close my account unless I send verification documents. I didn't, I just sent the book back and the refund processed automatically.
About a year before that I had a Samsung Fold and it cracked down the middle. I told Amazon that it was only 6 months old and it was broken, and Samsung said I need to send it to Cyprus for some reason. Amazon said to send it back for a refund, I did, and I got a warning that I'd returned something "not in original condition" and next time I'll be banned.
Last week a package didn't arrive. I queried it and there was no longer the option to talk to anyone, just a link to phone numbers for the external courier.
So I would say that Amazon having stellar support 15 years ago, building a brand on it, and then choosing to stop doing that mostly proves how wrong you are. Sure, you can still sometimes speak to someone, but it's getting worse.
Both you and the other commenter about his grandma's smoking habit are making nonsensical comparisons about things that are extremely rare, to support something that is supposedly extremely common, if you were to believe the parent's comment (or other stories you read online).
At one point I was looking through editions of the Arabian Nights and I noticed that, while the "kindle version" linked from the page for the paperback of one edition was an unrelated book, an actual kindle version of the edition I was looking at did exist elsewhere on the site.
I was annoyed enough that I opened a chat with customer support and asked them which of the two ebooks (one linked as "the kindle version of edition X", but with a different translator, title, cover art, etc; one not linked to the paperback at all, except for the identical translator, cover art, etc...) was the kindle version of the paperback.
A few days later, the links had been fixed, and the "kindle version" link on the paperback's page went to the kindle version of the same book!
It was simpler, better, more stable, _and_ had better UX.
Complexity does not equal quality. In fact, it usually points to poor design. Programs used to be seen as utilities, which enabled the same kind of mentality you have to any specialised machinery: "Here's a thing that can make your life easier. Learn how to use it". Now programs try to be all-singing-all-dancing-all-the-time-changing.
It had less features too.
Now, I do agree doing more doesn't mean that something is necessarily better... but I think the UX difficulty increases exponentially as more features are added.
I wonder how much of that is just what management always wanted. Peopleware (https://en.wikipedia.org/wiki/Peopleware:_Productive_Project...), a VERY GOOD book about software development written in the 80s, talks about managers wanting to sacrifice quality an how corrosive that is. It's just that in the past technology forced them to pursue quality: Software shipped on disk needed to be bug-free, because it made bug-fixes almost impossible. Software written by a human needed a human that understands it, who might have some pride in his work.
But now, with the internet and LLMs, we get to live in the slop-world the management has always dreamed of. More tickets, closing faster! Less headcount, less talk! Artificial workers that don't talk back! Who cares about all the rest?
That's a different, equally big problem. Security mafia at every company will continue to rule everything and everyone. They do not have goals or constraints that are tied to productivity and user experience.
We are heading to a situation where the security teams are causing much more damage compared to the possible attack vectors. While this damage is real and certain, the damage due to attack vectors is only hypothetical.
Ofcourse, we do need security. But currently no one including CEO can dare to define how much security is needed. On top of that, regulators do their own share of damage, piling up regulations. No one takes any risk. They will ask you to tie yourself down until you can't move. Your mobility is not their problem.
That way, when their security is compromised, the attacker doesn't get your password.
Any site giving you your password is doing it wrong because they should never know it.
If you're making a Linux distro, please don't do this. I will not watch your video. I was interested, and now I'm not.
What is "a fascist" (in context of being labelled that on the interwebs). That could mean a lot of things.
As a reader, you learn basically nothing about DHH other than that some people might not like him.
___
So to fix that:
DHH has always been a very opinionated guy - with not all of those being agreed on, but there being usually some kind of point to them.
Starting somewhere late-ish last year, however, he seems to have dropped deep through the alt-right pipeline and started babbling talking points basically copy-pasted as-is from other talking heads.
So, in essence, he kinda stopped being opinionated, because that would require having an own opinion, and instead started just being yet another person not doing all too well mentally on the internet.
I mean the guy suddenly started talking about "body counts". What's his age again?
__
Of course, moral outrage happened but achieved absolutely nothing, because it's not the right tool for the job here.
I do not disagree with what your said, but I think it just boils down to that.
Sorry to say, but that word probably has an equally low impact on regular people by now. Worse if we look at what people actually think/vote/etc.
People by now at large seem to be rather fine with both being called racist or just.. well.. being racist.
We do not actually want that, because (big surprise upcoming) racism is bad. But I think we might need to remind people why that whole cluster of ideas is bad.
This shouldn't be too hard, given that it's objectively worse in many many aspects, but for that to be seen, I suppose we need to point out what makes it objectively worse.
The shorthand is unfortunately dead and got killed by twitter dot com.
__
How that could be done is how I've demonstrated before you've regrettably dismissed it and tried returning to the shorthand
> People by now at large seem to be rather fine with both being called racist or just.. well.. being racist.
I disagree. I do not get that feel at all in real life (in the UK, BTW). On Facebook you get that feel because it is full of ragebait and attracts nutters.
There are some people like that, but most people would be deeply ashamed to think themselves racist or be thought racist.
Edit, to add: DHH also seems to have a weird obsession with the UK. At least two of his racist blog posts about the UK. His first racist post that I was aware off is essentially "two many non-white people in London".
Doesn't match what I am seeing outside of the Internet.
But, regardless of that, I still believe that shorthand terms and indirection are a less clean solution, and, if possible, the cleaner one with less dependencies should be used.
Where are you? It makes a big difference. I am talking primarily about the UK, where I have lived in different areas and know a variety of people in many different places. It is, in my experience, a society where racism is relatively rare: https://pietersz.co.uk/2023/08/racism-culture-different
https://en.wikipedia.org/wiki/2024_United_Kingdom_riots
https://www.dw.com/en/racist-riots-break-out-across-united-k...
But glad to learn that there is actually nothing to worry about I guess.
However, I think its very much a minority view. Even Tommy Robinson's "Unite The Kingdom" protest which DHH blogged about and Musk backed etc. and was supposed to be the far right's big show of support was much smaller than many other protests for many other causes over the years (for and against Brexit, Gaza, etc.) in recent years. I also think it likely even a lot of those who joined the protest have far narrower causes (e.g. anti-illegal immigration) than being fully alt-right.
Repeatedly!
I mean I get it. This is terrifying. But that's exactly my point.
As a visible ethnic minority person in the UK I can say I am not terrified. Concerned, yes, but its not even a major issue in my life.
You're talking about a gang of a few hundred people roaming around and burning down Muslim places.
Those people are the ones who are talking about rape gangs (which don't exist), right? How big are the rape gangs they talk about?
For example in his latest blog post he first describes problem of growing populations of wolves that are killing sheep and cannot be shot because they are protected by the state. And then starts to compare the situation with danish gypsies (Romani) in danish cities.
That's as close to fascism as you can get... it's pretty out there on the edge of legality.
I mean I used to respect his (at the time mainly technical) takes and I recommended Basecamp to so many organizations. How has this table turned so much I have no idea.
so it depends if you believe that everyone who supported the nazi party was a nazi, or only the people who actually did the holocaust.
https://blogs.gnome.org/alatiera/2025/11/06/dhh-and-omarchy-...
https://jakelazaroff.com/words/dhh-is-way-worse-than-i-thoug...
Fascist is not just a silly label. The political collapse of neoliberalism made a lot of closet fascists emerge and they seem quite common among what was earlier thought of as "techno libertarians". E.g. the VPN provider owner (forgot which) just lately.
If there was too much crying wolf 15 years ago, doesn't really matter now anyways.
I guess so, but that's abstract and hard to grasp for most people.
"The guy has clearly lost it and thus is probably not making sensible decisions" otoh is pretty easy to understand, signals effectively the same and side-steps basically all the drama.
It is really hard to keep your cool.
That isn't the problem though. Fascism isn't mental instability, it's an ideology. Someone going off the deep end and making bad decisions does so essentially at random, while someone driven by ideology messes things up in very specific ways. In the case of Fascist ideology, the specific ways they ruin things are specifically intended to harm specific groups of people, so I think the distinction matters. Writing it off as the guy having "lost it" obscures the specific goal he is working towards.
We should probably ask ourselves why there aren't more Mullvads. I think the answer is twofold - first, developers can't business, and second, running something like that carries massive political risk which that type of person is more willing to shoulder. If one doesn't feel afraid to help found a Nazi party they sure won't be afraid to run a VPN service.
There was not. I used to think they are crying wolf, but imo, it turned out they were correct all along.
They were paying attention to what these people were saying and doing. They then concluded these people are fascists. Then a bunch of us, not paying attention crowd, came in accused them of crying wolf.
Maybe, crying wolf is about a boy who sees a wolf, causes commotion and protects the village. Then they dont feel like going in one time, wolfs eats them. But, village just wont admit they were obviously wrong and blames the boy.
So good marketing? Hell no.
The smaller the org, the better the chances of having only reasonable levels of misalignment... but without taking on high risk, it's just better pat to work on a large, worse org. Frustrating.
It is little appreciated how USB has regressed. If you have a full-size top-of-the-line desktop machine with plenty of I/O channels you have a huge number of USB 3 and USB C plugs and will have mostly a "just works" experience -- like you can plug in an external hard drive and not regret it. Try a laptop or a pint size machine (say a Mac Mini or a Dell Optiplex 1.5 l) and you'll discover there is no reliable USB 3 hub on the market Maybe you can plug in your keyboard and mouse, maybe, but plug in a USB DAC and a memory card reader and an external drive... "BONG!" "BONG!" "BONG!" Windows starts screaming that devices are dropping out and reattaching and God forbid there is a filesystem you care about on one of them. (MacOS is too smart for that shit, it just assumes the hub is crap and won't reconnect until you reboot)
Plug a cooler master keyboard into you dev workstation and you'll find it overloads the interrupt handling system and causes everything to be janky.
Probably the worst thing about Electron is that the #1 applications use it, instead of making a web application, is that they can't stand that you might be able to find the application and start it the way you start a usual application (or web page) or be able to find the window when you are using it or be able to close the application or move the application window like a normal application window or resize the application like a normal application window or that you might be able to see anything in the tray -- so applications like Slack automatically become crapplications by virtue of inhabiting your tray. It makes everything worse. It reminds me of the later 90's when every crapplet for your printer had to have a completely custom widget set and window chrome.
USB-C ones (that actually give you more than 1 additional USB-C port) are still more challenging, but they do at least exist now (after having been virtually non-existent for years). Caldigit, Plugable, Sabrent, and probably others all have models that will go 1 device port to 3-6 USB-C ports now, and are powered with decent power per-port limits.
I do agree the landscape is far more confusing than it was a decade ago.
Microsoft didn't need AI to make windows 11 as bad as it is.
The incentives are large companies are fundamentally not in align with making high quality software people actually enjoy interacting with.
I dunno what they needed, but Windows 11 was a lot less bad before they started using AI.
I think that points do the solution. We should not make stuff more complex than we can the level of complexity at which we can make it reliable.
Imo we know the tools (social, + technical) to make good software that works. But in the face of massive complexity, people just want the next feature, the next thing sales can use as a win
And yeah I agree with the other commenter here - I don't think this is AI. We had terrible software before, even declining quality.
XFCE has worked more or less the same for me for the last 20 years.
Sure, nothing lasts forever, but XFCE has been rock solid and absolutely works as expected.
I've used it successfully on both FreeBSD and various Linux flavors.
My other biggest pet peeve in this space is the annual iOS updates where Apple arbitrarily moves buttons back and forth between top and bottom of screen.
They really like to screw around with the photos app such that "show me my photos most recently taken in time order" is somehow different set of taps year to year.
You see flavors of this in most other apps/websites.
This is hilarious.
Programming is going to be like ceramics or pottery: you can grab a nice set of bowls at IKEA for $10. We are doing the artisanal pottery that no one really wants or cares for.
It depends on whose perspective you consider the problem. An enterprise produces software for one reason only: make money out of it. And it works great!
if you are a paying customer, and if you can choose among a few different solutions, then you will get the good stuff. But for the rest...
1. Free apps? They just need to take ads in front of your eyes.
2. Software embedded in cars? You choose the car based on other merits, the software just needs to not by horrible.
3. Automated customare support? When was the last time you choose a fridge over another because of the quality of its customer support?
Euphoric, who?
Other than techbros and a small group of AI-delirious fanboys, no one is euphoric. Normal people in the industry are between anxious, scared, exhausted, resentful, resigned or just plain sad. People outside our industry? They see the enshittification clearly, and are most certainly the opposite of euphoric.
I'm confident to say that right now, AI already does a better job at turning a well-specified requirement into working code than the average meatbag I've personally encountered.
It's still useless at many other things that make a complete Software Developer, but let's be real: Programming (requirements in, code out) is solved for the stuff I'm involved in.
I don't necessarily believe in 10x devs, but there is a very clear output difference between various developers. During my career I've been both in a position where I was delivering much higher quality code at a similar pace to other coworkers and also mediocre code at a slower pace. Sometimes at the same time.
Now, AI itself is a force multiplier. Depending on the task, your setup, your skill level (both as a developer and with LLMs), the weather, the model and so on, it can range anywhere from actively hindering you, to solving the entire thing for you. Let's say that on average you get a 20% productivity boost.
If you take a 0.8x developer and give them a 1.2 force multiplier LLM, you get a 0.96x developer. Worse, the axis that has moved is speed, not quality.
All this to say that if you let a below average developer vibecode, you get a much higher volume of slop. You can make an agent create good code, but this developer didn't care before so why should they now?
*Note that this is from experience. I've started getting feature PRs from our devops team. It's been a very enlightening experience.
Expectations is neither about creation not use. "May" isn't a revolution outside of the historic calendar, so on both counts it's trivial to deny an ungrounded statement.
> So why does software keep getting worse across the board?
Because the premise on which the expectation is built is wrong?
Also plenty of the issues are prehistoric with all the past meat bag generations to blame, case in point: > Just then, the Slack window appeared, stole focus from Ghostty
So who stopped that huge fruit corpo from doing the very basics of managing user experience in the past few decades minus a few AI years?
Making legacy code however is now very fast. So fast you can practically ship it straight to production.
I work in mediation and have recently seen a few cases where I’ve wondered if the participants were suffering from AI psychosis as related to their claims: where they’d constructed their legal cases hand-in-hand with an LLM and had become absolutely convinced despite a contestable set of facts.
People have always been subject to delusion, but in these cases, all documentation submitted was obviously created by chatbots.
to the article: Yeah, it's different world out there. We need to filter ideas instead of focusing on more features, as lack of staggering revenue growth suggests it might be that more doesn't equal better. The stability of apps is getting worse lately. I couldn't pair my sony camera and it was stuck on pairing screen :(
Hint: mid-level engineers in tech hubs wouldn’t be getting 500K salaries if that was actually the case.
It won’t change cause nobody cares to do anything other than complain, I don’t see developers quitting en masse from companies that refuse to pause feature churn and focus on quality. Why should they? They get a paycheck, everyone ships crap, the world moves on. The people making the frameworks and now even runtimes are of the same cloth, overworked and underfunded.
If we cared we’d treat software like real engineering. We don’t and therefore we’re quite cooked. Just be happy that airplanes aren’t as bad as your average CRUD. For someone who does care, look at the SQLite codebase, every project should be like that even if development cycles would be 3–10x longer, but that’s delusional to say out loud.
AI just revealed that - with slop being produced at increasing pace and test coverage and verification methods of things working properly across all states and inputs being nowhere to be found.
It crashed, and crashed hard, a few times per week. That never happens today, maybe at most once a month.
However, what has changed in terms of quality is that there are 1000% more smaller bugs. I never felt that small annoyances or problems were even noticeable or even existent back then. Every feature seemed to actually work. Yet just so far today I have encountered over a dozen small problems in my operating system and apps I use.
It’s exhausting in a different way. Two decades ago I felt ”safe” from problems by frequently saving my files. Today I dread having to navigate a UI that keeps giving me a thousand paper cuts of small bugs.
I work in development and programming and with all the modern tools and testing frameworks and QA engineers and analytics and modern language we seem to only have achieved less crashes and more non-crashing bugs. It annoys me and I am a bit ashamed at my own profession.
IME this happens more often than people think. If you’re leading a team part of your job is to manage the expectations of those around you and explain your choices. If you do that well you can absolutely have quarters where you only pay down debt, it doesn’t require some huge attitude shift in the industry. Just explain why it’s the right thing and then do it.
A lot of this is about bureaucracy
Running non free software is essentially giving up our freedom. Before internet connectivity the problem wasn't too bad but nowadays there is always the temptation to squeeze the lusers.
This extends to any device which has software or firmware: banking websites, banking apps on mobile phones, car firmware, etc.
I find it very depressing, especially when I think of the people who design, develop and deploy these apps. We are talking about large companies and teams of people. Entire chains of well-paid people designed, looked at, developed, tested, and then accepted these apps. And yet they break in the most obvious ways, or fail to be usable, instead pestering us with pop-ups and useless drivel and forgetting their state at every point.
These problems are not subtle. To take a glaring example from my everyday life, in my car there are buttons for moving windows up and down. Sometimes when you press the button to move the window down, it will actually start moving up. We are talking about a simple button that moves a window. And seemingly everybody thinks this is fine?
I don't know what to do about this.
So taking it at face value is kinda part of the problem here.
The only way this can get better is by completely suffocating it off attention. It doesn't exist. It's not real.
> My LG fridge started making weird sounds, so I tried to file a warranty claim, through a multi-step form with countless fields. It failed with a submission error at the very end. And I only found out because I looked at the JavaScript console.
Has that JavaScript code been written by AI? It may be more likely that it was written by humans. Well, the design of JavaScript really sucks, the language is both successful and horrible to use, in my opinion. And we have that issue across the board. Most programming languages really suck. C, for instance - that language is an abomination. But it is even more successful than JavaScript. Today I ran into the issue that I can not compile libpng; I keep on bailing out at it unable to find setjmp. About two months ago compiling it worked fine. I most likely did screw something up on my local system but ... the compiler is an idiot. It really does not tell me WHY it can not compile it anymore. Yes, it shows on the commandline that it assumes setjmp to exist but it can not find it. The error messages are pure and bogus. And the whole design of C cascades this horrible crap downwards. The languages that supposedly try to replace C also suck. Go? Yikes. Rust? Even more verbose. C++? Trying to replace C since decades. There is a ton of inertia.
The whole stack is utter gutter trash really. Everything is build up atop layers of complexity that in turn are not really well designed at all. Meanwhile more and more software is added. Now I need python due to meson, and meson is better than what came before. But it adds complexity. And has its own problems too. AI does not really fix anything here, it just AI slop spams on top of this. We kind of lost big at engineering. People are in general also not critical anymore. The design of most programming language shows that - including ruby, but ruby is barely used, so really the issue is mostly about C. The fact that C is so successful makes this even worse, since nothing replaces it. We just keep on adding more and more. Or we go the C++ way - and make it about 50x as complex. Or Rust - that syntax is even worse than C syntax which is also horrible. Of course even with great syntax and a great language, horrible software will be written. Companies want to offer a billion useless features. Many years ago I thought it was cool if my fridge tells me what I should order. Since the day of companies spying on people, I go back to simplicity at all times.
Name and shame! I'm in the market for a car. Which one should I avoid?
I mean, he has given the answer in the article: Because "coding has been solved" is from the perspective of upper management, not devs or users - and that cares about software quality and usability (as standalone metrics) about as much as the McDonald's board cares about nutrition value.
Now AI tests? Except not really. It claims to perform testing. It’s still up to us to review and remediate.
Back when I was using IRC from Emacs (with erc) I had written a safeguard in elisp against that. Haven't been on IRC in a while but this helped me prevent sending to the "group chat" (the IRC channel) a great many private infos.
Same for my real name for example: I had a filter where anything containing my actual name would be blocked.
I think a great many software where you "chat" with "groups of people" would benefit from having both default and configurable filters that catch obvious mistakes. Say you probably want a confirmation before attaching a private SSH key, or before sending a password in the clear (which could be filtered by blocking words matching the hash of the password), etc.
Not that it solves the fundamental problem TFA is talking about: nothing works.
But that is a given: that's why we need safeguards.
It's glaringly obvious that poorly checked, AI-written, code is the culprit, I'm just wondering when companies will wake up.
Nobody gives a flying fuck about resiliency, good practices, security or any of that now that AI is there. All anyone cares about is pure output of features.
Any and all "productivity" gains attributed to AI efficiency are actually due to the complete disregard for any care or standard in the software industry in the past 2 years. Yeah you can output more shit when you don't give a fuck, big surprise, AI doesn't change anything here.
The issue is only partially within those who code. They get directions from those in charge, and they are just making idiotic decisions. And those who code, for some reason don't stand against those idiotic decisions in defense of a common sense and a great UX.
A blatant, exaggerated parallel would be: you are designing your kitchen and you've chosen a place for your washing machine such as that it will be unable to open its door. When inviting a professional, you expect them to correct such wrong decisions and explain to you that it won't work. But in programming, those who program, calling themselves "software engineers", would just place this washing machine where they're told, because it's "not my job". It's not a feature of an "engineer". It's being a coder lemming.
Let's have a look at a few rarely quoted examples from the last decade, shall we?
Just six years ago, a big company rolls out a line of new chips so good that geeks and technology experts all get ecstatic and can't stop churning endless raving reviews. Those chips are fast, small and consume little energy. On top of that, the big company reworks their entire OS (OS!), the whole suite of software it has for it, the developer suite with compilers and SDKs and god knows what else and also ensures that everything ever written for that OS for the old chips continues to work and it indeed does.
Then there's another big company that launched a file storage service around 20 years ago. Back then it was reliable and only gotten better over the years. They started offering their storage for a nanocent per gajibyte and twenty years of hard work allowed them to lower that cost to a picocent per gajibyte. They don't lose data, they are highly available, half of the internet stores their data at their servers.
And then there's a -- gasp! -- consortium of big companies (fools would reply to this with an XKCD standards strip) that works on improvements to a shared set of standards for 4G, one of the most widely used technology stacks in the world, agrees on it, calls it 5G and rolls it out across the world and the whole spectrum of hardware and software vendors in a manner that resembles replacing a wing of an aircraft mid-flight so that not a single pasta strand falls from the forks of the business class customers.
And here we have someone who thinks that a customer support page for his fridge (fridge!) thrown together by a low-paid second-grade developer in a third-world country is indicative of the whole industry decline.
"Nothing works", my hairy bum. Get real.
Or two and a half. Can you tell me why having a weak 4G signal sometimes doesn't imply being able to send and receive data packets?