Is telemetry in Inform 7 useful?

Do people actually use this for classes? I’m not teaching anything but for kicks and grins I tried it out by adding an asterisk style comment within my source and the telemtry displays this:

It doesn’t even tell you where in the source that is. Obviously the user can search for it. But then why not just have the teacher annotate my actual code rather than have me look at telemtry for some out-of-context message that I now have to search my code for anyway? You can add multiple such statements but then you just get this:

Again, without context it’s sort of useless. I would rather just suggest that teachers annotate the code with a comment like:

[ INSTRUCTOR: What did you mean to do here? ]

That way I can just search on all INSTRUCTOR: text.

I’ve done a lot with teaching of various topics using Inform 7 and I think there can be some benefits to the telemetry approach. Case in point is that I would argue there is a benefit to what you’re observing. A comment such as you suggest won’t cause a build to fail. But consider that once you, as an instructor, put in something like this:

* "You might want to consider breaking this out into a phrase."

That fails the build right there. So a student who runs their project which has been annotated as such will get a build failure.

I just mentioned that from the instructor perspective but students can also put in those asterisked statements (which is clearly what the intent seems to be) and then the instructor looks at the telemetry. But I’ve actually found it can be very workable the other way around, often more so.

I would agree that the telemetry file itself won’t be useful but keep in mind that in the IDE each asterisked message will be given a little link icon. So the instructor or student can click on each one, which will take them to the specific bit of text, thus taking them to the context. You couldn’t do that with a comment.

First Caveat: From a purist developer perspective, I know the argument could be “But that ties things very specifically to the IDE and no good programming language should do that.” But Inform 7 is heavily tied to its IDE for all practical purposes. So if that’s of concern, telemetry is probably not the place to plant that flag.

Second Caveat: Depending on the age or background of the students, version control and pull requests (and comments on those requests) are much better mechanisms for source text feedback. Again, of course, this is highly dependent on the student base. I mention it only because I feel like the sweet spot is something in between a full on version control process and the telemetry that is provided. What I just said right there has been the extent of my thinking on the subject.

What I’ve found less useful for the teaching aid aspects is the idea of an “Options.txt” file, which is mentioned along with telemetry. Instead, I just provide an extension.

My rationale is that with the “Options.txt” file I would have to make sure that it gets updated on each computer. Sometimes students are using their own computer or are remote and so this file isn’t very practical. But if I provide an extension with a version number, I can make sure that not only do the students all grab that extension but I can also make sure they have the right version.

“Options.txt” files are also limited in what they can contain whereas extensions are not so I can provide a great deal of setup for students. I did something similar when I used Inform 7 for teaching better testing via Trinity-like example. I have an extension as part of that project that allowed me to make things easier for those in the class.