I love myself a good command line interface. I’ve been thinking about writing it again a couple of times but every time I check my post Why I love using command line interface? from 2019 and I don’t have anything to add to it.
One aspect I mention in that post is that command line solutions are shareable.
That’s what Michael Lynch writes about when he references Jeffrey Snover’s podcast interview in GUIs are Antisocial:
Last week, I was listening to the CoRecursive podcast interview with PowerShell’s lead architect, Jeffrey Snover.
One moment in that interview has been stuck in my head the whole week is when Snover argues that graphical user interfaces (GUIs) are inherently “antisocial”:
I realized that — you know, that the mouse is antisocial. The GUI is antisocial. So what’s that mean? You have a problem to solve, and you solve it with the GUI. What do you have? A problem solved.
But when you solve it with a command line interface in a scripting environment, you have an artifact. And all of a sudden, that artifact can be shared with someone.
Anti-social is not the terminology I’d choose – I think it’s antagonistic where we don’t need that. But I do agree on the sentiment that command line interface has a massive benefit over graphical user interfaces in this way. While I prefer command line interfaces over graphical ones, they are still very engineer-y and I don’t expect the majority of users wanting to learn the intricacies.
By the way, the way you did it can show cleverness. I’ve never seen anybody use a GUI in a clever way. Ever. There’s no cleverness to it. No, like, “Oh my god, you should see the way Adam clicked that mouse. Oh my god. Guys, guys, guys, guys, come on! Check it out: Adam’s going to click the button! Oh my god! That’s amazing!” It just doesn’t happen.
I have! When I was working in IT support for a local municipality in my early career, I found out that users of certain software in the health care sector had learned to use the GUI through the menu keyboard shortcuts in a very effective manner.
They might not even know what the path through menus were to achieve something: they just knew that to do action Y, they’d need to go through a sequence of keypresses like A1EEG4. That spoke volumes about the vast complexity of the software but I’d genuinely consider that a clever way of using the graphical user interface.