We have in the past, and continue to use a variety of tools to build our user interfaces. Some considerations in choosing these tools have been:
At the heart of CFHT's Pegasus observing system were network-based clients (handlers) and persistent servers. Similar to the command-line runnable handlers of Pegasus, the New Environment for Observing (NEO) is based around persistent command line interpreters. Like the handlers and servers of Pegasus, these can be developed and tested independently, and graphical user interfaces can be layered on top.
Only one command line interpreter runs on the Detector Host: DetCom. This program communicates with the camera and writes FITS files (via NFS) to the NAS's disk.
Other command line interpreters to control instrument functions will typically run on the session host, and deposit information into a status server (or temporary file). This information is collected and merged into FITS headers by high level scripts, which also run on the session host and sequence everything.
ds9 ... Session Host. (Display Host ... slower access to data, size of which is constantly increasing. Bandwidth needed for display is limited by display resolution.)