6 ms·
I have a similar pet peeve in software, what I refer to as ‘Don’t Suck’ Buttons. A ‘Don’t Suck’ Button is a setting, turned off by default and usually hidden i
by avalys 3y ago
I have a similar pet peeve in software, what I refer to as ‘Don’t Suck’ Buttons.
A ‘Don’t Suck’ Button is a setting, turned off by default and usually hidden in a corner of the UI or configuration file, which fixes a common issue that new users experience, and/or turns on the behavior that everyone wants from the product in the first place.
The best examples of ‘Don’t Suck’ Buttons involve settings with no obvious disadvantage to turning them on. They’re just turned off by default and the software makes you go through extra effort to tell it “No, I don’t want you to suck.”
Usually these originated from some kind of automation, new protocol or new feature that started out as experimental and was locked behind a setting, then became universally relied upon but somehow never enabled by default.
I used to have a list of examples of these. One that comes to mind from my TV: “Allow HDMI Devices to Control this TV”. If you have an Apple TV or something, it won’t change the volume or be able to turn the TV on or off automatically unless you know enough to go into settings and tell the TV “Don’t Suck”.
- amluto 3y ago> “Allow HDMI Devices to Control this TV” It would IMO be nice to have a default-off option to disable CEC on a specific port. Or to disable certain CEC features.
- lucasban 3y agoFor example: If I leave my TV set to the input that my PS5 is on, turning the TV on will turn on the PS5. Because the PS5 takes a few seconds to turn on, if I try to switch to another app or input, the PS5 will switch the input back when it finishes waking up. Ideally, I’d allow CEC for all functions except turning the PS5 on. If I want it on, I’ll use the controller or media remote.
- thedanbob 3y agoI had to disable CEC because my Chromecast would randomly turn on the TV in the middle of the night. Disabling on a single port would be great.
- johnfn 3y agoOne common reason these exist is because a lot of people got used to the state where the "Dont Suck" button didn't exist, and for those users changing their workflow would be even more annoying. I do agree it's not a great state of affairs, though.
- johnnyanmac 3y agoObligatory: https://xkcd.com/1172/ https://xkcd.com/1172/ Legacy code if fun. Almost as fun as the ways people get around such cruft.
- AceJohnny2 3y agoEmacs is full of these. In its defense, Emacs predates most modern UI paradigms (including, y'know, Ctl-C/V for copy-paste, or calling things "windows" vs "frames"), and is very conservative about updating defaults due to inertia.
- Forge36 3y agoDo you have a list of favorites?
- AceJohnny2 3y agoOn Mac, assign traditional keybinds to Command/⌘ shortcuts (⌘-C/V for copy-paste, -S for save, etc). Display the current column number in the modeline with (setq column-number-mode t) Delete the selected area when overwriting by enabling (setq delete-selection-mode t) Save sessions (all open buffers/files) automatically on quit with (setq desktop-save-mode t) Display line numbers in the left gutter with (setq global-linum-mode t) Wrap lines (with a convenient icon in the gutter to indicate line continuation) with (setq global-visual-line-mode t). Bonus: linum-mode compatible! Skip that startup screen with (setq inhibit-startup-screen t) Remove the limited and redundant icon toolbar with (setq tool-bar-mode nil) Make emacs automatically refresh buffers whose underlying file has changed (and has no local unsaved modifications) with (setq global-auto-revert-mode t) All of the above variables can also be customized through Emacs' excellent Customize, which is better than individually doing each (setq ...) I wrote above. And these are just from a quick skim of my .emacs file... Decades ago, when a college friend espoused the merits of Emacs, I didn't get it because my first experience with a vanilla setup was so... limited. This is also why people will laud more "batteries-included" distributions like Spacemacs or Doom Emacs.
- monsieurbanana 3y agoI agree that you need to customize Emacs rather heavily before it can be used as a "modern" editor. I'm not a fan of most of your changes though, which highlights how hard it is to have defaults that please everybody in something as complex as Emacs.
- MetaMonk 3y agoAt In-n-Out, you have to say a magic chant to have them make the food taste better (and even then it still tastes bad).
- ido 3y agoWhat’s the magic chant?
- Leo_Germond 3y agoWild fries or something, and a triple burger, there's a hidden menu that is double the calories.
- naikrovek 3y agoThese things are turned off because product owners and project managers are almost never power users of the software they are tasked with steering. They seem to believe that all users are of their own skill level at maximum, because who could possibly know more? “They aren’t the product owner! I am! Everyone who doesn’t use this like I do is using it wrong!” And this kind of thing is how “new” outlook gets written, which is an absolute shitshow compared to the legacy outlook client.
- arp242 3y ago> then became universally relied upon but somehow never enabled by default. Often it's not that universal; especially for older software there's a lot of variety in how people use it, and changing defaults can be hugely confusing for existing users. A lot of these (alleged) "don't suck" buttons are probably more subjective than you might think. The HDMI thing may be a security-related, or maybe there are is another reason. I think it's important to know why something behaves as it does, without too quickly assuming there's no good reason for it. That's also my criticism of this submission by the way: it makes little to not effort to understand why things are as they are.
- chii 3y agoThis is the chesterton's fence. Don't remove the barrier until you understood why the barrier was there first.
- worthless-trash 3y agoThank you ! I for some reason tried googling this word last week and had "gate" stuck in my mind.
- johnnyanmac 3y agoagreed. It's one of the most painful parts of legacy code, especially when left 10 years ago by an engineer who has long departed the company that just says "DO NOT CHANGE" (or something to that effect). A beginner sees incompetency, while an expert can already imagine the war stories, the politics, the potential crunch and desperation, and the weeks of demonic bugs fought to warrant such a comment. (Or you know, you dig a bit and find a thinly documented fix to that issue from 5 years ago).
- initplus 3y agoAnother TV related “don’t suck button: Nvidia defaulting to limited colorspace on HDMI outputs. Persists to this day. iPhone Haptic Touch duration not set to “Fast” by default.
- bobwaycott 3y ago> iPhone Haptic Touch duration not set to “Fast” by default. I didn’t even know this was an option. Thank you.
- thomastjeffery 3y agoThere's a deeper problem at play here: assumptions. Any time an assumption is made, it's guaranteed to be wrong for someone. In your example, there are two really positive factors in play: 1. The user can change the setting. 2. It's pretty clear what the default should be. Most of the time, we don't get either of these.
- deleted 3y ago[deleted]
- MonaroVXR 3y agoLiterally my acting stupid and turning this setting on... I turn the ps5 off and the TV off and the PS4 Pro starts and turns on my tv
- jakderrida 3y ago> One that comes to mind from my TV: “Allow HDMI Devices to Control this TV”. The one example I, as a former FiOs Technician for over 10 years, would argue should default to off. I recall mid 2000s, when they started making TVs, devices, and stbs, that could communicate both ways through what I think was an HDMI pin reserved for that purpose when it was designed. I think it had something to do with audio control and maybe there's another pin for back and forth communication. Sometimes, I'd run into problems where one device defaulted to using the pin while the tv, audio system, or earlier stbs weren't really designed with the pin in mind. The box would keep browning out like it was getting its ass kicked. Sometimes the customer's equipment would get damaged, which was a mess where I'd need to defend my job to managers that want to blame me and know nothing about Home Media beyond telephone. So, I think defaulting off with a prompt is appropriate. An example I would agree with was the data.frame() function with R. For far too long, everyone had to designate stringsAsFactors=FALSE just to avoid it turning every character variable into factors. Every R tutorial or Stack Overflow answer, even if there were no strings, you'd find it because typing "stringsAsFactors=FALSE" every time was easier than fixing the complete mess that happened when you should have. They fixed it in a recent upgrade, though.
- funcDropShadow 3y agoFor some users it is actually the "Do suck" setting. Allowing devices to control other devices over HDMI starts to get random horse shit if you have a tree of HDMI devices. E.g. two devices connected to a TV, one of which is an AV receiver that is connected to three other HDMI devices.
- julian_t 3y agoI have a related peeve about an iOS app I use (MapStr) to save recommendations for restaurants and pubs. It's an excellent app, but has one feature that bugs me. For each entry you can set the status as "to visit" or "visited", and you used to be able to set a default. As of a recent update you have to choose one or other of the radiobuttons when you add a new item, so that's one extra click every time I add a new entry (which I forget to do, it complains, I have to go back) The default in the settings was removed because it apparently was 'confusing', but the change makes for a suckier UI, especially evident if you're adding 10 or 20 items. My personal rule for UIs is that if there's a setting where you choose from two or more alternatives, let the user set defaults.
- renox 3y agoI agree with you that it's the wrong default but I just disabled HDMI control on my FAI's box because the box is too buggy, so it's important to be able to disable this feature.