Thoughts on an add-on collecting debug and usage data automatically?

I’m the developer of Contanki, an add-on currently in beta that adds gamepad support to desktop Anki. As I expected, several issues that have cropped up for users stem from using a variety of different gamepads on different systems. Something that would help a lot is to collect data on the gamepads people are using, but obviously I’m hesitant to just start collecting data, so I thought I’d ask the community to share their thoughts.

Obviously users can reassign the controls in the add-ons config, and most gamepads do work out of the box already. But the same gamepad can have different control mappings on different OSs, or even multiple mappings if it supports multiple modes. There’s also some that present themselves multiple times (I believe the second is a compatibility mode), controllers like joy-cons where multiple controllers have to work in tandem, which seems to work differently under different OSs, and various other potential pitfalls. And some, like the steam deck, straight up don’t work at all right now.

In particular I’d like to collect:

  • the user’s OS
  • the Anki and add-on versions in use
  • the name and id of the gamepad
  • the number of buttons and axes, and which are actually sending data
  • whether the user assigns a different controller than what the add-on detected (e.g. if the add-on thinks it’s an Xbox controller, but the user overrides that to set it as PS controller)

I imagine I’ll have a pop-up that asked the user whether they’ll agree to share the information. Alternatively there could be a button in settings that shares the data back, and users experiencing problems could click it to let me know as well as send me the info I need. If these aren’t feasible I might look at having it generate the debug info and let the user copy and paste it for when they report the issue. Obviously a lot of users won’t be bothered to do that, but at least for those who do they it’s easier for me to get the info I need from them.

1 Like

I’d suggest adding an option to voluntarily share data if a user runs into trouble. I.e. a “why is my controller not working” button that then guides them through a series of prompted steps (I.e. press all buttons on controller) to collect the required data before sending it over to you. This would avoid any privacy challenges from automatically collecting data and should service their needs from non functional controllers.

Although automatically collecting which controller is used seems reasonable however as that can allow you to know which controller to prioritize for support. However this idea might be controversial if this open source community is like any of the others which take a zero tolerance stance towards any data collection whatsoever.

The advantage of copy+paste is you don’t need to stand up a web service to collect the results, and don’t need to ask the user for permission (since they’ll only copy it of their own volition). But if you want to collect statistics, ask the user first, and do so in an anonymous way, I don’t see why people would have an issue with that.

Thanks for everyone’s thoughts. I’m going to go ahead with generating some debug info for the user to copy as a first step, and then look at prompting the user to send it automatically if it proves necessary.

2 Likes