Subject: RE: [hackers-il] Comments on "In the beginning there was the comm and line"

From: Chen Shapira <[email-masked]>
Date: Wed, 14 Feb 2001 10:16:00 +0200

> 
> So that's a lot like linear and illinear interfaces. Linear interfaces
> are like dog communications -- simple, effective, but inherently
> limited, while illinear interfaces can be considered languages,
> because commands in them consist of several symbols whose combination
> stand for a new meanings.

I like the idea of interfaces like language, I thought about it a while ago.
One of the reasons that GUI's are sometimes a pain is that their language is
so simple.
That one reason I'll never give up Word for any Linux word processor - none
of them has a scripting language. (Damn if I know why, the programmers were
probably using emacs/vi while writting it - didn't they get a clue?)

Anyway, GUI is very simple. You have little pictures, and you can point,
click (right,left and middle) and you can drag.
Thats it! You have 4 words you can say to comunicate with the computer! You
can only point at things and say "this" and "there". Horrible!

Perhaps what we need is a more intelligent input device that will enhance
the gui language.
MS invented a mouse that recognises "Touched" and "UnTouched". So the
program can react and behave diffrently when you work with the keyboard and
when you work with the mouse.

The idea is that people are good with gestures, they are an addition to our
communication, we wave hands while talking even when we are on the phone!
So perhaps we need some gesture based input system.

---

From: "Nadav Har'El" <[email-masked]>
Date: Wed, 14 Feb 2001 11:11:43 +0200

> probably using emacs/vi while writting it - didn't they get a clue?)

Use TeX or troff: they have excellent scripting capabilities.

By the way, John Ousterhout's Tcl/Tk [1] widget set was exactly what you
would have wished for: it's a widget set with built-in scripting language
that makes it natural (and almost a necessecity) to make your GUI application
scriptable. Unfortunately, Tcl/Tk never recieved quite the glory it deserves,
with Qt and Gtk now driving it nearly extinct... I'm saying "unfortunately"
because I once spent an entire summer writing a graphical application with
Tcl/Tk (in '93, I think), and I enjoyed it a lot - much nicer than Motif ;)
Back in '92 I was using an editor called "Point" that was similar to Emacs
but was written in Tcl/Tk and naturally had Tcl as its scripting language,
like Emacs uses Emacs-lisp.

[1] Tcl/Tk is now at http://www.scriptics.com/. It used to be (with Prof
Ousterhout) at UCBerkeley and then moved to Sun (to become Sun's offical
scripting language), and when Sun neglected Tcl in favor of Java, Ousterhout
created a new company, Scriptics. Tcl/Tk remain as free as it ever was.
History buffs, see http://dev.scriptics.com/advocacy/tclHistory.html

-- 
Nadav Har'El                        |   Wednesday, Feb 14 2001, 21 Shevat 5761
[email-masked]             |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |Spelling mistakes left in for people who
http://nadav.harel.org.il           |feel the need to correct others.

---

From: Adi Stav <[email-masked]>
Date: Wed, 14 Feb 2001 22:29:13 +0200

> can only point at things and say "this" and "there". Horrible!

Heh. Actually, I meant exactly the other way round. My problem with
GUIs is not that they are simple -- simple can be good. My problem is
that they can become difficult and inconsistent to the point of being
unworkable whenever they have to do anything nontrivial. 

I actually think Word is the perfect example of how linear interfaces
can go wrong. It does *not* have four words -- it has probably has
many hundreds if not thousands of menu options, icons and dialog box
fields. Yet your interface to it is very linear -- you do not combine
commands together to create new and more complex documents, you simply
apply one feature after another in the hope that it will all turn out
well, while the poor software keeps trying to guess what you intended
and present it that way. Any new feature necessarily means a new set
of commands, and these need to be learned by users, and their
interaction with every set of existing commands understood by both the
users and the developers.

An illinear interface would have fewer commands, but would let you
combine them as you work and teach it what you want rather than
instruct it what do do. Word actually has a few of these, such as
creating a document from a hierarchial organization, or its style
system, but it seems like these methods are not the ones receiving
most attention from the UI designers. A person's first approach to
Word would be to start typing away and use the toolbar buttons to
paint their text bold rather than design it while they work.

And VB scripting is another symptom of the problem... I don't the like
the idea of having to learn a new language whenever I reach the point
where the UI is no longer efficient. In Shell, I dont have to learn
ShellScript in order to write more complex commands -- the same
language I use for "ls" can be used for "ls | sort | grep" and for
more complex scripts. Can't the same be done for Word Processors?

> So perhaps we need some gesture based input system.

I think so. The mouse was so successful because it mimics hand actions
like touch, move, pick up, drop... More would be better :)