The Virtual Machine Manager code is written primarily in Python, which allows for very rapid development of the application without sacrificing too much performance. The UI components are built using the Python bindings for GTK, aka PyGTK, with dialog/window layouts being defined using Glade. The implementation makes copious use of Python modules to ensure a long term maintainable codebase. To assist those unfamiliar with the code, there is an overview of the code structure.
To keep the application independant of a particular hypervisor technology, the VM management layer uses libvirt as the backend API. This currently supports the management of Xen virtual machines, and in the future is likely to be extended to alternate hypervisors.
The application exposes some of its key capabilities via a DBus service, allowing external applications to request display of windows / dialogs relating to particular guest VMs, or the hypervisor.
To ensure there is an effective user experiance, the application's UI is constructed based on interface designs done produced by the Red Hat user interaction designers.