disco icon indicating copy to clipboard operation
disco copied to clipboard

Update TASK.md and describe the parameters in TaskInformation and DisplayInformation in a durable way

Open Grim-bot opened this issue 2 years ago • 2 comments

Currently, a user who wishes to create a new task doesn't find any information to the parameters that they must / may set.

There are several ways to fix this, such as:

  1. Adding JSDoc-style comments (with acribic @param usage) to Task, TrainingInformant, and DisplayInformant, and inserting links in TASK.md that take the user to the automatically generated docs for these classes.
    • Would this also cause relevant information to show up when someone uses an IDE to instantiate a new Task ?
  2. Placing the definitions of Task, TrainingInformant, and DisplayInformant in a single file and commenting every parameter inside the code, then inserting a link to that file in TASK.md
    • Would it be possible to place the lengthy isXYZ functions in a different file ? They would clutter up the interface definitions file and make it harder to parse for a user who is just trying to create a new task.
  3. Including relevant information about each parameter in TASK.md.
    • This seems clunky, as anyone who modifies the TaskInformation for instance would have to remember to update TASK.md as well...
    • If we do include this information, it should be in a separate section of the file after we're finished explaining the high-level procedure.
  4. Your suggestion here ...

@tharvik , how would you recommend going about this ?

Grim-bot avatar Aug 04 '22 13:08 Grim-bot

i would suggest 3. understanding these config params quickly is the most important thing for our main audience - those are the task creators who are not developers . we want to enable people who can't code much to still bring new ML custom tasks to disco

i don't think these users should need to go look at the code interfaces such as display_information, but they should understand an example config file of a particular task, such as https://github.com/epfml/disco/blob/develop/discojs/src/tasks/mnist.ts

martinjaggi avatar Aug 04 '22 18:08 martinjaggi

This can be handled in PR https://github.com/epfml/disco/pull/443.

aunell avatar Aug 05 '22 12:08 aunell

this seems done in the .ts files at least, so can probably close for now?

martinjaggi avatar Oct 25 '22 21:10 martinjaggi