<https://www.expressionsofchange.org/reification-o...
# thinking-together
g
👍 3
e
In fancy 3D modeling products like Maya, every GUI operation results in a textual output in a console of the equivalent command line operation. And so thus one can copy/paste GUI operations. Very few products go to this length but then 3D is a very complex world with lots of scripting that goes on, hence the need for this. Photoshop has a similar facility they call the "Actions", and you can script fairly complex sequences with relative ease in their system. Editing the scripts is a bit clumsy ,and of course there are all sorts of file path issues that crop up, as you are often saving to different folders, and it can get confusing as to which folder is "current" when you are changing folders so often as one does in Photoshop Actions. Top of the line GUI products have history palettes, and these two products are among the many that give the GUI super powers. Command line interfaces are bankrupt at this point. No excuse for them any more; just a hangover from Unix which is archaic as well. That being said, for highly frequent operations, it is provably faster to use the keyboard, as the human hand has 10 fingers while a mouse movement uses up your whole arm, so in terms of bits per second, the keyboard trumps the mouse easily, and anyone concerned with the overall data rate from the user will invariably seek to keyboardize whatever operation they are doing. It was a tragedy when the industry adopted the 12 function key DEC keyboard layout over the far superior 10 function key to the left IBM AT keyboard. The function keys to the left were super easy to reach reliabily, while the 12 keys at the top hardly anyone knows by heart. That cost us a lot of data rate, because we needed the function keys on top of the alphabet to create keyboard interfaces that sung.
g
the bit driving the interest for me is exactly that CLIs come with reified operations—if this kind of simple pluggability is keeping programmers out of GUIs, we have a great path forward for designing end-user systems that work graphically with a lot of the power that many programmers presume is only available to CLIs. i think modeling software is a great example!
d
This is a great article: it provides concrete, actionable ideas that I can use to improve the Curv GUI. [I've never used Maya because $$$. Are there open source 3D modelling tools that work this way?]
I'm sceptical that storing history in a GUI is alone enough to make a CLI redundant. The article mentions some additional powers of a CLI: composability, and scripting. CLIs are extensible: you can define new commands in terms of existing commands, and the new commands have the same status as built-in commands.
👍 2
w
What if the CLIs had better previews of their effects as many GUIs do?