166 comments

[ 3.4 ms ] story [ 223 ms ] thread
Wonderful website! Can’t wait to regularly follow this.
That was my first thought. My second thought is this can't be good for my blood pressure.
I like the copyright pun at the bottom.
Yeah, I'd love to read it, but (on mobile, at least) there's infinite scrolling kicking in every time I reach the bottom. Ironic.
That’s the internal joke of ours nobody appreciates.
I thought so. You may want to make it more explicit :)
It being this obscure is part of the joke by now ;-)
Ah, ok, wasn't obvious to me, either. I always wonder, if it's legal in Germany, because you need to have an imprint easily accessible (from any page I think). Might not be relevant for here, but am just curious.
(comment deleted)
I can’t see it because of infinite scrolling, which is pretty ironic given the website’s subject.
Simply click the “refresh” button in the header to easily access the footer.
Is there an easy way out of it after? The first time I used that button I had to turn off my Wi-Fi so I could down to the "top" and click the button again without infinite scroll kicking in.
Simply restart your computer and clear cookies.
It shows up on individual post pages (click "hyperlink").
In your web inspector, add the following CSS to the <body>

  display: flex;
  flex-direction: column-reverse;
and that will render the footer at the top of the page.
For the lazy ones:

> 2019. All fights retarded.

Your fucking site has an infinite fucking scroll that requires javascript and fails silently if it's fucking disabled.
Please, stay classy.
Title edit suggestion: the authors often cover non-web related technology, and even everyday objects like microwave ovens or furniture.
https://grumpy.website/post/0Sqvx1C9H

> Five other people are reading this doc, right? Wrong! The user with a white avatar is actually a button to start a chat! Why does it look like a user and is placed where all other users are, we’ll never know.

> But wait, isn’t there a chat button next to Share? No, that’s comments! What’s the difference? Comments are square, while chat bubbles are oval!

> Also, if you ever wanted to check how your stocks are doing, there’s a button for that too.

Nice :-)

It's Don Norman meets the Muppets!

Actually I really appreciate someone collecting collective stupidity in one place. I am constantly frustrated by terrible design and product decisions every day (both at work and in general) that I can't do anything about. Maybe shame will work.

It's just free advertising. After the public is sold on the fact that a certain NEW! feature represents a fix to the thing everyone hates, the manufacturers will have already embedded something new that will keep you idiots buying the next NEW! thing forever.

You're all sheep.

The problem is that I'm not sure it's stupidity. I bet a lot of this BS is caused by "data driven" decisions that maybe improve ad engagement by 0.1% at the expense of everyone else's productivity, but the company considers the 0.1% increase a win.

What makes me sad is that it seems like us who appreciate & demand good quality, no-nonsense software seem to be a minority, and the masses don't seem to care. I've noticed most non-tech people just accept their fate, either they've already came to terms with the idea that "tech sucks and will always suck", or they legitimately don't know how the experience can be improved (a lot of things may look absurd to us as developers, but might not to someone not familiar with how those things are built) or that they think software is delivered by gods or equivalent superior entities and that they, the "peasants" have no way to call for change even though voicing discontent in feedback sometimes works and is at least worth a try.

I agree with everything, except with the part that tech people appreciate and demand non-nonsense software.

A lot of people in tech enjoy being the "ultimate power user" and are proud of using things that look or feel complicated.

You just have to look at HN itself to read trough rationalisations of why software is bloated and why bigger software is probably better. It's never driven by data or by facts, it's purely by anecdotal experience.

We, collectively as the software industry, have the power to fix this. The fact that awful software still exists demonstrates we don’t care or want to fix it. It’s not a popular opinion here, but software developers/designers are responsible for bad software.
The "doesn't add up to 6.5gb" is because storage is shared with other services and doesn't pertain to just Google Drive.

I agree with Google, that it is more important to show how much overall storage you have left, than how much is being used in this particular service, but there needs to be an overview that can show where storage is used. And clicking around on Google Drive it appears there isn't such an overview.

So yes, bad UI, but for different reason than what grumpy website says.

Honestly Gmail storage should show up as an entry when you look at drive storage stats given that it's shared. They do that elsewhere in the account iirc.
If the fix is relatively easy, the UI is probably bad. A good UI could show "Other services x.y GB", but didn't.

Good UX/UI should provide intuition to the user, especially in more complex circumstances.

I checked this issue before. One of the explanations was that Google Drive also counts history in the space. Not sure whether this is still true.
> there needs to be an overview that can show where storage is used. And clicking around on Google Drive it appears there isn't such an overview.

If you click on Buy Storage, it does say where it's used. Not the most obvious, but good enough.

If you open more than one draw at a time you would unbalance the drawer and it would tip over, falling on you and possibly injuring your feet and damaging your stuff and the floor.

This safety mechanism is not there if the drawer is embedded in a larger frame where tipping over is not possible.

Sometimes it's not bad UX, it's just the thing trying to protect you from your stupidity.

That was the first thing to jump out at me, too. I love crotchety blogs ranting about (whatever screwups), but this one takes a serious credibility hit right off the bat. Ranting about something you don’t understand and being blatantly wrong about it isn’t a great look.
> That was the first thing to jump out at me, too. I love crotchety blogs ranting about (whatever screwups), but this one takes a serious credibility hit right off the bat. Ranting about something you don’t understand and being blatantly wrong about it isn’t a great look.

Cunningham's Law states "the best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer."

I thought that was to say "X can't do Y but Z can so X is stupid". You will then get a list of solutions from fans of X.

The most common sighting of this in action is OSs (ask "how do I do Y with Linux" and you'll be pointed at documentation, say "Linux can't do Y but Windows can" and you are more likely to get a couple of pre-baked solutions sent your way, and the same works the other way around and with other OSs) but I've seen it work for scripting languages/environments (powershell, bash, ...), databases (postgres, SQL Server, Oracle, ...) and other tools.

>Cunningham's Law states "the best way to get the right answer on the internet is not to ask a question; it's to post the wrong answer."

I am amazed there is a law describe this. This is so accurate. I couldn't be bothered to answer questions even if I knew the answer, but I would be bothered to correct it if the answer were wrong.

The one about the update and upgrade commands in brew too. I've never used brew but I assume they operate the same as update and upgrade in apt related tools and are not really synonymous if you have a vague idea what is going on: update acts on the package catalogue and upgrade upgrades packages. Maybe update should be update-catalogue, but then people would moan about the extra typing.

Update could legitimately mean upgrade of course and you could have it essentially auto-correct, but I'm generally wary of software trying to do what it thinks I mean rather than what I explicitly say (and not doing anything if what I explicitly say doesn't match up with its language). At some point it will mis-guess and do something I really didn't want.

It works pretty much like apt. When you do update it also shows you which packages can be upgraded. It seems pretty obvious how and why that is (maybe you dont want to upgrade everything). Seems like solid ux to me.
While “brew update foo” may be difficult to handle technically, it does have a meaning that makes sense: you want to fetch the latest information about just that one package so you can install it, without updating the entire package database (which may obsolete some of your other software).
Thing is, "update" to me doesn't mean "update self to have newest content". Especially in the context of what Brew does: version manager for packages. By definition alone I expect it to be taking an action to update a package.

Now suppose instead of "update" they used called the functionality "sync". I don't think I would have the same problem, since linguistically and contextually, I wouldn't use Brew to _sync_ packages. But it does make sense to use "sync" when talking about getting updated information about which packages are available--we're syncing the local catalogue with the remote catalogue.

So I agree with grumpy blog that their use of "update" here is suboptimal. There are better fitting words that both better describe the functionality and avoid the confusion.

Yeah, I think the existing UI is absolutely correct for that one.

I'm not a heavy brew user, but if it works like other package managers then the "update" command is a fairly casual, frequently used, and typically reversible kind of action. If you pull in too high a version of something, oops, remove and redo. Whereas "upgrade" is something you probably only do when you have a specific reason.

I mean, it's sometimes sensible for apps to auto-correct on inputs, but a frequently used "muscle-memory" kind of action should never auto-correct into something heavy and non-reversible. I imagine that's the thinking there.

apt update doesn't install anything. It's more like git fetch, it just downloads a list of available versions.
That makes sense for a 4 drawer, 5' tall filing cabinet -- which generally all have the interlock, and little to none for a 3 drawer under desk unit with drawers half the length or less of a filing cabinet. Even if you wanted to load them as heavily as a file cabinet, the drawers are generally far less substantial or well made. Doubly pointless considering the drawer unit shown has no filing drawer. Most of those solve the possible tip with a castor or slide under the front of the sole bottom filing drawer.
Those drawers can be used to hang folders and those can be very heavy and easily tip over the whole thing if you would slide out all of them at once.
That would be a 12" deep file drawer, which either do have an interlock, or in a desk side with single file drawer the castor or slide underneath, as mentioned.

The one illustrated isn't deep enough for hanging files -- maybe the odd ream of A4, pens and pencils. Will need an awful lot of carefully placed paperclips and pencils to tip. Which is why you rarely see those locking each other out. If you use it for storing your collection of lead weights you bring it on yourself (the base of the drawer would probably fall through anyway)... :)

Those folders are normally in the bottom drawer, so it could not tip over very far, the bottom drawer would hit the floor.

Even if there's a top drawer with folders, to open more than one drawer, a bottom one would be open anyway, with the same result.

It just depends on what you load into the drawers. Since essentially the contents of only one drawer at a time is accessible in any case, it's the right UX decision.

Anyway, you need to close those drawers eventually, right? Why not before opening the next drawer?

Put another way, the alternative is to support the general use-case of disorganization: "I'm not sure where the thing I'm looking for is, but I need it in a hurry!" Do you really want to categorically assume in such situations that people have mitigated the tip-over risk in some external way? Just to allow for high-speed riffling?

Your castor idea only really helps if the search happened to start with the bottom drawer first. That's sorta logical, at least in some cases, but I don't think you can come anywhere close to assuming it's going to happen all the time.

I have a three drawer underdesk cabinet with five wheels. The fifth being on the front of the file drawer. Don’t think that one is tipping over.
If you can only open one at a time it means the locking mechanism only needs to lock one drawer. They do the same thing with tool cabinets.
Yep. Quite a few times I've had cabinets start to tip on me because I opened multiple drawers at the same time.

It's not something very intuitive since we generally expect furniture to be stable in normal usage. To make it worse, when it starts tipping all drawers slide open and bang into you, compounding the effect and accelerating the move.

Maybe if it didn't lock all the other drawers because one is almost imperceptibly closed by less than 1mm, the experience wouldn't be as frustrating.

The system is clever and had its importance.

Exactly. I assembled a dresser last week, and it came with this label on one of the panels:

http://www.ahfa.us/wp-content/uploads/2016/02/ASTMTip-OverWa...

Think about that: children have died from 𝘥𝘳𝘦𝘴𝘴𝘦𝘳𝘴. It's easy to be smug power user complaining about design when you only consider how you interact with things.

I'm glad to see that label being used!

This very thing happened to me decades ago: I walked into parents' bedroom to find my fearless younger brother, ignoring my yells, climbing up the handles on the front of my father's dresser. I yelled for my parents but I couldn't stop him fast enough. As the dresser began to tip I got between him and it and pushed upward, both removing him from the dresser and tipping it back to rest.

I was truly shaken and astonished that this child might have killed himself, since I knew that the top drawer was filled with my father's most valuable (and heaviest) WWII memorabilia and that the entire dresser, about 5 feet tall, was hardwood with decorative protrusions on the front.

As a parent, this is one of the silent killers that haunts me. We only have one dresser and I have it tilted back... but I should also strap it to the wall.
I was a PICU nurse before I started writing software for a living. A surprising number of kids also get seriously injured by pulling TV sets/cabinets over onto themselves. Affixing things to walls definitely a good plan. Also PSA for the holidays: fence pools, use your reversing camera and know where your kids are before backing out of the driveway, and that dishwasher detergent does horrible things to kids (airway/oesophagus) and people tend to keep it down low for some reason.
Just the other day my toddler fell out of a shopping cart. I never paid much attention to the warning signs because I'm always right there pushing the cart, this time though I'd moved a few feet away to wrangle his older sister and he stood up in the cart. I immediately moved back towards him but I was too late. Normally he has great balance but as he reached out to me his weight shifted causing the cart to roll forward and he toppled right out. He landed right on his face in the most horrifying moment of my life. Thankfully he's all right (giant bump and a black eye) but it easily could have been fatal. I'll never leave him unrestrained in a cart again.
Makes you wonder how we as humans haven't evolved the ability to innately perceive being crushed by large objects.

I know I become hyper aware of any small black specks in my peripheral vision since they resemble spiders that could have posed a threat to our ancestors so we evolved these heightened senses to avoid them.

Well, storage lockers are a quite recent thing.

And in nature you do not really have much big objects that could fall on you if you climb them.

Maybe a large boulder loose ... but they are very rare in my experience. So I guess it makes sense we are not prepared for it. What is much more likely, a loose rock which breakes off at climbing .. we are prepared for. Instinct reflexes are pretty fast in that case, I noticed ..

A cabinet being wobbly and starting to tip over towards you should feel pretty dangerous I'd imagine, we have various biological mechanisms that detect balance [1].

I would hope the ability to sense loss of balance equilibrium would innately result in having the strong urge to bail from that activity to sturdier ground, given you knew you could safely land on the ground without a worse outcome.

A tipping cabinet takes much longer to fall unlike a rock dislodging when you are climbing the side of a cliff in nature. Maybe it is simply a blind spot in our evolution like you suggest, evolution never optimized us for this edge case scenario not experienced in the wild.

1. https://www.mayoclinic.org/diseases-conditions/dizziness/mul...

well put this way, it kinda makes sense.
It's still bad UX. Someone could not be arsed to make this thing stable, so they made user's life harder.
What's your solution? You could give it a super wide base so it has trouble fitting in places people normally put filing cabinets, or make the body so heavy that having all the drawers full and pulled out won't tip it over?
These. Or just don't make this thing at all.

Also, it still doesn't prevent toppling over from a single heavily loaded drawer.

> Or just don't make this thing at all.

Don’t make drawers?

Don't make shitty stand-alone cabinets.
To bastardize Mitch Hedberg: "sorry for the safety."
This is like saying a gun with a safety catch is "bad UX." The best UX is the one that enables the user to use an object like it's supposed to be used while not allowing them to literally or figuratively shoot themselves in the foot.
It fails the first condition - using like it's supposed to be used. It would be like a gun that refuses to shoot when pointed too low because sometimes people shoot their own feet.
But we already have a solution for the problem: Anchor the dresser to the wall.

But people don't, so these companies introduce measures "for safety" by compromising the UX for all their users (can't open multiple drawers at once even if you wanted to) in order to prevent a dangerous scenario that the operator failed to address (leaving the dresser unanchored and ready to topple over).

And what do we think is the goal of the manufacturer? Is their goal to provide a public service and preventing people from injuring themselves? Unlikely, as it's still entirely possible to overload the drawers, or put something on top, that will still provide a dangerous result. No, their goal isn't safety because the safety is out of their hands. Their real goal twofold: First, to prevent situations where their products can be associated with dangerous or fatal situations, even if the fault has nothing to do with them (operator error, not product error). Second, in events where dangerous or fatal scenarios do happen, be able to say "we've taken measures for safety, so don't look at us".

This "feature" isn't for their users' benefits, it's to protect themselves, and they do so at the expense of all the users that _do_ use their products safely and as intended.

(comment deleted)
It's not stupidity it can be lack of knowledge, could be a day when you are tired and forget or you clumsily opened both at once.

Thinking about people as stupid, as a designer, is suboptimal and miguided in my opinion.

I think people are stupid, it's our right to be and things should be designed with this in mind.

I agree that using the world "stupid" could be ill-receive and other words could avoid this problem, but with the right audience this shouldn't be a problem.

We don’t want people to die from brain farts.

We are also dumber when stressed, when sick, and absolutely so when we are both at once.

> If you open more than one draw at a time you would unbalance the drawer

This is my filing cabinet. I put a bunch of papers in it. It's not going to tip over. Your assumption of a worst-case scenario is getting in the way of how I actually use the cabinet that I own.

> Sometimes it's not bad UX, it's just the thing trying to protect you from your stupidity.

In my opinion, it is bad UX, but for a reason. There might be better solutions.

How about a pulley system which does not require locking the drawers but instead pulls the other drawers shut when i open a new one. No locking, no tipping, better UX.

Opening a drawer in a hurry could pinch your other fingers, or break something sticking out of a drawer. Whatever you do will be a compromise.
"Sometimes it's not bad UX, it's just the thing trying to protect you from your stupidity. "

It is still bad UX, when the result is frustrating.

And some people do not need nor want to be protected from all forms of stupidy. I mean if you would accidentally blow up something by pressing the wrong button, then yes, safety first. But some people actually can use drawers without letting them fall. And if the worst case happens .. it probably won't be catastrophic either. I mean you can break a leg or ancle falling down on any road anyway, if you don't pay attention.

In this case it is bad user experience.

That set of drawers is not sizeable enough to warrant tipping protection that is so unfriendly to the user. If it were a 2m high filing cabinet, I would agree, but it isn't.

Dressers made of thin, light wood, filled with drawers full of clothes and/or toys never have this safety feature, and those are the things which need it most; they all require (or recommend) that you instead strap the top of the dresser to the drywall, assuming that it is both against a wall and that the wall is finished with drywall, and not some other wall material, such as brick, which is common in certain geographies.

Too many people commenting here completely missed the point of the linked website entirely, immediately homed in on some minutia, commented with some variant of "uh, actually...", and even got that wrong, arguably.

It's really amazing to me.

My all-time anti-favorite UI thing like this is Mac dialogs where two different buttons are focused.

E.g. when closing a file with unsaved edits, you typically get a dialog with three buttons:

       [Don't save]       Cancel        [Save]
"Don't save" and "Save" are both highlighted, but in two different ways - and for added excitement, spacebar activates one of them and Enter activates the other. Feeling lucky?
Fully highlighted button responds to Enter, the most powerful action. The button with a border only is associated with the secondary action, space bar. Makes perfect sense.
i’m not sure if you’re being sarcastic or if we just don’t live on the same planet :))
Seems like a useful feature with terrible discoverability and a lack of intuitiveness. Don Norman would not approve. ;)
It’s off by default, presumably because it takes a bit of effort to use effectively and is thus only useful to power users and those who need it for accessibility reasons.
It makes sense because you’re already familiar with the platform convention. It’s not intuitive. Space bar is a larger key and easier to reach, why isn’t it associated with the more “powerful” action?
That is how language works.
The space bar isn’t typically associated with a “big” action, but Enter is.
It’s not about “power”, it’s about the default key to perform an action being enter. So dialogs will run the default action, signified by the highlighted button, when you press enter. Space is intended for selecting the retargetable focused item.
> Space is intended for selecting the retargetable focused item.

Sure, but how is that intuitive?

It's standard UI for keyboard focus across most operating systems. At some point, you're just going to have to know that space selects the item that the focus ring is around, just like you know that tab switches between fields. (By the way, this is off by default so you don't invoke it accidentally without knowing how it works.)
This makes no sense whatsoever.
Sure, I know that's the reason. There's a behind every UX decision, always, even the most stupendously bad ones.

As such, the relevant question isn't "is it logical?", but rather "is having two UI focus targets so useful that it justifies cases where the user will lose data if they choose incorrectly between two superficially similar options?". And obviously that's down to opinion, but it seems like a pretty huge glaring no to me.

This is a feature that you have to go out of your way to enable, not the default status of the system. Either you or your IT department enabled it.

Complaining about this is like complaining that the computer is reading the text out loud.

There's a setting for having multiple focus targets? Where?

I know there's a setting to prevent the keyboard from affecting dialogs at all, but obviously that's not what my comment was about.

Using tab/space to navigate dialog buttons (like you're describing in your comment) is not a default setting in macOS. You have to explicitly enable it.

This is why it's complicated: it's not aimed at regular users, only at people who need it for accessibility reasons, or power users.

It's not complicated, it's just implemented in such a way that it leads to bad UX!

(One wonders: if the tab system didn't make two focuses, whether it wouldn't be intuitive enough to be on by default :D)

I love this feature. Regular users use mouse anyway, and power users have a shortcut instead of pressing tab several tabs to pick an option. Never made a mistake with it. Outlined button is activated by space and the filled button is activated by enter.
There’s a system behind it, which the same one that underlies all of “Full keyboard access” (which is of by default because it takes a bit of background information to master). When you press space, the item under the focus ring is selected; not only this, you can shift focus to other elements by pressing tab. So the ring acts as a visual indication of the item you will select. The filled-in blue button is there regardless of whether “Full keyboard access” is enabled and is intended for a sensible default so that pressing enter will do something useful. The “Cancel” action is usually mapped to escape. The focus ring, then, is usually set to the third option if there is any because that one wouldn’t be accessible via a keyboard key otherwise.
I know the reason for it! But the fact remains that it's two actions that are superficially the same (press an affirmative sort of key to trigger a highlighted button), and users who choose wrong lose data. That's... pretty much a one-sentence definition of bad UX :D

The same system would make perfect sense if it only had one focus target. Dialog comes up, the "main" action is focused, tab cycles the focus, space/enter select it, and escape cancels the dialog. There'd be nothing to learn and nothing to remember.

The focus ring extends past just dialogs, though. It works throughout the system.
The rationale for why it works the way it does is orthogonal to whether it's bad UX.
Oh, I like that.

Anyway, I thought this only happens when you opt-in by enabling tabbing between all types of controls (the default is that only edit controls can get focus). What you're describing here, I think, is that the "Don't Save" button has focus, which is why spacebar activates it.

I hope this doesn't get nerffed. "Space => don't save, Enter => save" is part of my muscle memory now. Why would you enable focus on any control and then bang randomly on the keyboard anyway? If you aren't sure, leave the defaults as-is.

My new favorite default behavior annoyance was FF for Android deciding that everytime I clicked an open tab after some short time interval, it would reload the entire page making it extra annoying when you have the massive HN who is hiring thread open and want to scroll through it while on a subway with no connection.
Mobile OS periodically have to reclaim allocated memory and this happens.
What are these "Hyperlink" that links to a page that do not contain anything more to read. This makes me grumpy ;-)
They're permalinks so you can share the posts with friends and family :)
That is unacceptable, URLs and copy/paste are unnecessarily complicated. Better make those social media sharing buttons instead. ;)
You cannot add the share buttons for all sites people happened to gonna share with.
Bonus points if you're inlining socmed-hosted images, then using socmed-hosted JavaScript to make those images dynamic.
Pro tips:

- on a phone, long press on that hyperlink. Bingo, you've got your sharing screen to the post

- on a PC: right-click, copy. Bingo, you've got your shareable link to the post

(Yes, I realise your post is /s :) )

But long-press and right click are too complicated! /s
I've got one. Sometimes when you start typing on Google, the keyboard drops in the middle of typing causing you to tap a link where the key had been.

https://imgur.com/a/v1CGba5

This issue happens in so many places. About to press a button on a page and suddenly something loads up top and the page shifts 50px.
Also when you try to dismiss a notification on the phone, and just as you're doing it a new one appears and you end up dismissing that instead. Boom! Now you don't know what it was.

This is on Android BTW, not sure how iOS does it. But instead of the newest notification appearing at the top of the list, maybe it should appear at the bottom. Problem solved.

Yeah, I hate this one.

A similar issue is in Twitter for Android, I search for an account, want to click on an item and then the list updates.

I can't believe this is not fixed yet.

Hehe at our new office in the kitchen there's a cupboard above the sink so that any person going to the sink will not be able to see what they're doing cause the cupboard is in the way unless you double yourself over so that you can stick your head under the cupboard or are a maximum of 140çm tall. Maybe the design was done by a person who has 2m long arms so that he/she can operate the sink from afar and thus avoid this problem.
(comment deleted)
When trying to find more about the website on mobile, I scroll down and I only see a few links at the bottom, but within less than a second new content loads and the links are gone, I will probably need to load all the content before being able to see the credits / about links.

That's grumpy-worthy I find ;-).

loader_status = "die grumpy worthy feature!";

Enter this into console. Happy Holidays.

I have JS default to off (saves big on load times, bypasses some "please buy a subscription" things), and thought this was just a weirdly short list of eccentric things until I saw this comment.

So, add "JS is required for crucial, rather than merely useful, features."

In the spiwit (just watched Life of Brian) of grumpy Christmas, what's with a grumpy single page, lazy loading blog? Paginate the thing.

Happy holidays.

I would, happily, if you could explain me why?
(comment deleted)
To the Google drive one that storage also includes Gmail and some other Google services too.
The biggest problem with modern tech for me is that it almost never works as advertised. A lot of times it's just there to tick a box on the marketing material. The most recent example, got myself a new Fuji camera and it has bluetooth and wireless and a smartphone app and theoretically you can transfer your pictures wirelessly (but not over a physical usb cable). I'd rather it didn't have these features, because it's not reliable, sometimes it won't work at all, other times it takes too long to connect, it's a mess and I have no time in my life to deal with this crap anymore.
I totally agree. For file transfer on my Fuji camera, I just take out the SD card and grab the files on a SD card reader (+ usb-c adapter) on my phone. (The Fuji wireless app won't let me transfer regular JPEGs or RAW files. Only compressed JPEGS less than 1MB large even though the original JPEGs are ~2.5 MB big.)
The biggest problem with tech is that the "smartphone app" is basically immediately on a (usually steep) decay curve of support.

Usually with no basic protocol backup, such as a basic web api, cli, or filesystem interface.

Of course that's a feature for hardware manufacturers. No one wants a device used for decades, even though that's exactly the level of support necessary to make IoT successful in consumerland.

That apple intentionally breaks things that aren't broken / forces upgrades within its walled garden is even more despicable

Hm I was doing something similar, but in the end there was just too much stuff that's broken, all the time: https://twitter.com/everythingisbr2

In the same vein, I've been thinking of having some universal bug/annoyance reporting tool where you'd tag each annoyance with the software/hardware/website and optionally its version.

Assuming you collected those yourself and events happening close to upload. If you have such a high amount of breakages, it means an average user is experiencing several breakages per day. Comparing with my own anecdotal experience I'm not surprised but seeing it all in one place just makes one depressed.
(comment deleted)