.. _onlineStatus:

Status of online options
--------------------------

The table below shows you the current state of play is the current state of play. If you want to see things develop faster then see the section below on :ref:`addToPsychoJS`

.. csv-table::
  :header: "Done", " ", "Not done (but could be)"
  :widths: 100, 50, 100

      __, __, __
    ,**Inputs**,
  Keyboard, ,Mic
     , ,Mouse (partially done - JS code is written)
     , ,Webcam
     , ,Rating Scales
     , ,Free text (and similar)
     , ,Multi-touch devices
      __, __, __
    ,**Stimuli**,
  Image, ,Sounds
  Text, ,Movies
     , ,Apertures
     , ,Gratings
     , ,Dots (RDKs)
      __, __, __
      ,**Data**,
  CSV files, , XLSX files
  Log files, ,
      __, __, __
      ,**Logic**,
  Loops (including nesting), , Staircases
  Randomization, , Code Components
      , , Conditions must be CSV
      __, __, __
      ,**Precision**,
  Frame-by-frame timing, ,
      __, __, __
      ,**External tools**,
  Pushing data to Open Science Framework, , Connections to Mechanical Turk

Anything else we should add to the list above?


.. _addToPsychoJS:

Adding features to the PsychoJS web engine
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PsychoJS is modular just like PsychoPy. If something you need isn't yet available then let's add it! There are these options:

  - **Contribute some cash.** Let us do it know what you need and for a small price we can add it in (typically a few hundred pounds but some components may be more than that). What? I didn't have to pay for any other part of PsychoPy - you wrote it for free - why do I have to pay for this?! The PsychoJS package was written by professional developers (the excellent `Ilixa Ltd. <http://www.ilixa.com>`_) and they need feeding, whereas the rest of PsychoPy has been written by volunteers in their spare time (volunteers don't need feeding so much). This might be a great way to spend a little of your research slush fund, and support the world of Open Science, still at a fraction of the cost of license fees for other packages.
  - **Get your developer to add it.** PsychoJS is open source though (see the code inside the `PsychoPy github repository <https://github.com/psychopy/psychopy>`_) so you could add components yourself too if you have the JS knowledge. If you do so please contribute it back so that others can benefit.
  - **Sit and wait.** If you have no funding for your studies and no JavaScript programmer to help you then hold on. All the above will probably be done eventually but we genuinely don't know when.
