"Transparent Telemetry"

I'm interested in this. Every failed onboarding is another person who misses out on either using the great ideas implemented in Racket. Every success is a chance for these ideas to be improved and/or spread to other languages.

What causes new users to stumble before they even ask a question is worth knowing;

  • How do they get Racket?
  • how do they first interact with Racket?

I got some useful feedback in a comment from u/vplatt responding to What are the most frequently asked questions about Racket? on https://www.reddit.com/r/Racket:

Having just gone through some of this, and trying various things out in the IDE without having read any of the documentation yet at that point, I can tell you the things that brought me up short at first:

  • Where are the samples and how do I run them?
  • Why don't the snippets in the help files (which are supposed to be complete) work? (Requires 'requires'!)
  • How do I debug a program and step through code, and along with that, how do I view local variables, the stack trace, etc.? Can I do that in DrRacket or on the REPL? Why can't I set breakpoints in DrRacket?
  • How do I write a program that takes command line arguments? What's the proper way to do this in Racket or Scheme? (Example program could cover this.)
  • How do I compile the current program in DrRacket to an executable file? (Answer is 'raco' right, but how is that different from the menu option in DrRacket? )
  • What are these different "languages" in Racket? Aren't they all just Lisp, or Scheme and how is Racket different or special compared to just normal Scheme? Is Racket the same as R5RS Scheme? Could probably just link the Wikipedia Racket article: Racket (programming language) - Wikipedia
  • Why am I now unable to open my .rkt file in my other text editors? What did DrRacket do to my file and how do I fix it?

I'm as bad as anyone else - I know I should 'Read The Fine Manual' but I often just jump in and start pressing buttons and turning knobs - and I don't think I'm terribly unusual.

I believe a significant number of new users jump straight to the Racket command - perhaps based on experience with other programming languages.

With this in mind I believe opt-in to telemetry should be part of installation (including installarion via package managers), and to have effective coverage telemetry should cover

  • The racket command; commands that trigger an error
  • DrRacket; language selected, first errors (and what triggered)
  • The Racket LSP Server; errors (and what triggered)

If possible Racket-Mode should be included as a significant number choose Emacs.

I believe there is a case for extending the onboarding in DrRacket beyond language selection, but it would be nice to have the data to show this is the case. Similarly I believe adding onboarding to the racket command may be valuable for users who never start DrRacket.

Stephen :beetle:


Related:

https://www.reddit.com/r/Racket/comments/11j14sp/comment/jb2kvrj/?utm_source=share&utm_medium=web2x&context=3