Chip's Quips
A tiny spark of wit for a highly flammable world

On human interfaces

July 16th, 2007 2:13:34 pm pst by Sterling Camden

Someone recently noted (and I’m sorry I can’t find the link) that command-line interpreters and programming languages will never go away completely, because the more complex the task, the more difficult it is to describe by pointing versus telling the computer what you want it to do.

The worst example of this that I’ve seen was a toolbar that a customer wanted added to their application several years ago in an attempt to be more “Windowsish”.  It consisted of ten buttons, labelled “0″ through “9″.  When clicked, they simulated pressing the corresponding key on the numeric keypad, for whatever input control had focus at the time.  How mouse-dependent is that?

Jeff Atwood encouraged us a few months ago to try putting down the mouse and forcing ourselves to learn keyboard shortcuts for greater productivity.  I’ve always been a command-line developer, even when working under Windows — where I usually have at least three command prompt windows open all the time.  Life pre-NT/95 was pretty bleak, though – back then you couldn’t even launch Windows programs from the command line.

The more complex the task, the more a GUI for it begins to evolve into its own language, by necessity.  The series of mouse movements and clicks required to instruct the computer become a narrative of their own, and the metaphoric associations of each action become deadened for the user — just as they do in human language.  Users have to memorize these sequences.  They are no longer intiutive.

The makers of Crystal Reports (and other Report Writer applications) find that a mouse-only interface is not sufficient for describing many complex tasks, so they add a programming facility like VBA.  In the failed attempt to create a programming tool that requires no programming, the user ends up having to learn two languages: the GUI and the tacked-on scripting language (hat-tip to apotheon for pointing that out).  I’m thinking that users might prefer doing everything in a powerful report writing DSL that can be extended by them using the same language instead.

I’m not anti-mouse.  Our friendly desk rodent works quite well for highly visual operations, like image manipulation and games.  But when the task requires communication of complex actions or information, language organized into words and sentences (tokens and commands) simply works more efficiently.  It’s more precise, and more expressive.  You don’t want to have to use a slider control to set a value that has extremely sensitive tolerances — you want to type it instead.

So how about using speech recognition instead of printed text?  In my opinion, even if all of the remaining problems with speech recognition find solutions, voice will never supplant print.  People in general, but especially geeks, tend to be more visually than aurally oriented.  We can visually process printed text faster.  We can spot mistakes in text that go in one ear and out the other. There’s a reason why our ancestors were not content with the spoken word, and invented writing.  Maybe one day our brains can be rewired such that we will be able to review and edit vocal submissions more efficiently, but for now I think visual representation of language wins hands down.

That’s where the command line (or text editor) hits the sweet spot.  We’re visual creatures, which is why we find GUI’s initially appealing.  But we need efficient representation of complex and abstract content, which is the domain of language.  When you can see the abstract symbols, you get the best of both.

Maybe one day we can eliminate the middle medium altogether, if brainwave interfaces prove usable.  You might be wondering if that would also eliminate the need for language, but if you think about if for a minute you’ll realize that it won’t — at least not for the foreseeable future.  Abstract concepts and complex procedures require a linguistic representation even within a single mind.  They are even, perhaps, a product of having developed language in the first place.

But I do wonder whether brainwave interfaces might someday be able to better communicate mental activities that strain the limits of language.  How would it be to actually feel the same emotions as someone else, without translating them in and out of poetry?  That might be a little too heavy for most folks.  Unless it could be effectively filtered, it would have the potential of undermining that most crucial support of human society: the white lie.

Now tell me what you think — in text.

Posted in Geek Meditations | 3 Comments » RSS 2.0 | Sphere it!

3 Responses to “On human interfaces”

  1. Douglas Karr says:

    I had a fellow Engineer once make fun of me and call me a “mouse cripple”. I’ve been working with keyboard shortcuts ever since!

  2. sterling says:

    “mouse cripple” — that’s a good one. I must confess that I use the mouse probably more than is good for me, but some folks are just painful to watch.

  3. [...] On human interfaces Someone recently noted (and I’m sorry I can’t find the link) that command-line interpreters and programming languages will never go away completely, because the more complex the task, the more difficult it is to describe by pointing versus telling the (tags: ui gui mouse keyboard hci humancomputerinteraction) [...]

Leave a Reply

Better Tag Cloud