The Syntax-Semantics Model of User Knowledge

The Syntax-Semantics model of user knowledge provides a framework for thinking about user interface design. As such it is related to but higher level than the Model, View, Control architecture for UI's. The SSOA model provides a framework for thinking about the way in which a user interacts with the system.

Syntactic Knowledge

Each computer system is different from any other. The way in which a particular task is performed varies from one system to another. This system dependent knowledge is what philosphers call "contingent knowledge", that is knowledge that is true only in certain circumstances. In the SSOA model this is embodied in the syntactic component. The idea is that the syntax of a system is in some sense arbitrary, although the Chomskian view is that in human language at a deep enough level the syntax is the semantics. In any case the system designer needs to match this syntactic knowledge to the semantic level.

Semantic Knowledge

At the semantic level there are two models, the task model that exists for the user and the computer model. Both can be represented by a collection of objects and actions. Ideally there is a close match between the two.

An example: Word Processing

A printed document is made up of sections, paragraphs, sentences, words, letters. This hierarchy is understandable to the user. One is taught to write reports in a particular top down way that reflects this. Internally the computer represents the document in some way that reflects this hierachy. Words are white space separated strings of characters. Sentences are sequnces of words terminated by periods. Paragraphs are sequences of sentences.

A particular wordprocessing program, or document preparation system has to choose how to manipulate these objects of interest. In the earliest, ASCII based systems this was often done through the use of so called dot (.) commands. New paragraphs or new pages had to be preceeded by some arbitrary (but one hopes well chosen command). These commands and the rules combining them go to make up the syntax of the task. WYSIWYG editors can avoid many of these arbitrary choices through the use of direct manipulation.

Many documents found on the web are prepared in HTML format. This is a document markup system that is a subset of SGML and is specifically designed to be system independent, so that an Web page can be ported between different machines without special software beyond that required to transfer ASCII files between different operating systems. Thus HTML files can be mailed. If you select View source from the appropriate menu while reading this page you will see the fromat of an HTML document. Note the use of tags in angle brackets for markup. Eg < P > begins a new paragraph. Note the forced use of escapes to create angle brackets in the text.

Matching Syntax to Semantics

From the point of view of the interface designer to major task is to devise a syntax that makes it easy for the user to get the task done. This means matching the syntax to the semanitcs in a way that the user finds natural. If you think about user interfaces that you found easy to learn, you will probably find that they were able to make this match. Choosing a good analogy such as form fillin is often helpful. A carefully designed and logical command language can also work.

Return to GUI home page.

Last Changed: 17 April 1995