“<i>In 1979, when I was working at IBM, I wrote an internal memo
lambasting the Apple Lisa, which was Apple’s first attempt to adapt
Xerox PARC technology, the graphical user interface, into a desktop
PC. I was then working on the development of APL2, a nested array,
algorithmic, symbolic language, and I was committed to the idea that
what we were doing with computers was making languages that were
better than natural languages for procedural thought. The idea was to
do for whole ranges of human thinking what mathematics has been doing
for thousands of years in the quantitative arrangement of knowledge,
and to help people think in more precise and clear ways. What I saw in
the Xerox PARC technology was the caveman interface, you point and you
grunt. A massive winding down, regressing away from language, in order
to address the technological nervousness of the user. Users wanted to
be infantilized, to return to a pre-linguistic condition in the using
of computers, and the Xerox PARC technology’s primary advantage was
that it allowed users to address computers in a pre-linguistic
way. This was to my mind a terribly socially retrograde thing to do,
and I have not changed my mind about that.</i>”<p>— Eben Moglen, interview, 2000¹<p>① <a href="http://www.cabinetmagazine.org/issues/1/i_moglen_1.php" rel="nofollow">http://www.cabinetmagazine.org/issues/1/i_moglen_1.php</a>
I kind of think that the various voice assistants (Google Now, Siri, and Cortana) provide a sort of alternative command line. At least with Google Now, I find it's only useful if I memorize a command sequence I know works ("Ok Google, Navigate to ____") rather than allowing it to figure out what I want.<p>I sort of wish this voice command line was better documented, as it would make the tools more useful compared to a world where we try random sayings, and get disappointed when the software fails.
Because moving a pointer around and clicking on stuff is essentially quite a low-dimensional interaction. There are a bunch of things on screen and each is either clicked or not (okay, maybe hovered), at a fairly slow pace. The typical 87-key keyboard meanwhile gives you 87 on/offs right there and a good typist can be doing dozens of these per minute. Compare the speed with which a good vim user manipulates a document, with how you have to do it in Word. Of course, a graphical interface provides a much higher dimensional <i>output</i> device, but as an input medium with only a pointer, it's way behind the power of a well thought out command grammar.
Command line interfaces are two edges swords.
The purpose of a GUI is to make explicit what actions are available to the user. Command line interfaces use implicit knowledge. Implicit knowledge is more powerful in almost every way. Since it allows a much richer set of tools and the ability to combine tools, in a way that is not possible in a GUI.
The issue with command line is that it requires significantly more investment of time and knowledge learning the implicit tools.
I find smart phone UI's really annoying. I'd love it if my phone behaved more like Unix.<p>It would be great to be able to do stuff like grep the address book to extract contact details, edit a config file to change ring tone, manage alarms with cron use apt to update all apps etc.
Command line interface = My own garden<p>Microsoft Bob'ifying software development = McDonalds<p>The Ying: Complex systems require the ability to automate instructions and tasks, including low level and high level tasks and without being inhibited or insulated by the glory of a gui.<p>The Yang: Automation promises to simplify complex systems and which sometimes results in GUIs.
We're getting ready for the Pipem developer launch, which is an open platform for building text/voice/email "command line" interfaces to existing online services: <a href="http://pipem.io/" rel="nofollow">http://pipem.io/</a><p>Here's our Pipem pitch at Tech Wildcatters demo day
this summer: <a href="https://www.youtube.com/watch?v=o_0DSmZhLGw" rel="nofollow">https://www.youtube.com/watch?v=o_0DSmZhLGw</a>