More work on bug #8389.  The viewer is mostly in place.