A good modern gui also presents itself in front of you. It directs your attention to important buttons/options. You don’t need any prior knowledge to know that a cog shaped button labeled settings will take you to settings. Good UIs are self explanatory. CLI are not.
To be able to use the terminal, you either need another person to tell you the necessary commands or search for a tutorial yourself, either online or somewhere else.
That’s not intuitive. It’s not too hard to learn, but you need to actively pursue learning how to do it. An average person doesn’t want to do that. An average person doesn’t even want to memorize more than one password. They should. But they won’t. Thus, password managers were created. And non technical minded people still don’t even use those.
You got to look at it from the point of view of someone who has no interest in knowing any more about their computer than how to turn it on, where to put their photos and how to open their browser and maybe an office suite. The kind of people that wouldn’t even update the system, if there wasn’t a notification asking for it. They’re not stupid. They just don’t care about computers and don’t want to spend any more mental power on them than necessary, the same way you wouldn’t want to think about manually keeping the timing of your car’s engine on point for the current conditions. You just want it to get you safely from A to B. Or maybe you do, but I assure you, most people wouldn’t.
A good modern gui also presents itself in front of you. It directs your attention to important buttons/options. You don’t need any prior knowledge to know that a cog shaped button labeled settings will take you to settings. Good UIs are self explanatory. CLI are not.
it also suffers from exponential growth complexity. CLI only has linear growth complexity. Every button and element you add to a gui makes refactoring the entire GUI layout exponentially harder.
If you ever had to teach anyone anything, properly teach, you would know it’s a myth. It’s self-explanatory to you because you’re already familiar with the logic, language, conventions. I’m guessing, you grew up with all that from childhood, and you just forgot how you had to learn all that, and now you assume this knowledge didn’t need to be taught. You think cog is a universally understood language for settings because you always had it in front of you. Just like a lot of people think/thought that 3.5 floppy is a universally understood icon for “save”, and people who grow up now have no idea what I am talking about.
And then you assume that you are the average person, and start measuring everyone by this mark.
But if several years of teaching people of different skills, motivations, and ages, how to work with computers taught me anything, it’s that there is no universal language, there is no, and cannot be anything self-explanatory, and intuitive interface is a myth perpetuated by people who newer used anything other that one OS they grew up with. There is no amount of skeuomorphism you can employ that doesn’t require at least some amount of learning.
And when it comes to learning, let me tell you, there is nothing more straightforward to teach than “you type words and then read what the computer typed you back.”
And if several years of tech support taught me anything, it’s that if a regular person who doesn’t care about a computer encounters a problem, they don’t have inherently better time fixing it with GUI, never, not at all, not in a million years. I however always have way better time helping them, if it’s Linux and I can tell them what to type and they can read me the response. This actually true even if people are good with computers and know their OS.
It’s self-explanatory to you because you’re already familiar with the logic, language, conventions. I’m guessing, you grew up with all that from childhood…
This argument can be used as a reason to implement GUIs.
If we wish to market to an audience that has had some basic experience with using Windows and Mac, we can skip some of the reteaching by implementing familiar GUIs
Most people do know how to use a computer though. Windows and macOS have been around for a very long time by now, and both have not required you to use the CLI for anything but very extreme cases in more than 25 years. You’re not starting with a blank slate. They know how a GUI is supposed to work. It is self explanatory to them. Shoving them towards a CLI is making them relearn stuff they already knew how to do. There’s a reason a lot of Windows migrants end up with KDE or Cinnamon. It’s familiar, it’s easy. Most people do in fact associate a cog with settings. CLI aren’t familiar to most people and thus a much larger hurdle.
Also, I’m not talking about fixing problems. The CLI is a perfectly valid tool to fix problems. Not everything has to be graphical. Just enough that you don’t need it unless something breaks.
A good modern gui also presents itself in front of you. It directs your attention to important buttons/options. You don’t need any prior knowledge to know that a cog shaped button labeled settings will take you to settings. Good UIs are self explanatory. CLI are not.
To be able to use the terminal, you either need another person to tell you the necessary commands or search for a tutorial yourself, either online or somewhere else.
That’s not intuitive. It’s not too hard to learn, but you need to actively pursue learning how to do it. An average person doesn’t want to do that. An average person doesn’t even want to memorize more than one password. They should. But they won’t. Thus, password managers were created. And non technical minded people still don’t even use those.
You got to look at it from the point of view of someone who has no interest in knowing any more about their computer than how to turn it on, where to put their photos and how to open their browser and maybe an office suite. The kind of people that wouldn’t even update the system, if there wasn’t a notification asking for it. They’re not stupid. They just don’t care about computers and don’t want to spend any more mental power on them than necessary, the same way you wouldn’t want to think about manually keeping the timing of your car’s engine on point for the current conditions. You just want it to get you safely from A to B. Or maybe you do, but I assure you, most people wouldn’t.
it also suffers from exponential growth complexity. CLI only has linear growth complexity. Every button and element you add to a gui makes refactoring the entire GUI layout exponentially harder.
If you ever had to teach anyone anything, properly teach, you would know it’s a myth. It’s self-explanatory to you because you’re already familiar with the logic, language, conventions. I’m guessing, you grew up with all that from childhood, and you just forgot how you had to learn all that, and now you assume this knowledge didn’t need to be taught. You think cog is a universally understood language for settings because you always had it in front of you. Just like a lot of people think/thought that 3.5 floppy is a universally understood icon for “save”, and people who grow up now have no idea what I am talking about.
And then you assume that you are the average person, and start measuring everyone by this mark.
But if several years of teaching people of different skills, motivations, and ages, how to work with computers taught me anything, it’s that there is no universal language, there is no, and cannot be anything self-explanatory, and intuitive interface is a myth perpetuated by people who newer used anything other that one OS they grew up with. There is no amount of skeuomorphism you can employ that doesn’t require at least some amount of learning.
And when it comes to learning, let me tell you, there is nothing more straightforward to teach than “you type words and then read what the computer typed you back.”
And if several years of tech support taught me anything, it’s that if a regular person who doesn’t care about a computer encounters a problem, they don’t have inherently better time fixing it with GUI, never, not at all, not in a million years. I however always have way better time helping them, if it’s Linux and I can tell them what to type and they can read me the response. This actually true even if people are good with computers and know their OS.
This argument can be used as a reason to implement GUIs.
If we wish to market to an audience that has had some basic experience with using Windows and Mac, we can skip some of the reteaching by implementing familiar GUIs
Most people do know how to use a computer though. Windows and macOS have been around for a very long time by now, and both have not required you to use the CLI for anything but very extreme cases in more than 25 years. You’re not starting with a blank slate. They know how a GUI is supposed to work. It is self explanatory to them. Shoving them towards a CLI is making them relearn stuff they already knew how to do. There’s a reason a lot of Windows migrants end up with KDE or Cinnamon. It’s familiar, it’s easy. Most people do in fact associate a cog with settings. CLI aren’t familiar to most people and thus a much larger hurdle.
Also, I’m not talking about fixing problems. The CLI is a perfectly valid tool to fix problems. Not everything has to be graphical. Just enough that you don’t need it unless something breaks.