Pattern Selection Pattern-Based User Interface Development

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