This is an outline for a possible analytics system for MultiMC.
It will be an optional system that works similarly to Minecraft's snooper, collecting anonymous information about a user's hardware, operating system, MultiMC version, etc. This will allow us, the MultiMC developers, to be able to see how many users we have, what versions they're using, what OSes they're using, etc. The system might be able to give us some insight whether the update system is being used or not.
The MultiMC analytics system will definitely need to track the following information:
- What version of MultiMC the user is running.
- What operating system the user is using.
- Info about the user's update settings, such as...
- Whether automatic updates are enabled or not.
- What update channel the user is using (stable, dev, custom build, etc).
Here is some more information that we don't absolutely need to track, but might be nice to know.
- How many instances the user has.
- The user's console settings, such as...
- Whether the console is set to show on instance launch.
- Whether the console is set to close on instance close.
- The user's Java settings.
- The user's locale / language.
- The user's country (not quite sure about this one... Maybe not a great idea).
If you have any suggestions for what we should track, post a comment on this gist.
Of course, we certainly should respect the user's privacy, so we should make it possible to disable this whole system completely. Some people, however, might be a bit uncomfortable with us tracking specific information about their settings and things, so we might also want to allow users to disable tracking specific things, rather than everything entirely. Doing this might also provide the users with some insight into how the system works and what it tracks.
For example, we would provide an option to "send information about my MultiMC installation to the MultiMC developers." Underneath that option, however, would be a label telling the user what information will be sent (listed above in the "Tracked Information" section), as well as some checkboxes allowing the user to disable sending certain information such as their settings, instance counts, etc.
Another thing that might be a good idea to do would be to prompt the user at first startup, asking them whether or not they would like to opt-out of the system. Making sure the user is aware of the existence of this system is a good idea.
Track:
Number of instances per minecraft version (existing), percentage of those actually played (started in the last month or so).