MilleFeuille infrastructure

The MilleFeuille infrastructure was design to facilitate the implementation of SeeTrough and magic lenses like architecture on top of the mural graphical system and the iwork infrastructure. It is also a tool to explore the ralation that exist between data, visualization and interactions. Like a window system the infrastructure provide event dispatch mechanism (both for graphics and interactions), and ways to assemble windows together. Unlike current window system it make a clear distinction between data, visualization and interaction. The basic MilleFeuille entity is a Feuille. Feuille come in 4 different flavors:

The MilleFeuille infrastructure abstract away most of the low level interaction mechanism with the iwork and the mural. It provides focus management and events dispatch management on a device based basis can manage simultaneous conection to different mural making easy to move piece of information from on to the other. Finally it can provide access to all mural layer type and let the user decide the mapping between MilleFeuille infrastructure element and mural layers. The infrastruture is design to help the construction of non blocking user interface a must in the case of multi-use interaction. To reach that goal it encourrage the creation of tight interaction and visualization loop (the several loop level system) which keep-up with the user interaction posting computationaly intensive task. MilleFeuille simplify this architecture by providing a simple job farm to which long job can be posted. An example of the adantage of this architecture can be seen in the implementation of the Image Feuille which use the farm to bring large image file in memory and move the image between the client and server in chunck small enough to provide interactivity at all time. Finally since animation is so important to visualization in general the system provide a facility to time action (and in the future will integrate it with a garanty frame rate director.)

Finaly the infrastructure provide its clients with an easy access to and XML parser and pretty printer. XML can be used as a simple prototyping tool but also will help constructure system which keep track of their state from one invocation to the next an improtant feature for many envisioned application of the Interactive mural