58 ms·
> Preferably your favourites, right? System-wide does not imply unconfigurable, it just means that all programs derive some of their behavior from an external
by smarkov 4y ago
> Preferably your favourites, right?
System-wide does not imply unconfigurable, it just means that all programs derive some of their behavior from an external source.
If I want Ctrl+P to paste text across every single application that accepts text and I only have to configure it once in one place, I see that as a win.
- palata 4y ago> If I want Ctrl+P to paste text across every single application that accepts text and I only have to configure it once in one place, I see that as a win. Ok, so let's say I write a video game. Should my game have reasonable defaults, or should it ask you to go to your system-wide settings and setup all the bindings for my game? For instance, I have a "jump" action. Can I bind it to the spacebar, or should I go check in your system settings what you have assigned to "jump"? What if you have not assigned anything to "jump", should I choose a free shortcut somehow (say using the first available from a list like [spacebar, j, right-shift]) or should I ask the player to go setup the bindings first? Say people are happy having exactly one configuration for all their programs. What if my game has special controls, and instead of using "awsd" to move, I would like to use "qweasd", but "q" is generally assigned to "quit". Should I give up on having a reasonable UX using the keyboard (because the system-wide shortcuts don't work for my game) and sell my game with an external controller then? That's the whole thing with standards. It's perfect if you want to do exactly what the standard specifies. It's terrible if you don't. Freedom generally doesn't go well with standard, and somehow it feels like a tradeoff: macOS has a better user experience than linux, at the cost of some freedom. And that's perfectly fine IMO: I don't expect macOS to give me more freedom, or Linux to give me a macOS UX. I just choose between them.
- smarkov 4y ago> Ok, so let's say I write a video game. Should my game have reasonable defaults, or should it ask you to go to your system-wide settings and setup all the bindings for my game? Note that I specifically mentioned text. We've all agreed on how to write text, we've all agreed on how to read text, why can't we all agree on how we edit text? Text is a universal standard, games are not. Your game can have whatever keybindings it deems sane but the second I click on a textbox to enter my name I expect my keybindings to work because I'm no longer in the game's context, I'm inside a text context. Using the user's preferences is a sane default but it's just that - a default, capable of being altered. That default might not be the most intuitive for your specific application and you can let the user know there's a better alternative but at least that default doesn't completely paralyze the user until they've taken the time to learn your specific way of doing things, as is the case with Vim.
- palata 4y ago> why can't we all agree on how we edit text? Because there are some extremely different ways of editing text out there. As you mention, vim and emacs are extremely different from Word, though extremely popular. There are certainly many more examples, but I believe those 3 are enough to say that we most definitely have not all agreed on how to edit text.
- smarkov 4y ago> Because there are some extremely different ways of editing text out there. Key word here being _different_. Different should not be the default. That does not mean we should all be forced to edit text the same way, it just means that the most widely used way of editing text should be the default. For the most part we have agreed on what the standard way of editing text is in GUI's. nano has its quirks but at least it follows the most widely accepted standard - if you're inside a text editor and start typing text, the text gets appended and magical things happen to your text only after you press a combination of keys.
- palata 4y ago> it just means that the most widely used way of editing text should be the default. Yeah, maybe. Not entirely convinced though :-). There is a tendency to reinforce the most widely used ways everywhere. As an artist, you can choose to make the kind of music most people want to hear in a night club, or make the kind of music you, as a musician, like. And accept that maybe that's not for the majority. The majority is using Windows/macOS/Android/iOS. Linux distros are mostly used for servers (where I would hope that a sysadmin can learn a handful of vim bindings (ESC, "i", ":wq" is enough to start)), and some people (me included) are using a Linux Desktop. Of course, the more popular Linux Desktop gets, the more people will want it to look like Windows/iOS (because those are by far the most popular). Does that mean all Linux Desktop distros should try to get adopted by those people? I don't think so. Fine if Ubuntu wants to make a "FOSS alternative to macOS", but I would find it sad if it did force others to follow. And it does: most devs don't really know Linux and want the macOS experience, end up using Ubuntu, and write code that works only on Ubuntu. So now many apps rely on e.g. systemd just because Ubuntu chose it. I find it a bit sad.