@synlogic4242 @anildash Um, so that helps me find the damn command how exactly?
A system that requires people to memorize large numbers of commands and consult often out of date or untranslated help files (which themselves tend to be written assuming the user is experienced) are the opposite of discoverable.
@anildash @synlogic4242 The fact that grep is a thing after all this time, and the fact that I still struggle with practically using it despite using Linux off and on since Slackware in 1995 really says it all. Like congrats to those who have pulled it all off but nobody should have to do this just to use their damn computer effectively.
I think many in the space view the mastering of such unnecessary complexity as a badge of honor and a way to keep others out of their clubhouse.
but I find CLI tools the ideal way to work fast, efficiently, productively, with high composeability and reuse. massive bang for the buck. whereas with a GUI its like starting with training wheels attached, and lead ballast weights, then... *never* being allowed to remove them or grow out of them. I can (and have) written entire books in vi/vim. the number of times I see youngsters reinventing the wheel with yet another GUI or web/cloud/mobile thing is breathtaking when not sad and hilarious. "Guys, I just made a way to write code in a browser, OMG guys, and its super discoverable and AI-infused guys!"
*meh* ;-)
@synlogic4242 @anildash That's very cool for you. I also enjoy the cli for a lot of things.But it does not change the fact that the way it's designed at all levels it's inaccessible to the vast majority. That could change if those in this space chose to change it. VMS showed intuitive clis were possible. But there is no will to do so.
It is true that the CLI is very powerful and useful, it's too bad that the community does not wish to make it accessible to all.
@synlogic4242 @anildash IMO a CLI should have discoverable and obvious commands to do all significant functions that one would need a CLI for. Help should be standardized and multilingual in the top 100 or so languages, and the commands themselves should be multilingual, copy in english makes no sense to someone who speaks Thai as their primary language, the commands should be localized as well as the help files.
All should be built to work with accessibility tools as well, as should output.
@synlogic4242 @anildash The barrier to entry is very high, and higher still if you are not native english speaking. Tech as it stands is a form of colonialism, forcing non-natives into both terms and structure that are even less intuitive to them than they are to native english speakers.
Again, treat everyone as a first class user, build accessibility in as a primary component and you will have a strong case. Right now it inhibits most.
@reflex hey I like fact you are passionate about this topic. I am too. Sounds like we agree on some but not all. :-)
btw I have a longer form piece I've been writing, over years, a WIP, titled "GUI Anti-Patterns / GUIs Are Anti-Patterns", maybe I could CC you on it when I have full draft for folks to read? I like steelmanning my points/reasoning
@synlogic4242 @anildash Wow, because a file icon, a save icon, an open icon, etc are totally as incomprehensible as CLI commands.
Insulting the users says more about you than it does about them. Iconography is inherently discoverable, random commands with crazy ass names are not. Iconography literally goes back to the beginnings of human communication.
@reflex @anildash let us assume one is a child. how does one learn the English word for <apple>?
Someone tells you. They show you. Now you know its apple.
Now that you know apple, does that empower you to learn the English word for <saxophone>? For free? Automatically? No, it does not. Instead you have to climb the same hill: someone must tell you, or show you, until it sticks and you memorize it. Neither apple or saxophone were discoverable in an ether, in an absence of all other context or humans trying to teach you.
Same "flaw" exists with ls, ps, grep, git, etc. Except that when we teach folks about their existence and use we take advantage of fact the student already know hundreds/thousands of other, foundational words. That empowers them to self-learn by reading books, docs, cheatsheets, screenshots & videos. The same as with GUI apps. You must understand some foundational human lang (English, eg.) or iconography (a stoplight, a floppy disk, a "back arrow" etc) in order for the GUIs use to be "discoverable" by you. And you have to be willing and able to experiment hands-on, trial and error, to polish your grasp. Same with CLIs and GUIs.
@synlogic4242 @anildash You know what's really awesome? User interfaces that do not require you to be handheld to learn them! In fact we've been using such interfaces since the late 80's successfully and now they are the dominant method because, well, they work and are far less time and effort intensive.
Elitists of course whine about it because they want a high barrier to entry to protect their sense of being special.
Plus, of course, the english-centric nature of the CLI...
@synlogic4242 @anildash Or, and hear me out here, app developers should actually write their apps in ways that make them multi-lingual by default rather than just being techno-colonial bros who expect others to learn their language.
Again, this is gatekeeping. It's not realistic to expect every group to write their own operating systems from scratch, and it wouldn't build a world you envision since basically you'd have hundreds of competing standards.
@reflex (dropping Anil so not spamming him)
we might disagree on one point. I dont think everyone is entitled to get the fruits of everyone else's labors. And I think we all are empowered to spend time as we wish. I am not entitled to be able to buy and stream view a film about two nerds playing Pac-Man -- someone out there would have to make it, as they wish, and decide whether and how to share it. Including in what lang translations etc. Up to them not me. As with our relationship to software, both GUIs and CLIs.
@synlogic4242 Nobody is telling you how to spend your time. But complaining that people are dissing on the CLI without being willing to help make it accessible to everyone is a contradiction.
The solution to making the CLI a powerful tool for everyone is to make it accessible to everyone. Until then it will always be a lesser interface for the vast majority.