The Object-Action (or visa-versa) model and its applications

From Computing and Software Wiki

Jump to: navigation, search



Object Action Interface or Action Object Interface is changing the way people interact with systems. As more and more systems switch from text mode command based languages to Graphical User Interface (GUI) the problem now lies with visually representing and displaying of user's tasks objects and actions. Before GUI was implemented in systems and users had to remember a set of commands and if they ever had to use a command which was not used frequently they would have to refer to another user of the manual pages.

Object Action Interface is basically an extension to the Graphical User Interface, it also relates to Direct Manipulation User Interface. DMUI can help create better Human Computer Interfaces and can also increase the usability of the product

There are two basic interaction models for any given system.

Object Action Interface

In this model the user will select the object first and then select the action which will be performed on the object.

Example: In Windows, if you want to copy a file you will first select a file (Object) and then right click and select copy (Action).

Action Object Interface

In this model the user will select an action and then select the object the action will be performed on.

Example: In command prompt, if you want to copy a file you will input copy <Source File> <Destination File>. 'Copy' which is the action comes before the object '<Source File>'


There has always been distinction between those two models in several domains starting long ao by compiler designers who always wanted to distinguish between syntax, which is different tokens parsed from a source code file, and the semantics, which are the actual operations invoked by that text. Different areas use the syntactic-semantic model of human behaviour, such as programming, database manipulation facilities and direct manipulation (Shneiderman, 1980, 1981)


The difference between the two models can be seen when comparing a command based system (UNIX) to a GUI environment (Windows). The task to copy or move a file from one directory in UNIX is different than in Windows. In UNIX the action of copying is specified first and then object. In Windows the object is first selected then the action of copying is applied.

The Object Action Model is also used in a real life environment. If you want to move a file from one folder to another you will first select the file and then move it. You cannot choose the action of moving and then select the file.


Syntactic Knowledge

Definition: Syntactic Knowledge means the prior knowledge the user is needed and must be memorized before he is able to use the certain system efficiently.

Example: A user can use programming language efficiently if and only if he knows a good deal of commands and syntax specific to this language.

Syntactic Knowledge will have the following drawbacks:


Description: If the system is complex, a novice user is difficult to trace the system and the user will be confused because the system can not provide the hierarchical or modular structure.

Example: A user is trying to use a mail system which has several modes of terminations: ENTER to terminate a paragraph, CTRL-D to terminate a letter, CTRL-C to cancel a letter, CTRL-Q to quit the system and so on

-> A novice user might be confused by different modes of operations


Description: A considerable memory load is required from the user. Since the memory load of a human is limited, it is hard to retain over time unless the knowledge is applied frequently.

Example: commands for "CMD"

copy: copy the file to another location

cls: clear the screen

color: modify the background color

del: delete the file


->the command can be thousands or millions, the user can not memorize all commands very quickly


Description: The knowledge could be independent in different system; it is hard to apply the previous system knowledge to the new one.

Example: in windows, ctrl + c is set to copy the file and ctrl + v is set to paste the file; but in Mac OS, command + c and command + v are used to copy and paste the file respectively.

OAI Model


In the design of cognitive psychology applied in HCI (Human Computer Interfaces) studies, it can not be separated from the patterns of use. This is because when using a particular CHI (Computer Human Interface) and having difficulties, the user asks for help from different resources, resulting in psychical and social environments must be used under computer and information technologies, this awareness can be defined as situated action and distributed cognition.

->OAI model tries to combine both situated action and distributed cognition approaches and this is called Object-Action Interface Model


The figure above shows the designer mapping from real world universe and intention to the interface of metaphors and plans.

For example: consider a user who needs to write a business letter using word processing software on a computer

High level task action - concept of writing a letter

High level task - letter production

High level task object - the letter

Interface object - the letter will be stored as electronic document

Interface action - know the details of using commands: "new", "save", and etc

Low level task object - using spelling characters to form words / sentences

Low level interface object - know where the keys are from the keyboard or how to use the mouse

Task hierarchies of objects and actions

Tasks are composed of objects and actions at high and low levels. Not all users will find these hierarchies to be perfect, but since they are comprehensible, a great deal of usefulness is provided.


Dividing complex tasks into sub-tasks and solving the sub-tasks independently has been shown to be a successful way to solve larger complex problems. Most real world objects and entities involve the use of this property of creating sub-tasks to create a plan of smaller action steps. People learn tasks actions and objects within their lifetime and realize that the process is simplified greatly, when managing different smaller levels within a hierarchy. Issues of implementation are not considered as much when executing tasks using this method.


Three steps are suggested by Ben Shneiderman, the creator of the 8 golden rules of interface design, for designers to correctly build a task hierarchy.

   1. Know about the users and their tasks (Interviewing users, reading workbooks and taking training sessions)
   2. Generate hierarchies of tasks and objects to model the users' tasks
   3. Design interface objects and actions that metaphorically map to the real world universe

Interface hierarchies of objects and actions

This hierarchy is similar to task hierarchy, since it also contains hierarchies of objects and tasks at different levels.

Interface Objects

Users that interact with a computer system are exposed to high level concepts relevant to that system. These high level concepts include, but are not limited to: files, menus, buttons, pop-up boxes etc.. They acquire exposure to the properties of the objects and how manipulation of its properties can shape the use of the object. Through this experience, they achieve a basic understanding of how to perform actions and accomplish the tasks.

Interface Actions

These are also hierarchies of lower level actions which can be performed on objects relevant to the domain of computers as set out in the interface objects hierarchy. There are three levels of decomposition within the hierarchy. A high level plan might be to create a text file, which could involve mid-level actions such as creating a file, inserting text into that file and saving that file. The mid level action of saving the file can be decomposed into lower level actions like creating a backup copy and setting the access control rights of that file. More lower level actions might include naming the file, the location the file is stored, and dealing with errors such as space shortage and so on.


Users can learn interface objects and actions in several different ways such as demonstrations, sessions or trail and error sessions. Once these objects and actions depict a logical structure that the user can relate to other tasks objects and actions, the user is more likely to remember and implement this knowledge in the future.


Designers use the OAI model to understand the complexity of the processes that the user has to perform in order to successfully use an interface to perform a certain task. Designers model the interface actions and objects based on familiar examples and then adjust and fine tune these models to fit the task and the user.

Limitations and Challenges

Metaphor Interpretation

Each user's way of performing a task may vary. Defining steps completely with metaphors creates risk in the varying interpretations of metaphors amongst different users. Designers of object-action models must consider the wide range of interpretations that are possible when deciding on metaphors for an object. If there is a serious difference between the designer's interpretation and the user's interpretation of the metaphor used, the meaning of the model will be lost. In this case, all the work done to create the model will be lost and the user will be unable to perform the desired task with the interface.

Batching and Pipelining

Users of UNIX and other command line based systems may find that their usual actions of processing large amounts of similar data in one step more difficult in a OAI system. Using a model that focuses on the hierarchy of steps on one object causes this difficulty. Users of a OAI interface are encouraged to perform a series of actions on one object or one action on a series of objects. This somewhat rigid and unforgiving style used by the model can be limiting to some users. It becomes difficult to perform a specified set of actions to a specified set of objects. In command line interfaces, performing some set of actions on some set of actions is easily performed with pipe lining.

Adapting to Change

Users usually experience some difficulty in performing previously mastered tasks on a new interface system. Performing a task on a system becomes highly dependent on the user interface for most users. Changing the interface used in a task without changing any part of the task performed may cause some stress and difficulty. Users must relearn how to perform this task on the new interface as if it is a commonly performed task on another system. This relearning effort and time must be considered whenever an interface system involving metaphors, such as OAI interfaces, are being added, deleted, or changed.


  • Software Engineering 4D03/6D03/Computer Science 4HC3 Custom Courseware
Personal tools