Thanks, I agree. I did leave some things out on purpose to get the communities reaction to this general idea (also why it is a pre-RFC :)).
To answer some of the initial questions:
-
I did specify (though very subtlety) in the draft that I think keylogging on the playground would be beneficial to understand what trips up programmers working within the playground. Taking interval snapshots would be also useful and a little less invasive. Also option is basically what @konstin and @ker were eluding to as your developing a --send-diagnostics would be great to have as an option every time you run cargo build.
-
As for what data is collected I also wanted to open that up to discussion since I am not a language expert to know what is truly beneficial. I was thinking along the lines of the follow data:
-
any time a user runs Play record the code submitted
-
any time a complication is made record the result (especially any compiler error messages)
-
record or give the user any options to submit and resources used
- Possibly record the way the user interacts with docs.rust-lang using cookies, but this might be a little too privacy invasive
-
record session time (e.g. how long as the window been open without the text input cleared)
-
record lines that have changed (plus timing information)
That’s all I can think of at the moment on the data capturing. Like I said, I am open to ideas, but I really think this could benefit and give us real data to help shape the language the way it most makes sense. Does this make sense now? I will update the RFC in the git with this information this evening.