Refer to - http://www.infinitegrid.org/drupal/content/ClientHamr ClientHamr is the concept that we can apply the unix philosophy to the viewer. Use individual tools that are good at their job to split off bits of the big bad blob that is the viewer. Using standard protocals and tools where we can.