Grahic User Interface (GUI)
The command line is for simple text output: see the CLI
menu. An Interactive Development Environment provides an adequate tools
for development and debugging: see the IDE
menu. However, there are occasions when a GIU affords better operation
of a data sonification and these tools are for those.
driven GUI vs Interpreter+CLI
One of SoniPy's requirements is that one must be able to access the
python interpreter and all that that entails (developing other modules,
data/project specific tools etc) at the same time as accessing GUIs for
more mundane or oft-undertaken tasks. This is essential for incremental
development: to lock everything off behind an event-driven GUI (as a
single program) will inhibit communal development.
Look and Feel: consistency
platforms or platform consistency?
There are two approaches to developing cross-platform GUI tools. One is
to try to make the look-and-feel the same independent of the platform,
and the other is to use tools which defer to hardware-specific
routines. The main tools for the former are TCL/TK and OpenGL, and the
latter includes FLTK, GTK+ and wxPython. After testing, we decided to
follow the second approach, mainly because the visual results were
cleaner, more stable and faster.