11.7. Configuration: Client-side sensor installation

The Register Experiment command helps the Experiment Administrator to configure server-side accounts. However, before an experiment can begin, it is also necessary to install and configure the client-side sensors. This is typically done after configuring the server-side accounts, since each subject's user key is required when configuring their client-side sensors.

In the case of our example experiment, we may wish to install two client-side sensors: a sensor for the Eclipse IDE which we will use to monitor development effort, and a sensor for the Emma tool which we will use to monitor unit test coverage.

11.7.1. Sensor installation by the Experiment Administrator

In some experiments, the subjects work in a laboratory setting where they login to a shared file system, such as a Unix cluster. In this situation, it is possible for the Experiment Administrator to install and configure the subject's sensors for them. To do this, the Experiment Administrator must have write access to the user's home directories, which is typically possible if the Experiment Administrator has root access or else knows the passwords for each of the subject accounts.

If write access to the subject's home directory is available, then the typical way to automate the configuration of subject accounts is by creating a shell script that invokes HackyInstaller on each of the subject's accounts. Section 2.21, “HackyInstaller CLI: Scripting” provides an example of such a script.

11.7.2. Sensor installation by Subjects

In cases where subjects work on their own computers, it is typically not possible for the Experiment Administrator to take over responsibility for sensor installation. In this case, the Experiment Administrator must provide instructions to the subjects on how to install the sensors by themselves.

These instructions must include the following.

  • The user key generated by the Experiment Administrator for each subject;

  • The location where the HackyInstaller application can be downloaded. Note that subjects must also download and install Java if they do not have it already installed.

  • Instructions on how to use HackyInstaller to configure the user environment. These instructions can lead the subject through the use of the GUI to configure the environment. Alternatively, the instructions can explain how to download a script that the user can invoke in a command shell to finish the installation process. The script-based approach is often easier for the user, though development of scripts for all possible platforms imposes extra burden on the Experiment Administrator.

  • Some procedure for verifying that the sensors are installed and sending data to the server correctly prior to the start of the experiment.