BlueJ Blackbox Data Collection Project

The BlueJ Blackbox data collection project is an initiative by the developers of BlueJ to collect data on how BlueJ is used, in order to increase understanding of how students learn to program. The data collected is for the purposes of academic research, and will only be used by computing education researchers.

Frequently Asked Questions:
What data will be sent?
The main data that will be sent is the (anonymised) source code from your projects. We also record the use of the BlueJ interface: for example, which methods are invoked, use of the codepad, use of the debugger, and how you use other features of BlueJ. No identifying information (e.g. username) will be sent with the data.
Who will the data be sent to?
The data will be sent to a server hosted at the University of Kent in the UK. Researchers at the University of Kent will have access to the data in order to analyse it, and access will also be provided to other recognised computing education researchers for the purpose of analysis.
How will the data be anonymised?
No identifying information (e.g. username, machine name) is sent to the server. The name of the project is sent, but the full path (which probably contains your username) is not. Source code is sent, but all comments before the class begins are blanked out -- that is, the top comment before your class will be blanked, as that typically contains your name. All other code (and comments) are sent to the server.
How much traffic will this generate?
The exact rate at which data will be sent is dependent on the actions you are performing and the size of your source code base. As an estimate, we believe for a handful of small classes (e.g. the projects accompanying the textbook) that the upload will be around 3-4 Megabytes each hour of continued use, and the download will be around 1 Megabyte each hour. As a quick point of comparison, loading the BBC news front page once involves downloading around 0.5 Megabytes of data and uploading 0.06 Megabytes.
How can I opt in/out?
To change your participation in this research, in BlueJ 3.1.0 and later, go to the Preferences window, and under the Miscellaneous tab there is an option to change your current participation.
Why do I repeatedly get asked if I want to opt in?

Your participation status is stored in BlueJ's properties file. This is stored in your user profile directory on your machine. For a home machine, or a school network which supports persistent profiles, you should be asked once, and this decision stored thereafter.

However if your network does not keep your profile, you will be asked every time you load BlueJ, because BlueJ cannot tell that you have been asked before. In this case, you will need to contact your network administrator and tell them to either let profiles persist (the ideal solution), or otherwise to alter the bluej.defs file supplied with BlueJ to include the line:

I'm a network administrator; how I do disable participation for my users?

If you want to opt-out your users by default but still allow them to choose to opt-in later, you can alter the bluej.defs file that is install with BlueJ to include the line:


Alternatively, if you want to opt-out your users and prevent them from re-enabling participation, we have provided an alternate BlueJ release that completely disables the data participation mechanism. You can download the release here -- it should act as a drop-in replacement for the usual BlueJ installer.

My question isn't answered here
If you are having a technical problem with BlueJ, even if it is related to the Blackbox project, please contact us via our standard support form. If you have a question about the research side of the Blackbox project, you can contact us at