I’ve been trying Virtual Box to virtualize a Windows box hosted on my laptop’s Ubuntu. One of the flag features of Virtual Box is the integrated seamless windows mode. This is not really a new idea, it has been implemented in VNC for a while, a standalone application called SharedAppVNC and some others. Now it the time virtualization software to be trying to implement this concept Parallels was the first and VMWare seems to have completed it and its on beta.
This feature is one of the things I’ve tried for a long time. Its good to see some progress but I think there is something wrogn with the approach all the players are using. I believe there should be integration with the host desktop in a way that you can not only fell the guest operation system integrated into the host but still know they are separated. For this I would create an applet to integrate the guest “start”/”Applications” menu into the host start menu. Also the running applications should appear on the host taskbar as well as the system trays would be integrated the same way.
As I’ve tried in the past to implement the seamless windows feature (didn’t reach an acceptable level to advance to the integration part because I lack the knowledge to implement a Windows video driver) I know this isn’t an easy task. There are several problems starting with the need to implement a graphics card driver to be able to capture the windows. The Windows API gives enough data in most cases to get the windows coordinates, dimentions and transparency maps but copying the painted graphics is painful and slow. Still, there are already some of those drivers, most from VNC projects that provide good levels of performance.
The next problem is the non-server Windows architecture designer to be single-session. This fact proves to be problematic because it makes it difficult to correctly separate some windows from another. It also disables some methods that could be used as a workarround like creating a session for each application thus isolating the windows.
All in all, we all know Windows hasn’t been developed to this kind of stuff. But beeing Microsoft commited to the virtualization technologies it would be appreciated if this come as a native feature just like its a X11 one. I believe this is one place where Microsoft could be once again ahead of Linux and define a standard by which remote desktops could be integrated into each other. Imagine beeing able to be connected to all your machines, no matter what OS, under the same desktop… would be simply amazing wouldn’t it?