Sorry, I had to let cool down the discussion a bit.
I cannot give you hard statements on what all app developers might want to know. I think this topic is too specific. I can give you examples and try to explain them.
- The password app wants to know what ciphers are available on the servers. Most admins will have trouble answering this straight without support on how to acquire the information.
- The password app collects statistics on the user configuration what password service is used (like have I been pawnd).
- Recently I dropped support for NC 19 and 20 on the cookbook app. This was a requirement to drop some old code. I wanted to remove support for 21/22 as well. How many users would I lose?
- How many users installed the beta version? Read: Does the low number of issues indicate a stable beta version or just the fact that no one installed the beta release?
- What is the DB distribution? If I accidentally added a regression for PostgreSQL what are the chances these are detected by beta testers?
- How much time does reindexing all recipes take in average/max (this is done on regular intervals, currently)? Is this a problem that needs addressing? Are we slowing down Nextcloud significantly?
How many recipes does an average/median user have? 10? 100? 1000? - What apps are installed? Especially: Is the cookbook put in a group folder currently? β Number of users
- What is the highest index of a recipe in the DB? Do we need to update the data type as we approach an overflow on some instances (significantly miss-guessed)?
- How many of the requests are using the web frontend and how many are using the REST-API (aka are 3rd party services)?
- Especially with multiple versions of REST-APIs present: When can an old API be deprecated/removed without breaking too many instances?
These are just some questions, that I can think of. Some of them might be simple lack of imagination (how many recipes could a user have max? β smallint, int, or bigint?). Others are more related to the optimization of the app for the most common users.
These questions are of course no show stoppers. We can develop without the answers to the questions. It just aims to make development and especially development decisions simpler and better understood.
Quite some of these questions could be answered in a questionnaire. If we are talking of things the user can answer, this might be feasible. Evaluating the computing speed of the reindexing is something that might not be in the userβs hands.
One could also consider letting the admin download a JSON with all relevant information (collected from the server but not sent home). Then, the admin can upload this information manually in a browser to a website that will parse/process the data. That way, the admin can decide if he wants to participate and no code to call home is in the server.