Project : in-situ
Section: Contracts and Grants with Industry
French RNTL project INDIGO
Participants : Michel Beaudouin-Lafon, Renaud Blanch, Stéphane Conversy, Jean-Daniel Fekete, Nicolas Roussel.
The goal of the INDIGO project is to design, develop and validate a distributed software architecture for the development of a new generation of interactive systems characterized by the following requirements:
visualize and interact with more and more complex and dynamic information;
adapt to a more and more divers set of platforms (mobile phone, PDA, PC, immersive VR, etc.) and input devices;
support cooperative work, in particular real-time sharing and editing of information across multiple sites.
The INDIGO software architecture is based on a high-level communication protocol between Conceptual Objects (CO) servers and Rendering and Interaction (RI) servers. This architecture is similar to that of the popular X Window System, with the important difference that the RI servers will implement higher-level models for displaying data and interacting with it than the X Server, and CO servers will therefore manage interaction and visualization at a higher level of abstraction than X clients. This has several advantages, including the following: a higher-level protocol requires less bandwidth, novel interaction techniques can be added to the IR servers transparently, CO servers can use multiple RI servers simultaneously to support collaborative work, and CO servers are independent from the end-user platform.
The partners of the project are In Situ (coordinator, RI server, protocol), the French company ILOG (CO server, protocol), the W3C (protocol) and CENA (requirements and sample applications), the French research center for air traffic control. In order to foster the adoption of the INDIGO architecture, the protocol will be publicly available and submitted to the W3C, and reference implementations of the servers will be available under an open source license.
Over the last 12 months, we have designed the first version of the protocol and sample implementations of the CO and RI servers. In particular, rendering is based on an implementation of SVG (Scalable Vector Graphics) with the graphics API OpenGL and interaction is based on the instrumental interaction model.