<?xml version="1.0" encoding="UTF-8"?>
<smellDescriptions
  xmlns="http://autoquest.informatik.uni-goettingen.de"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://autoquest.informatik.uni-goettingen.de smellDescriptions.xsd">
  
  <smellDescription smellId="TEXT_FIELD_INPUT_RATIO" briefText="many text inputs">
    <textFragment>
      The ratio of interactions that enter text into text fields is relatively high in comparison
      with the other user interactions (
    </textFragment>
    <parameterFragment parameterName="textInputRatio" />
    <textFragment>
      %). This should be reduced. As an example, entering data can also be done using check boxes
      or combo boxes in the case predefined values must be entered.
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="TEXT_FIELD_INPUT_REPETITIONS" briefText="many text repetitions">
    <textFragment>
      In
    </textFragment>
    <parameterFragment parameterName="numberOfEqualEntries" />
    <textFragment>
      of
    </textFragment>
    <parameterFragment parameterName="numberOfAllEntries" />
    <textFragment>
      times ( 
    </textFragment>
    <parameterFragment parameterName="textRepetitionRatio" />
    <textFragment>
      %) of entering text into text field 
    </textFragment>
    <parameterFragment parameterName="textField1" />
    <textFragment>
      , the same text was also entered into text field
    </textFragment>
    <parameterFragment parameterName="textField2" />
    <textFragment>
      during the same session. Perhaps this can be automated, so that the user does not have to
      reenter the same text several times into different text fields.
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="TEXT_FIELD_NO_LETTER_OR_DIGIT_RATIO" briefText="many special signs">
    <parameterFragment parameterName="noLetterOrDigitRatio" />
    <textFragment>
      % of the text entered into text field
    </textFragment>
    <parameterFragment parameterName="textField" />
    <textFragment>
      was no letter or digit. This is an indicator that the entered data has to follow a specific
      syntax. This should be supported by syntax checking, auto completion or even providing the
      text fields in a way that does not require the entering of special signs as they are already
      included at the right positions.
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="HIGH_EVENT_COVERAGE" briefText="often executed">
    <textFragment>
      The task
    </textFragment>
    <parameterFragment parameterName="task" />
    <textFragment>
      covers
    </textFragment>
    <parameterFragment parameterName="ratio" />
    <textFragment>
      % of all recorded user actions. Therefore, it should be executed with a high efficiency.
      You should consider making the task more efficient, by minimizing the number of actions to
      be executed by users for fulfilling this task.
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="INEFFICIENT_ACTIONS" briefText="inefficient actions">
    <textFragment>
      For executing task
    </textFragment>
    <parameterFragment parameterName="task" />
    <textFragment>
      , the user has to execute a high number of inefficient actions (
    </textFragment>
    <parameterFragment parameterName="ratio" />
    <textFragment>
      % in average). Such actions are, e.g., scrolls. The number of inefficient actions should
      be as minimal as possible to increase the users efficiency in executing a task. Please
      check the task structure for occurrences of the following event tasks and consider to prevent
      them: scrolling (usually prevented by matching the size of a view to the available screen
      space).
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="COOCCURENCE_SUCCEED" briefText="usual cooccurrence">
    <textFragment>
      In
    </textFragment>
    <parameterFragment parameterName="ratio" />
    <textFragment>
      % of all occurrences, the task
    </textFragment>
    <parameterFragment parameterName="task1" />
    <textFragment>
      is succeeded by
    </textFragment>
    <parameterFragment parameterName="task2" />
    <textFragment>
      . This shows, that both tasks are likely used in combination. Please consider to support the
      execution of both tasks in one user action, e.g., by providing an appropriate button, to
      reduce the number of actions to be performed by the user.
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="COOCCURENCE_PRECED" briefText="usual cooccurrence">
    <textFragment>
      In
    </textFragment>
    <parameterFragment parameterName="ratio" />
    <textFragment>
      % of all occurrences, the task
    </textFragment>
    <parameterFragment parameterName="task2" />
    <textFragment>
      is preceded by
    </textFragment>
    <parameterFragment parameterName="task1" />
    <textFragment>
      . This shows, that both tasks are likely used in combination. Please consider to support the
      execution of both tasks in one user action, e.g., by providing an appropriate button, to
      reduce the number of actions to be performed by the user.
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="HIGH_TARGET_DISTANCE" briefText="long way to go">
    <textFragment>
      For executing the task
    </textFragment>
    <parameterFragment parameterName="task" />
    <textFragment>
      , the user utilizes
    </textFragment>
    <parameterFragment parameterName="noOfGUIElements" />
    <textFragment>
      GUI elements on average. As these GUI elements have a high distance to each other (
    </textFragment>
    <parameterFragment parameterName="distance" />
    <textFragment>
      on average ), they should be more colocated to ease the execution of the task for the user.
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="MISSING_FEEDBACK" briefText="missing feedback">
    <textFragment>
      A click on the button
    </textFragment>
    <parameterFragment parameterName="button" />
    <textFragment>
      seems to be missing user feedback. In
    </textFragment>
    <parameterFragment parameterName="multipleClickCount" />
    <textFragment>
      of
    </textFragment>
    <parameterFragment parameterName="allClickCount" />
    <textFragment>
      uses, the button was clicked several times. The average waiting time between two subsequent
      clicks is
    </textFragment>
    <parameterFragment parameterName="averageWaitingTime" />
    <textFragment>
      seconds. This is typical user behavior if the user does not see progress following his
      actions. Please consider showing the user some progress after he performed the
      first click. This is especially important if the operation triggered with the click usually
      takes longer than one second. This smell was observed based on task
    </textFragment>
    <parameterFragment parameterName="task" />
    <textFragment>
      .
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="UNUSED_GUI_ELEMENTS" briefText="unused GUI elements">
    <textFragment>
      In
    </textFragment>
    <parameterFragment parameterName="allDisplays" />
    <textFragment>
      times the view
    </textFragment>
    <parameterFragment parameterName="view" />
    <textFragment>
      is displayed, the following GUI elements belonging to the view were never used. They make up
    </textFragment>
    <parameterFragment parameterName="ratio" />
    <textFragment>
      % of all
    </textFragment>
    <parameterFragment parameterName="allGuiElements" />
    <textFragment>
      interaction elements in that view. This indicates, that they are not required and
      can, therefore, be removed. The unused GUI elements are:
    </textFragment>
    <parameterFragment parameterName="unusedGuiElements" />
  </smellDescription>
  
  <smellDescription smellId="DATA_ENTRY_METHOD_CHANGE" briefText="data entry method change">
    <textFragment>
      When executing task
    </textFragment>
    <parameterFragment parameterName="task" />
    <textFragment>
      , the users have to switch between keyboard and mouse in
    </textFragment>
    <parameterFragment parameterName="ratio" />
    <textFragment>
      % on average between two subsequently executed actions. Frequently changing between mouse and
      keyboard causes users to become slow when utilizing a GUI. Hence, these should be minimized to
      optimize the users performance.
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="GOOD_DEFAULTS" briefText="good defaults">
    <textFragment>
      When using GUI element
    </textFragment>
    <parameterFragment parameterName="guiElement" />
    <textFragment>
      in view
    </textFragment>
    <parameterFragment parameterName="view" />
    <textFragment>
      , the values selected by the users are not equally distributed. Hence, it may be useful to
      have a good default value. The users entered the following values with their respective
      frequency in brackets most often (only the five most important entries listed):
    </textFragment>
    <parameterFragment parameterName="selectedValues" />
  </smellDescription>
  
  <smellDescription smellId="CHECK_BOX_SINGLE_SELECTION" briefText="check box single selection">
    <textFragment>
      Found a group of check boxes of which only one is usually selected. In
    </textFragment>
    <parameterFragment parameterName="allUsages" />
    <textFragment>
      usages of the check box group,
    </textFragment>
    <parameterFragment parameterName="singleUsages" />
    <textFragment>
      times (
    </textFragment>
    <parameterFragment parameterName="ratio" />
    <textFragment>
      %) only one of all check boxes was selected finally by the user (considering, that all
      check boxes are always unchecked when they are displayed). If the alternatives represented by
      the check boxes are mutually exclusive, radio buttons should be used instead. The check boxes
      belonging to the group are:
    </textFragment>
    <parameterFragment parameterName="radioButtons" />
  </smellDescription>
  
  <smellDescription smellId="COMMON_TASK_RATE" briefText="common task rate">
    <textFragment>
      The user sessions show only a few commonalities. On average, ten subsequently executed
      actions need to be described by
    </textFragment>
    <parameterFragment parameterName="ratio" />
    <textFragment>
      different determined tasks. In the worst case, each action is its own task. In the best case,
      all actions are described by the same tasks. This indicates, that the users act relatively
      different as otherwise, all their actions would be described by only a few tasks. Hence,
      users seem to be missing guidance, as otherwise, they would behave similar resulting in less
      generated task which still cover many recorded actions.
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="MISLEADING_CLICK_CUE" briefText="misleading cue to click">
    <textFragment>
      In the
    </textFragment>
    <parameterFragment parameterName="noOfViewDisplays" />
    <textFragment>
      times it has been displayed to users, the element
    </textFragment>
    <parameterFragment parameterName="element" />
    <textFragment>
      has been clicked
    </textFragment>
    <parameterFragment parameterName="uselessClicks" />
    <textFragment>
      times although it may not be clickable (it is no, e.g., button). If the element is not
      clickable, then the element seems to give a cue that it was clickable although it is not.
      Hence, it should be considered to change the appearance of the element to prevent it from
      looking clickable. 
    </textFragment>
  </smellDescription>
  
  <smellDescription smellId="MOST_OFTEN_DONE_FIRST" briefText="most often done first in view">
    <textFragment>
      When opening the view
    </textFragment>
    <parameterFragment parameterName="view" />
    <textFragment>
      , users most often position the cursor into the text field
    </textFragment>
    <parameterFragment parameterName="textfield" />
    <textFragment>
      (in 
    </textFragment>
    <parameterFragment parameterName="ratio" />
    <textFragment>
      % of cases when the view is opened). This should be automated to remove one action required
      for users.
    </textFragment>
  </smellDescription>
</smellDescriptions>
