Matchmaker PCP Communication Proposal

From wiki.gpii
Jump to: navigation, search


Unidirectional MM->PCP

An unidirectional communication is the matchmaker passing on information to the PCP, without the ability of the PCP to answer on that information.

Typical Information contained

  • Status of the matchmaker
  • A list of settings a user might be most interested in changing
  • Links to information pages

Matchmaker Response

The proposal is to extend the matchmaker response. A (shortened) sample of the extended matchmaker response:

  "settings": [
      "name": "Windows Built-in Screen Magnifier",
      "id": "",
      "contexts": {...},
      "settingsHandlers": [...],
      "lifecycleManager": {
        "start": [
            "type": "gpii.launch.exec",
            "command": "${{environment}.SystemRoot}\\System32\\Magnify.exe"
        "stop": [
            "type": "gpii.launch.exec",
            "command": "${{environment}.SystemRoot}\\System32\\taskkill.exe /f /im Magnify.exe"
  "matchmaker-status": "Inference successful",
  "most-relevant-settings": {
    "display.screenEnhancement.magnification": "1.5",
    "display.screenEnhancement.-provisional-magnifierPosition": "LeftHalf"
  "info": [""]

Response: Settings

Mandatory. This is the payload as we had it till now. It's a list of solutions the matchmaker inferred settings for. It contains all information for the settings handlers to configure the client, as well as instructions on which applications to start. No change required.

Response: Matchmaker Status

Mandatory. Contains the state of the matchmaker after inference. Currently just an enumeration, but could be extended to be its own object, if need be. Some state suggestions:

  • Inference successful
  • Inference failed (could be a statistics/rule error, but the client app might want to react on that)

Response: Most Relevant Settings

Optional. A list of (common or app specific) settings that can serve to populate the PCP. These terms are the ones a matchmaker thinks the user is most likely to change.

Note: Could also be a list of adjusters, if we have a method of inferring the respective adjuster for a term. Might be tricky for app-spec terms?

Response: Info

Optional. A list of urls that link to explanatory pages generated by the matchmakers with information for the user. For example the keyboard-shortcuts of a new screen reader we never launched before.

Bidirectional MM->PCP

A bidirectional communication is the matchmaker or the PCP sending information to the other, with the expectation to get a respond.

Canditates for Matchmaker Responses:

  • Adjuster to assess matchmaking results, e.g. '5 Star' '`Dislike' 'Try Different', etc.
  • Note: Decision which assessment method to use should base on the used matchmaker. Rationale: assessing an automatically applied configuration requires future inferences to be improved based on the assessment of a user. As matchmakers are different in their inference techniques, there is no universal assessment method to fulfill all requirements to their individual machine learning strategies. Examples: ‘5 Stars’ might be useful for the STMM, ‘Dislike’ plus changing settings with PCP/PMT is more convenient for rule-based approaches. ‘Try Different’ is also useful for rule-based approach, for instance, alternative settings (and combination of settings) can be provided.

Decision pending.