proactivereactive user and ‘Control’ amount of control a user needs while interacting with a system.
In addition, each persona is linked to a set of context variables. Selected higher-level user tasks, which are domain-dependent,
and platform preferences, become important factors for later pattern selection. Examples of tasks relevant to our case study on
a web-based application see Section 3 are: ‘Search database’, ‘Browse list’, and ‘Open Tool’, with examples of their user-
dependent properties being Frequency of use, Importance and Duration
. Furthermore, platform preferences such as Preferred Device
are included as context variables. An important characteristic of our process is that task and device
requirements are not universally valid across all categories of users. For example, for a novice user the search task may be less
important than the browse task, since heshe may not be familiar with the search criteria. The advanced user however, may rate the
search task as more important. In a similar manner the preferred device may vary between user groups. Currently we distinguish
between three types of platforms: web, GUI, and mobile applications. We adopted this classification from [12] who uses a
similar classification for his interaction design patterns.
The requirements matrix is a nested table, whose cells contain tuples as entries. Each row of the table represents a different
persona. The persona properties are categorized into user and context variables. Variables and categories of variables can be
ranked according to importance and impact, as determined by the designer. It is also important to note the task entries contain
references to the corresponding node in the task model. These references will help the designer in the later stages of the process
to select and apply the patterns appropriately. From a process- point of view, these references help in tracing task-related entries
back to their origins in the task model.
The selected variables from personas are used as input for the next step of our process, which consists of selecting a set of
applicable patterns. After the requirements matrix has been completed, the mapping module analyzes the information in order
to select appropriate patterns. This step will be described in the next section.
2.2 Pattern Selection
Each pattern is associated with a set of variables called P- variables. This set of P-variables captures the context of use of a
pattern. Selected examples of P-variables are illustrated in Table 1, using the shortcut pattern as an example Figure 2. The
described representation of persona and patterns permits us to draw a relationship between the values described in the
requirements matrix variables and P-variables.
Fig. 2. Shortcut Pattern
Table 1.
Selected P-Variables of Shortcut Pattern [8]
P-Variables Values
Application Experience Expert
Supported Tasks Function_Selection
Usability Criteria Guidance, Minimal Action
Patterns are selected based on a mapping module, which takes user and context variables as input, and suggests various patterns
as output to the designer. A library of patterns which is suitable for the domain should be used. In our case study, we used patterns
that were appropriate for the web. The mapping of personas to patterns is rule-based, ensuring forward and backward traceability
in the mapping. Such traceable output is essential for the evolution of the mapping module; if analyzed by expert designers,
it may provide indications of errors in the mapping and can be used as a validation technique.
The rule-based engine of the mapping module is based on: 1 Direct mappings of certain user variables with patterns.
Examples include patterns for certain user groups such as color-blind users, novice users, children, and users with
disabilities. 2 Mappings based on more complex relationships between user
variables, needs and design heuristics. This step is based on rules which link certain user needs with usability criteria [16]
and design outcomes. For example, certain combinations of user variables personality types, application experience and
learning styles are indicative of whether a certain persona requires more Guidance or Control, and this is captured in
the pattern descriptions.
3 Filtering based on context variables. The persona descriptions make references to typical tasks of the user-task
model. Here, particularly important information is the task type. As it turns out, some patterns are only applicable for a
particular task type i.e. Advanced Search Pattern and tasks of type search. The set of task types used in our case study
is displayed in Table 2. As it turns out, the elicited task types cover a good portion of the possible user tasks encountered
in web-based interactive applications.
The output of the mapping process is a set of patterns, linked with each persona. The designer must then use the appropriate patterns
to build a UI prototype. Patterns include a textual description, as commonly found in current pattern libraries, and relevancy data.
The textual description provides insight on the pattern application and will influence the selection process. For instance, some
patterns may not be used with others, and the designer may choose one of them over another based on that criteria. Relevancy
data consists of the importance of each pattern for the given set of users.
Table 2. Task Types
Task Type Description
Function_Selection The user selects one of the functionalities offered and made
available by the system. Data_Selection
The user is selecting and submitting a subset of the
provided data. Data_input
The user enters and submits data. Access
The user requests access to a restricted area. The system
provides the corresponding means.
Search The user is searching for
information. This step includes the system task of providing the
means for entering the search criteria and the display of the
search results.
Browse The user is browsing through a
list of information.
2.3 Pattern-Oriented Design