## 4 A Framework for Improving Accessibility of Serious Games in Handheld AR
### Implementation of Technology Platform
#### 4.2.4 Calculation of Settings for an Individual User  
By tracking user interactions according to specified interaction parameters, it is possible to extract metrics from a set of xAPI statements that can help determine which settings better suit an individual user in the context of accessibility. A selected set of metrics is taken into account to calculate the interaction mechanism option in each of the tasks for transforming the virtual object. The metrics considered are related to:  
* skipping the task--parameter _skipped_ in the _extensions_ property of the _result_ attribute for the verb _completed_ and the object type _level_ (task);
* rating of the interaction mechanism--parameter _score_ of the _result_ attribute for the verb _assessed_ and the object type _interaction_;
* task completion time--parameter _duration_ of the _result_ attribute for the verb _completed_ and the object type _level_ (task). Since the usual interaction mechanisms in AR for mobile devices are touch gestures, the user is also offered a touch gesture as a default interaction option here. If the default interaction appears inappropriate for the user, an alternative option is offered (indirect control). The method for determining the interaction mechanism for a particular task is illustrated in Figure 6 using a UML activity diagram. If the user skips one of the related tasks (related tasks are tasks that have the same object transformation goal: translation, rotation or scaling), then the interaction mechanism of the related task that is not skipped is assigned to the user. For example, if a task with touch gestures is skipped, the setting for this task will be indirect controls. If the user skips both related tasks, the interaction mechanism in the settings will be the default one. If the user does not skip any related tasks, the user's subjective rating for the interaction mechanisms will be considered. If there is an interaction mechanism that is rated higher, the interaction mechanism from that task will be assigned to the user. If the interactions of related tasks are rated equally or at least one interaction is not rated, the completion time of the task is considered, with the task that is completed faster taking priority. If related tasks have the same completion time, the setting for this task will be the default interaction mechanism. \begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{**Settings Group**} & \multirow{2}{*}{**Setting Name**} & \multirow{2}{*}{**Setting Description**} & \multicolumn{2}{c}{**Adaptation Options**} \\ \cline{3-5}  & & & **Default** & **Accessible** \\ \hline \multirow{8}{*}{Interaction mechanism} & Selection & Interaction type for & & \\  & (_tapStyle_) & selection (of a virtual object or an option that affects a virtual object) & Tap gesture & Select button \\ \cline{1-1} \cline{2-5}  & Translation & Interaction type for moving & & \\  & (_movingStyle_) & a virtual object from one & Drag and drop & Arrow buttons (up, \\  & & place to another & gesture & down, left, right) \\ \cline{1-1} \cline{2-5}  & Rotation & Interaction type for rotating & Rotation gestures & & \\  & (_rotationStyle_) & the virtual object in two & (swipe, \\  & & directions (left/right) & two-finger-rotate) & Left/right rotation \\ \cline{1-1} \cline{2-5}  & Scaling & Interaction type for & & \\  & (_scaleStyle_) & changing the size of the & Pinch-to-zoom & Resize buttons (plus, \\  & & virtual object & gesture & minus) \\  & & (reduce/increase) & & \\ \hline \hline \end{tabular}
\end{table} 
Table 6: _Cont._The Selection task does not have its pair in the form of related tasks. However, it is assumed that the interaction mechanism calculated for the Translation task is also suitable for the Selection task. Thus, if the user's setting for the Translation task is the touch gesture, then for the Selection task, the setting is the tap gesture (because the drag and drop gesture contains the elements of object selection). Otherwise, an indirect control (a Select button) is used as the setting.