|Оригінал англійською||Переклад українською|
Many drivers determine the functions of the product: deeds of users and any other stakeholder, product vision and definition, business objectives and model, and technology.
The outcome is what we have on the function layer. It includes all the parameters, information items, and actions that are relevant to the domain of the application or system (e.g., time management). Combined, all of these represent the functionality of the product.
Designers typically group parameters, information items, and actions pertaining to a given domain into functional chunks according to a common purpose or meaning for the user. They define functional chunks based on the relevant research and analysis (user, market, etc.). The functional chunks can revolve around tasks and/or objects.
In this book, we focus on the two primary forms of functional chunks: task-oriented and object-oriented. There is another form of functional chunk and that is the content-oriented chunk. We will mention it here but the methodology part of the book will not focus on it. Defining these functional chunks is a part of the conceptual design process. The second part of the book deals with the methodology of conceptual design.
Task-oriented functional chunks are collections of tasks serving a common purpose (see Figure 4.1). Task-oriented chunks enable the user to reach a tangible goal, accomplish something concrete (such as set an appointment or set a reminder or get information about a specific topic). A task-oriented chunk could also be purely for fun and engagement with no tangible utility (e.g., a game task such as "place all the cards in order according to a set of rules").
Object-oriented chunks include an object from the subject matter of the application domain (e.g., an appointment, a printer, a page, a trip, or a parking location) with tasks relevant to that object (Figure 4.2) (Shneiderman, 1988).
Content-oriented chunks are collections of information items. Each chunk is a content category. Users typically search for and use the information items for various purposes (Figure 4.3).
THE RELATIONS BETWEEN FUNCTIONAL CHUNKS AND COMPOUND CHUNKS
Often, a single functional chunk does not fully support the completion of a task. More often, it does not support the accomplishment of user goals. In such cases, we look for several interrelated chunks to support task, object, and content chunks making up a compound chunk (Figure 4.4). Having several chunks within a compound chunk depends on how strong the relations between the chunks are. The strength of the relations depends on frequency of use, task structure, and interaction flow. Let us look at a small example to clarify. In order to support users in preparing to print something, we can have a compound functional chunk including objects such as the printer and the page, and these are related to task-oriented chunk including opening, changing, removing, saving, and printing.
FIGURE 4.4: The idea of a compound functional chunk.
Functional chunks in the appointment example
The four applications implemented on different channels serve the same function: setting the various parameters of a new appointment. This common function seems to bond, in each of the applications, three chunks of parameters and actions aimed at supporting the accomplishment of that function. The "functional chunks" in the example of the appointment setup applications include the following:
- Subgoal 1: Define the details of the appointment.
- Subgoal 2: Set a reminder.
- Subgoal 3: Define a recurrence for the appointment.
The contents of the functional chunks reflect what the user does. A hierarchical task structure can represent this formally. The root of the task tree is the main goal of the user: define the key details of the appointment, common to all four applications. This goal is further broken down into three subgoals and their associated actions (Figures 4.4 and 4.5).
Are the functional chunks in this example task-oriented or object-oriented? It seems that that all parameters and actions related to setting an appointment can be viewed as a single object-oriented functional chunk. However, there is a separate functional chunk for each of the subgoals and those are task-oriented functional chunks. In the methodology part of the book, we will discuss the construction of functional chunks, but for now, this example can already be an indicator that often, functional chunks of a different nature, task- or object-oriented, are combined to serve better the high-level user goal.
FIGURE 4.5: The task structure for accomplishing the goal of setting an appointment with a focus on the three functional chunks for each of the subgoals.