Skip to content

Flow to use the Thomas Kilmann visualizations

Cristina Alonso edited this page Jun 7, 2018 · 6 revisions

Contents

Visualizations we want to see

The complete description of the Thomas Kilmann visualizations can be seen on the Thomas Kilmann wiki page. As a recap, the visualizations are the following:

  1. Thomas-Kilmann classifications over time
  2. Games shipped, awards won and office morale
  3. Overall classification for the player
  4. Distribution of answers according to the 5 TKI categories
  5. Ratio of responses for each bias

The following sections summarize the process to obtain these visualizations from the end backwards, that is, from the visualizations we want to achieved, we go back to the analysis that need to be performed to obtain those visualizations, then to the Experience API (xAPI) traces that are required for those analysis and finally, the calls that developers need to make to the tracker and the specific parameters required in those calls to successfully obtain those xAPI traces.

There are additional values defined for the Thomas Kilmann visualizations:

  • tkClassification is one of the following: avoiding, competing, accomodating, compromising or collaborating.
  • listOfBiases is a list of biases separated with commas. Each bias is a pair biasName:biasValue where:
    • biasName: gender, race, ability, occupation, fashion, otherSocial
    • biasValue: true or false
  • variableName: gamesShipped, awardsWon or officeMorale

Analysis performed to obtain the visualizations

  1. Thomas-Kilmann classifications over time:
    We filter the analysis with extension thomasKilmann. For each classification, we store its value.
  2. Games shipped, awards won and office morale:
    The three variables are stored as extensions with their values. For each trace sent with the extensions games shipped or awards won, their counter is incremented by 1. For each trace sent with the extension office morale, its value is stored and then the average of all the values of this extension sent over the period of time of the dashboard is calculated.
  3. Overall classification for the player:
    We filter the analysis with extension thomasKilmann. For each classification, we store its value, to then select the classification with highest value.
  4. Distribution of answers according to the 5 TKI categories:
    We filter the analysis with extension thomasKilmann. For each classification, we store its value.
  5. Ratio of responses for each bias:
    For each extension found of type bias, we create a new trace with only that extension. For each bias, we count the number of values of responses.

xAPI traces required for the analysis

The previous analysis required some statements in xAPI, detailed below. All traces sent by a player will have two fields: actor with a subfield name containing the player unique id; and another field timestamp containing the date of the trace in a date format.

The xAPI traces required have the following fields:

  1. Thomas-Kilmann classifications over time:
    • verb: selected
    • object: name of the alternative
    • result:
      • extensions:
        • thomasKilmann: tkClassification
  2. Games shipped, awards won and office morale:
    • verb: set
    • object: variableName
      • definition:
        • type: Preference
  3. Overall classification for the player:
    • verb: selected
    • object: name of the alternative
    • result:
      • extensions:
        • thomasKilmann: tkClassification
  4. Distribution of answers according to the 5 TKI categories:
    • verb: selected
    • object: name of the alternative
    • result:
      • extensions:
        • thomasKilmann: tkClassification
  5. Ratio of responses for each bias:
    • verb: selected
    • object: name of the alternative
    • result:
      • extensions:
        • biases: listOfBiases

Tracker calls

To track the previous xAPI statements, the adequate calls need to be made to the tracker. For instance, for the tracker implementation in Unity, the following tracker calls are required:

  1. Thomas-Kilmann classifications over time:
    Tracker.T.Alternative.Selected(alternativeId, response, Alternative.Question); and Tracker.T.setVar(thomasKilmann, thomasKilmannValue) where thomasKilmannValue is a string with the classification.
  2. Games shipped, awards won and office morale:
    Tracker.T.setVar(shippedGame, shippedGameId) where shippedGameId is a string
    Tracker.T.setVar(award, awardId) where awardId is a string
    Tracker.T.setVar(officeMorale, officeMoraleValue) where officeMoraleValue is a number (float or double) between 0 and 1.
  3. Overall classification for the player:
    Tracker.T.Alternative.Selected(questionId, response, Alternative.Question); and Tracker.T.setVar(thomasKilmann, thomasKilmannValue) where thomasKilmannValue is a string with the classification.
  4. Distribution of answers according to the 5 TKI categories:
    Tracker.T.Alternative.Selected(questionId, response, Alternative.Question); and Tracker.T.setVar(thomasKilmann, thomasKilmannValue) where thomasKilmannValue is a string with the classification.
  5. Ratio of responses for each bias:
    Tracker.T.Alternative.Selected(questionId, response, Alternative.Question); and Tracker.T.setVar(biases, biasesValues) where biasesValues is a Dictionary<string,bool> of biases and their values (true or false).

Clone this wiki locally