Is this a joke? The main way most Linux users install software is still via the command line.
I reject the premise that the command line is not user friendly.
With either a GUI or a command line, the first step is going to be “Search the internet for the instructions.”
The second step for the command line option is “ctrl-c, ctrl-v”. The task is now complete.
The GUI option is only superior if it allows the user to skip the “Search for it” step. If it does not, now you are manually searching some arcane hierarchy for the specific location the developer decided to place that option.
There are two concepts in UI design that often pull in opposite directions. They are usability (the ability to do advanced stuff easily) and discoverability (the ability to find unfamiliar functions in the interface without resorting to the manual/the Internet).
Command lines are highly usable, but they’re not very discoverable. Most people have been trained to want the reverse—discoverable, but often not very usable—and so the command line scares them. It’s less a logical reaction than an emotional one, although not wanting to waste time on something they feel they shouldn’t have to deal with does figure in.
Thing is, Windows’ “everything is in the GUI” is an illusion. If you have to fix ailing Windows machines, or even just make one produce anything other than the default telemetry-infested user experience, sooner or later you’re going to end up mucking around on the command line or in arcane undiscoverable interfaces that are an order of magnitude worse than anything Linux has ever produced. Give me a command line over regedit any day. But most people outsource the repairs to their ailing Windows machines so that they don’t have to touch this stuff themselves. For Average Joe, finding someone who will fix his ailing Linux box for him is more difficult, because they don’t set up counters in the big-box stores that most people buy their computers from.
The whole point of the GUI is to be more intuitive. If you need to go to the internet to realize how to do the basic stuff, that means your GUI “failed” in its purpose.
That’s still unavoidable for very complex UIs though, but still you measure how good a UI is at helping people accomplish their tasks.
Agreed. And I certainly use a GUI more than a command line.
My point is only that the command line should not be considered “unfriendly” to the user.
I don’t think “intuitive” is the proper metric for determining user friendliness. I think “ease of accomplishing a given task” is much more important. There are many tasks for which the command line is faster and simpler than using a GUI. Windows tends to hide these simpler, faster methods from the user. By regularly exposing the user to the CLI, Linux pushes the user to learn them.
Every button click is a dialog with the computer. It presents you with options and context, and waits for you to make a decision. Using a GUI, even simple tasks are going to take several dialogs to accomplish.
Most of the time, though, the user knows the exact task that needs to be accomplished, and is just appeasing the computer by going through each dialog to get to the point.
In these cases, the command line can enable the user to skip all that uneccessary dialog and go straight to execution of the intended task. I would say that this is not “unfriendly”.
Of course, I normally use a GUI on Linux to control WiFi, so that’s not a particularly good example.
I regularly use shell scripts. I do know how to use the GUI to change file permissions to make them executable. But why would I open a file manager, browse to the file location, right click, select properties, select permissions, and save, instead of just firing off “chmod a+x *.sh”?
The last shell script I made for work automatically concatenated a bunch of PDF documents, applied a watermark, and printed two copies, all using command line utilities. A simple task that would take several minutes for the user to perform with GUI tools.
This was a simple task that was regularly performed by several users. The command line gave the user a simple, consistent method to automate this task. To my way of thinking, that makes the command line more user-friendly: it does not limit the user to the pre-configured operations allowed by the GUI.
I reject the premise that the command line is not user friendly.
With either a GUI or a command line, the first step is going to be “Search the internet for the instructions.”
The second step for the command line option is “ctrl-c, ctrl-v”. The task is now complete.
The GUI option is only superior if it allows the user to skip the “Search for it” step. If it does not, now you are manually searching some arcane hierarchy for the specific location the developer decided to place that option.
There are two concepts in UI design that often pull in opposite directions. They are usability (the ability to do advanced stuff easily) and discoverability (the ability to find unfamiliar functions in the interface without resorting to the manual/the Internet).
Command lines are highly usable, but they’re not very discoverable. Most people have been trained to want the reverse—discoverable, but often not very usable—and so the command line scares them. It’s less a logical reaction than an emotional one, although not wanting to waste time on something they feel they shouldn’t have to deal with does figure in.
Thing is, Windows’ “everything is in the GUI” is an illusion. If you have to fix ailing Windows machines, or even just make one produce anything other than the default telemetry-infested user experience, sooner or later you’re going to end up mucking around on the command line or in arcane undiscoverable interfaces that are an order of magnitude worse than anything Linux has ever produced. Give me a command line over
regedit
any day. But most people outsource the repairs to their ailing Windows machines so that they don’t have to touch this stuff themselves. For Average Joe, finding someone who will fix his ailing Linux box for him is more difficult, because they don’t set up counters in the big-box stores that most people buy their computers from.The whole point of the GUI is to be more intuitive. If you need to go to the internet to realize how to do the basic stuff, that means your GUI “failed” in its purpose.
That’s still unavoidable for very complex UIs though, but still you measure how good a UI is at helping people accomplish their tasks.
Agreed. And I certainly use a GUI more than a command line.
My point is only that the command line should not be considered “unfriendly” to the user.
I don’t think “intuitive” is the proper metric for determining user friendliness. I think “ease of accomplishing a given task” is much more important. There are many tasks for which the command line is faster and simpler than using a GUI. Windows tends to hide these simpler, faster methods from the user. By regularly exposing the user to the CLI, Linux pushes the user to learn them.
Every button click is a dialog with the computer. It presents you with options and context, and waits for you to make a decision. Using a GUI, even simple tasks are going to take several dialogs to accomplish.
Most of the time, though, the user knows the exact task that needs to be accomplished, and is just appeasing the computer by going through each dialog to get to the point.
In these cases, the command line can enable the user to skip all that uneccessary dialog and go straight to execution of the intended task. I would say that this is not “unfriendly”.
Well yeah, and it usually does so it is usually superior. Did you have to Google how to connect to a WiFi network with a GUI? Of course not.
True.
Of course, I normally use a GUI on Linux to control WiFi, so that’s not a particularly good example.
I regularly use shell scripts. I do know how to use the GUI to change file permissions to make them executable. But why would I open a file manager, browse to the file location, right click, select properties, select permissions, and save, instead of just firing off “chmod a+x *.sh”?
The last shell script I made for work automatically concatenated a bunch of PDF documents, applied a watermark, and printed two copies, all using command line utilities. A simple task that would take several minutes for the user to perform with GUI tools.
This was a simple task that was regularly performed by several users. The command line gave the user a simple, consistent method to automate this task. To my way of thinking, that makes the command line more user-friendly: it does not limit the user to the pre-configured operations allowed by the GUI.