Syntactic Knowledge and Visual Knowledge
by Juan C. Dürsteler
[message nº 146]
|The traditional way of interacting with a computer needed what Ben Shneiderman calls “syntactic” knowledge. The graphical user interface has substituted syntactic for visual knowledge. Each one has its own advantages and drawbacks.
| || |
|Syntactic Knowledge. In the command line interface (MS-DOS in the figure) you need to know the set of applicable commands necessary to move through the hierarchy of directories, in order to open the file and use the editor commands. ||Visual Knowledge. In the graphcal User Interface (Word 2000 in the figure) you just need to know the elementary handling of mouse and menus in order to move interactively thorugh the hierarchy of commands dsicovering what the program has to offer. |
In order for interaction to be successful we need to master some type of knowledge or mental schemas that allow us to interact with the system obtaining meaningful results. We can distinguish two types of knowledge in this context.
According to Ben Shneiderman* (1998) syntactic knowledge is the information that needs to be memorised and maintained by a user in order to efficiently use a certain system. This type of knowledge is the one that has to be mastered when using a particular programming language. Once you have in your memory a broad enough amount of command and syntactical rules you can write programs with relative ease.
- Syntactic knowledge is very useful when you have mastered the language. In that case issuing commands is typically faster than moving the mouse and clicking the buttons of GUI based systems.
Syntactic knowledge has, nevertheless, some drawbacks:
- It places a substantial memory load on the user. Like what usually happens, this is difficult to retain over time if not applied frequently. Moreover the learning curve of such systems is comparatively steep.
- Hierarchical or modular structures are difficult to use in order to handle the complexity of the system. For example in a mail system there are many commands that terminate a message (for example the sequences CTRL-Z, CTRL-D or just a unique dot in an isolated line of the message), some of them cancelling the work, others sending the message and others just storing a draft and quitting. All of them can have a similar syntax but different modes of operation, which can confuse the beginner. It is by no means trivial to understand completely the hierarchical structure underlying every operating system. Nevertheless it's very easy to visualise it.
- It is system dependent. Changing to another machine can result in different commands for the same actions, diverse keyboard layouts. Also conventions can be a source of difficulties, for example using “S” for saving or for sending a file can produce confusing experiences.
- La curva de aprendizaje es muy pronunciada. Hay que leer manuales, resolver problemas y practicar regularmente si se quiere dominar el sistema de comandos. Además los menos utilizados se olvidan y partes del sistema pueden parecer que no existen ya que sólo se hacen evidentes mirando al manual.
The goal of interaction designers has to be, logically, to minimise these problems.
In parallel with syntactic knowledge we propose visual knowledge as the one that is needed to deal with a graphic user interface GUI. Unlike syntactic knowledge. Unlike syntactic knowledge, visual knowledge overcomes many of its problems, namely
- The memory load is relatively low, since the possibilities of the system are visible in the form of menus, submenus and other widgets that are susceptible to interaction, thus revealing their purpose without the need of memorising a particular syntax.
- Modular and hierarchical structures are easily to be visualized in GUI systems.
- The learning curve is comparatively flat, and these systems allow you to learn by practicing with them.
Nevertheless they also have some drawbacks
- GUI based systems are difficult to use for applying a sequence of actions on some objects, like the well known batch sequences of command line systems.
- It's also difficult to perform command pipelining. In a pipeline, outputs of previous action-object command can be fed to another action and so on. A clear example is the construction of a pipeline in Unix: you can link the output of a command as the input of the next as many times as needed, with different commands. It is simple and it has proved to be very efficient.
|Pipeline: some command systems allow you to link the output of a command with the input of other using the symbol "|". This permits performing very complex tasks with a few commands. |
- Visual interaction can perform poorly for certain types of tasks for users that have become proficient in both a command line and a visual system, although the learning curve of the first is steeper.
A typical example is that of programmers using a visual tool to design an object oriented program by visually drawing classes, objects and relationships. A skilled programmer is much faster typing than using a mouse. Certain actions need several clicks of the mouse when browsing through the hierarchies, becoming cumbersome when you need to use them repeatedly.
It appears that, invariably, the advanced users, the professionals of programming and in general the so called “power users” end up adopting the syntactic knowledge of the interface, be it the command line or the keyboard shortcuts that GUIs also offer.
For the rest of the mere mortals, that don’t have the time nor the need to go beyond this, they use visual knowledge, much easier to acquire and to understand.
* Shneiderman, Ben, 1998,Designing the User Interface, Reading, Massachusetts Addison Wesley Longman.
See also the articles 127 and 128 about interaction.
Links of this issue: