Development Roadmap

This is a list of the major areas of ongoing and future development. It is meant to give an overview of what we're currently planning, as well as to provoke discussions about which features to prioritize. Our development resources are extremely limited, so if you think you might be interested in helping out with any of these goals, please let us know!
A more comprehensive list of development goals is available on the GUI's GitHub Projects page
Sub-pages describe previous projects that may or may not be active.

UI Upgrades

  • Replace record/audio "drawers" with separate modules
  • Create a full-screen visualizer for the Channel Map module
  • Implement copy/paste for processors


Plugins

Short-term:
  • Set up central repository for user-contributed plugins
  • Integrate plugin browsing and installation into the GUI itself
  • Get plugin generator working across Mac, Linux, and Windows
  • Refine methods for automatic parameter editor generation



Matlab/Python/Julia integration

Short-term:
  • Refine Python plugin and add documentation and tutorials (current project of Clayton Barnes)
  • Refine Julia plugin and add documentation and tutorials
  • Create a plugin that be programmed using Matlab


Networking

Longer-term:
  • Create a Network Streaming modules that can be used to send data between GUI instances, or to other software


Backend

Short term:
  • Allow data to pass through Sinks
  • Optionally allow waveforms from spike events to reduce inter-plugin transmission bandwidth
  • Add channel depth metadata, to facilitate more intuitive visualization



Testing

Short term:
  • Set up continuous integration 
  • Create a standard battery of tests to run prior to each release
  • Choose a testing framework and start building unit tests for individual methods


Data format

Short term:
  • Make the File Reader compatible with Open Ephys, Binary, and NWB format
  • Update the NWB format to be compatible with the 2.0 specification