Nicolas Roussel got interested in desktop and application redirection while he was finishing his PhD thesis on the use of video for computer-mediated communication [1]. In early 2000, he added VNC support to his videoSpace [2] toolkit in order to combine images from computer desktops with live video streams of their users (Figure 1).
Figure 1. Live desktop images combined with images of their user
Once able to capture desktop images and send mouse and keyboard events to applications, Nicolas thought he could cut out the images of individual windows from the video stream and recompose them in a graphics-rich environment. He started playing with this idea and created a first prototype (Figure 2, left). But in April 2000, Microsoft Research presented their Task Gallery prototype at the ACM CHI 2000 conference. Considering the apparent robustness of the Task Gallery and the number of people involved, Nicolas decided to move to other research topics but kept working on his prototype as a side project (Figure 2, middle). In 2002, somewhat disappointed by the fact that noone from the HCI community - even at Microsoft - had explored further the concepts of application redirection and composition, he wrote a short paper for the French-speaking HCI conference describing VideoWorkspace [3], the latest version of his prototype (Figure 2, right). In September, he also made informal demos to ACM UIST 2002 attendees, including Duke Hutchings. Almost a year later, he finally presented a full paper on the system, renamed Ametista [4], at the CLIHC 2003 conference and made it publicly available.
Figure 2. Early prototypes (2000, 2001, 2002)
Although Ametista made it easy to prototype innovative window management techniques and test them using real applications, it had several limitations. First, it was still based on an unmodified Xvnc server which didn't know anything about the compositing process. This made certain things hard to implement, if not impossible. Moreover, only a few basic window management functions had been implemented in Ametista, which made it hard to use on a daily basis. In September 2003, Olivier Chapuis came to see Nicolas and proposed to extend the system by replacing Xvnc with a modified version of xserver and rewriting Ametista as an FVWM module (Figure 3). By the end of November, Olivier had implemented a first version of this new system, which he called Metisse. The first public version of Metisse was announced on freshmeat in June 2004. Olivier has been using Metisse as the underlying system for his primary desktop since about that time.
Figure 3. Overview of the Metisse architecture
Daily use has forced us to look into tiny implementation and usability problems that would have probably been unnoticed otherwise. It also led to deeper and more general concepts like the User Interface Façades [5] or the idea of fine-grained window management illustrated by the restack and roll techniques for copy-pasting between overlapping windows [6].