ConcurTaskTrees is a notation for task model specifications which has been developed to overcome limitations of notations previously used to design interactive applications. Its main purpose is to be an easy-to-use notation that can support the design of real industrial applications, which usually means applications with medium-large dimensions.
The main features of ConcurTaskTrees are:
* Hierarchical structure, a hierarchical structure is something very intuitive, in fact often when people have to solve a problem tend often to decompose it into smaller problems still maintaining the relationships among the smaller parts of the solution; the hierarchical structure of this specification has two advantages: it provides a large range of granularity allowing large and small task structures to be reused, it enables reusable task structures to be defined at both a low and a high semantic level.
* Graphical syntax, a graphical syntax often (not always) is more easy to interpret, in this case it should reflect the logical structure so it should have a tree-like form;
* Concurrent notation, operators for temporal ordering are used to link subtasks at the same abstraction level. This sort of aspect is usually implicit, expressed informally in the outputs of task analysis. Making the analyst use these operators is a substantial change to normal practice. The reason for this innovation is that after an informal task analysis we want designers to express clearly the logical temporal relationships. This is because such ordering should be taken into account in the user interface implementation to allow the user to perform at any time the tasks that should be active from a semantic point of view.
* Focus on activities, thus it allows designers to concentrate on the most relevant aspects when designing interactive applications that that encompass both user and system-related aspects avoiding low levels implementation details that at the design stage would only obscure the decisions to take.
This notation has shown two positive results:
* an expressive and flexible notation able to represent concurrent and interactive activities, also with the possibility to support cooperations among multiple users and possible interruptions;
* Compact, understandable representation, the key aspect in the success of a notation is the ability to provide many information in an intuitive way without requiring excessive efforts from the users of the notation. ConcurTaskTrees is able to support this as it has been demonstrated by its use also by people working in industries without a background in Computer Science.
A set of tools to develop task models in ConcurTaskTrees, to analyse their content and to generate corresponding user interfaces are being developed. Tools can be downloaded
A book on Model-Based Design and Evaluation of Interactive Applications including an extended description of ConcurTaskTrees has been published by Springer Verlag.