YaleDecisionNeuro / PsychTaskFramework

2 stars 4 forks source link

Create a full cookbook of documentation #62

Open shippy opened 7 years ago

shippy commented 7 years ago
shippy commented 7 years ago

Things that came up with @rj299 & @sdk39 (thank you both!):

shippy commented 7 years ago

Quoting from #26:

This will definitely problematize the cookbook (#62). It's yet another approach to get things done. At this point, in decreasing level of removedness from code, we have:

  1. Write your task with phase abstractions, re-using & configuring existing draw & action scripts. No need to write any trial or phase scripts -- just specify in drawCmds and action whatever you need.
  2. Re-use phase scripts fully, but specify what callbacks they should have in XYZ_runTrial (and have phase scripts construct their ad-hoc phase configs before the callback).
  3. Write those phase scripts that draw slightly different elements and/or take slightly different action than the general-library phase scripts. Re-use some draw scripts and/or action scripts, and re-use runTrial and runBlock. (see: current version of tasks/UVRA)
  4. Write separate trial and phase scripts for each task (never did that)
  5. Write separate block scripts for each block (see: initial_RA branch).

Documenting approaches (1)-(3) seems like a good next step.

shippy commented 7 years ago

Note: The right place for this is in docs/, not the wiki.

shippy commented 7 years ago

62_docs branch has a good start. A particularly useful entry point is this article.

shippy commented 7 years ago

How can I test that the documentation is sufficient?

Ask someone who is worked with the framework a little to implement a new task while mostly relying on the docs. Here are some ideas, and what problems would need to be overcome in order to implement them:

Of course, all of this might take anyone a day or two, so the new task had better be worthwhile.

shippy commented 7 years ago
shippy commented 7 years ago

Complete:

Missing: overview of the standard library, but that seems like the task for a different issue / something to do with Sphinx (#123).

I would say that at this point, despite the incompleteness, this might be good enough to have someone read through it and provide an independent voice.