home

Tue, 24 Aug 2004

HCI as language

TonyG and I were talking about human computer interaction as a conversation. If you consider a user interface to be a language, with a vocabulary and a grammar, then user actions are sentences. More specifically, taking the example of a direct manipulation style interface: icons or selections of icons are noun (phrases), gestures are verb (phrases). Dragging a file icon to the trash can is saying FILE GOES TRASHCAN.

A few things are apparent when you look at things this way: most direct-manipulation(-of-files) systems have effectively one verb (gesture): that is, GOES, usually indicated with a click and drag gesture. Most sentences are just noun-verb-noun. Also, the computer is mostly a passive partner in the conversation, aside from 'minimal encouragers' — brief sound effects and animations as feedback that the gesture was recognised.

Using more than one verb

I said before that most systems only have one verb GOES; you might contest that there is also INVOKE (intransitive), so let me qualify my position by adding that has meaning within the system. I'm saying that starting an application or opening a file is stepping outside of the language (more on this later, or in another post). In file manipulation, it may be that one verb is sufficient — the rest is interpetation based on the nouns in the sentence and the context. There seems to be a trade-off between a rich set of interpretations and a rich set of verbs, which is heavily weighted in favour of interpretations. This is a little weird to me.

The contrasting situation is to have a rich set of verbs (hence, gestures) and consistent meanings for the verbs. For example, to delete something you could scribble over it; delete should after all be intransitive, surely. If you want to modify something, click in it (this is half-arsedly approximated by the 'file-type associations' pattern in desktop systems). If you want to move it, select (circle?) it and drag it.

More complex sentences

Sentences in contempory graphical user interfaces are very simple; usually NOUN VERB NOUN. There's no recursion, only statefulness. What if you could form complex sentences? Sure, with only one verb there are not that many interesting complex sentences you can form. With many verbs you can make interesting noun phrases: Text similar to this text should be copied here.

Having a conversation

So far the computer is listening to what we say, and interpreting it as commands to update its state. The computer may as well not be there, it's just the user (as TonyG puts it) shuffling paperweights.

If we imagine the computer on the other side of the screen, and the screen itself as the speaking-space between the user and the computer, then we can have a 'proper' conversation. For a start the computer should ask when it doesn't understand or needs more information; and it should ask in the same language as we are using. What does this mean, concretely? Good question.

Top; this story; category (/geek/); permalink (LanguageAndInterface).