Hacker's Action Theory
Umut Akdemir (uakdemir@cs.umd.edu)
Action theory is a theory initially developed by German scientists in the field of applied psychology (Winfried Hacker, 1994[5]; Freese and Zapf, 1994[7]; Frese and Sabini 1985 [8]). Today it is applied in various fields of industry and science involving human action, like human capital in business [9], human computer interaction [1,4,10,13], and artificial intelligence [3].
Action theory defines a task-oriented view of human behaviors. The main purpose is to describe how a person completes a task. There are certain repeated patterns during completion of each task.
Leontyev defines 3 levels in of movements throughout the completion of a task:
i) Motive-activity
ii) Goal-action
iii) Instrumental conditions-operations.
In this approach, accomplishment a top-level activity depends on accomplishment of lower level actions followed by operations. Motives are inspirations causing a set of goals, and actions for these goals consist of various operations. Operations can be directly and subjectively observed and recorded, however for the observation of higher-level tasks (goal setting, motivational level) indirect ways like interviewing or questionnaires may be needed.
Action theory distinguishes three
different levels of task completion, categorizing task completion mechanisms as
skill-based, rule-based and knowledge-based.
Different Levels of Action:
1. Skill Based Level:
These actions are smooth, highly
integrated actions, which are done in a nearly unconscious fashion by the
users. The behaviors of the users are totally automated for a long time and
users do not do any serious mental work during the realization of the task. A
few good examples for this level are typing process of a secretary, save of a
goalkeeper or password entry for software users.
2. Rule Based Level:
Here actions are defined and users apply the actions consciously going through a predefined procedure. These procedures can be given to users by proper training, or they can also be learned by experience. Different states in the system may cause different procedures to be applied (For instance if water levels fall abruptly in a dam, the workers should follow a set of procedures to store water). Many of the daily monotonic tasks fall into this category. e.g. browsing through various websites using hyperlinks.
3. Knowledge Based Level:
This is the level in which users use
their mental capacity to solve a problem, which is not predefined. In order to
accomplish the task, they need to set the goals and organize their movements
for the solution. In this level we can define four stages in a complete cycle
for goal realization.
Stages of Actions:
(i) Setting the goals and sub
goals
(ii) Planning the way to accomplish the goals, deciding on the
means essential for this accomplishment
(iii) Physical execution of the
plan
(iv) Evaluation and control of the
results with feedback on the work done, application of the feedback in future
goal setting and problem solving procedures.
In the first two levels of action the control is feed-forward type, hence accomplishment of a task is predefined. Therefore it does not provide new information for the following tasks other than practice. However in knowledge based model there is feedback control, and after accomplishment of a task users gain information about their performance with feedback. Hence they recognize their mistakes and this improves their performance for future tasks. A good example for this may be unexpected errors met during development of a software by the creator. [1,2]
Organization of Interface for users:
After typists are given the
methodology for typing, improvement is based on practice, similarly pianists
practice for training. For regular users of a program, skill based task
completion takes much less time compared to rule based, and rule based
completion takes much less time compared to knowledge based. Hence a computer
program can be much more efficient if it lets users learn procedural ways to
complete a task fast. Teaching skill-based knowledge to a novice user should be
one of the main goals of a software application. For this purpose interactive
tutorials can be helpful to let users automate procedures essential for them.
These tutorials may require the users to do the same task for a certain number
of times or let them build macros, which will do the task in an automated
fashion.
Also, it is possible to improve user performance throughout software interaction. In order to let the user get feedback, software should have an undo and redo feature, which will encourage them to explore a wide variety of choices. During this phase a history-keeping feature can be helpful. Moreover for an application, in which tasks consist of discrete usage of sequential tasks, there can be an optional log analyzer, which may give feedback to the users about efficiency of their moves. For instance the analyzer may be able to grasp a task, which was done in n steps in the log file. If this task can be done in k steps (k<n), analyzer can inform the users about this sequence of steps they may not be aware of.
Users should also have a variety of choices in order to accomplish certain tasks in knowledge base level. If the software provides only one way to accomplish any task, then in the situations that users are stuck, it becomes harder for them to mentally develop the exact response needed by the software.
Design of visual programming language
development software interface (e.g. Microsoft Visual C++, J Builder) is a good
example for the application of action theory. Any systematic approach to
problem solving in these languages requires a decomposition of motives into
sub-goals and smaller operations. Visual programming language software should
encourage users in systematic approaches by providing top down design schemes
and flexibility in switching between top-level activity design, and bottom
level operation design. In Visual J++ while components can be added from the
template in a top down style, at the same time actions on some smaller
components can be edited synchronously without disturbing the top down design.
Also design of simulation software for
students and employees is a good example for stimulating the knowledge base
level. It gives chance to the user for exploration, and provides procedural
knowledge stimulating rule-based level in different situations.
Action theory is actually applied to design of decision support systems to aid manufacturing scheduling systems [10]. In his paper Higgins uses dynamic structure of action theory with feedback and task categorization to resolve insufficiencies in representation of cognitive work analysis. He uses the model to provide a user interface for a software application built for machine scheduling.
Theory classification:
Action theory can be thought of as explanatory and generative. It
explains the systematic ways a person uses in order to realize certain goals.
Yet it is not predictive, it has no guidance on how different designs can
improve the performance directly. Still it is generative as it gives models to
software designers about principle levels of user action. It may give the designer
extra insight about general organization of the interface (variety in
procedures for knowledge level usage, practice facility for skill-level
usage... as explained in scope/application).
Limitations and impact on other people:
Hacker also asserts that action theory is just a step towards filling cognition-action gap and the gap between theoretical and applied approaches [5]. It can be seen as a transition between theory and action. However it needs to be complemented by other theories in order to be used in HCI more efficiently. It distinguishes different type of user behaviors and determines the way users use their information to solve specific questions. Yet it is still far from being a prescriptive theory, which will guide software designers through use of different components.
Books and papers:
[1] Mark Antonius Neerincx, Harmonizing tasks to human knowledge and capacities- (dissertation), Groningen , 1995
[2] Matthias Rauterberg, Daniel Felix,Human
Errors: Disadvantages and Advantages, 4th Pan Pacific Conference on
Occupational Ergonomics 1996, Ergonomics Society Taiwan,
Erlbaum Associates, 1996.
[3]Rauterberg, M. (1996). Why
and what can we learn from human errors. In: A. Özok & G. Salvendy
(eds.), Advances in Applied Ergonomics (pp. 827-830). West Lafayette: USA
Publishing.
[4]ARNOLD, B. & ROE, R. (1987) User errors in Human-Computer Interaction.
In: M. Frese, E. Ulich & W. Dzida (Eds.) Human Computer Interaction in the
Work Place. Amsterdam: Elsevier, pp. 203-220.
[5]Hacker, W. (1994): Action theory and occupational psychology. Review of
German empirical research since 1987. The German Journal of Psychology, vol.
18, no 2, pp. 91-120.
[6] Leontyev,
A. N. (1978). Activity, consciousness, and personality. Prentice Hall.
[7]
Frese, M. and Zapf, D. (1994): Action as the core of work psychology: A German
approach. In H.C. Triandis, M. D. Dunnette, L. M. Hough (eds.) Handbook of
Industrial and Organisational Psychology, vol. 4. Palo Alto, CA: Consulting
Psychologists Press
[8]Frese,
M. and Sabini, J. (1985): Goal directed behaviour: The concept of Action in
Psychology. London: Lawrence Erlbaum Associates.
[9]
Rauch, A. & Frese, M.
(2000). Human capital of small-scale business owners and business success: A
longitudinal study on moderators and
mediators. Presented
at the ICSB World Conference 2000, Brisbane, June 16–18
[10] Higgins, P. (1998). Extending Cognitive Work Analysis to Manufacturing Scheduling. In P. Calder and B. Thomas (Eds.) Proceedings 1998 Australian Computer Human Interaction Conference, OzCHI’98, November 30–December 4, Adelaide, IEEE, pp. 236-243.
Online Resources
[11]Insight to learning process in various environments
[12]Further reading in action theory with good examples
[13]Task analysis in HCI, simulation of mental problem solving models