The OffiX project

Cesar A. R. Crusius
Andre Hentz

The Linux operational system was responsible for the effective introduction of Unix in the desktop home PCs. However, it did not broke the "average user" barrier, in the sense that very few people did switch from their old operational systems to Unix. The question that arises is "why?" The standard answers for this question are: difficult installation, lack of configuration tools, difficult maintenance and lack of common tools. In our point of view, the first difficulty is not a big issue, and the last three are the ones who need to be addressed.

People that use Linux rely basically in free software. But free software programmers are mainly devoted to write applications, and this is what is really expected. The tools that are produced suffer, however, from a serious limitation: the lack of a common interface, of communication protocols, of standard configuration. It is not uncommon for a Unix user to have applications written using Athena, Motif and OpenLook toolkits. Each of these applications will behave differently, and will not be able to communicate with each other. Even if a user manages to produce a suitable "Xdefaults" file, it will not be, in general, portable to other installations. What is missing is a common programming environment, a standard protocol that enables programmers to build their tools in such a way that the work environment become more uniform. Now, where does the OffiX project fits in this discussion? The answer is everywhere.

The OffiX project aims to fill these voids via the creation of a standard communication protocol and some standards for the programmers. The creation of a simple drag-and-drop protocol, DND, was the first step in this direction, and proved that for protocols and standards to succeed, we need (a) documentation (b) simple implementation and (c) useful applications that incorporate the concepts. Other drag-and-drop protocols existed, but their use was not widespread because they basically failed to provide at least one of the characteristics cited above. In the DND case we provided (a) a full description of the protocol, (b) a Xt library that made it easy to incorporate DND in new and existing applications, and (c) some applications such as a File Manager, a simple Text Editor, a print tool. The approach proved to be correct, and today some tools such as Xemacs, ImageMagick and others provide DND compatibility. Also, some programming toolkits accept DND. We can cite the Qt toolkit and Tcl/Tk. The DND protocol is very simple, and improvements are planned.

The OffiX project is more than DND. We will follow the same approach taken with the DND protocol. It is our aim to provide a toolkit programming library, which will incorporate some new concepts; a "window manager" that will, besides comon tasks, provide centralized management for things like color and font configuration; a configuration tool that will enable easy and powerful configuration; and documentation. Transfering things like color management to the window manager enables us to add features that are lacking in the 386 community as a whole, such as automatic gamma correction for each machine. Other related things are centralized execution of tasks like interpretation of MIME objects, which in turns leads to centralized configuration.

At the talk we will address what is being implemented, what are the current difficulties for the project progress, what is the current stage and what needs to be done before the release of the first OffiX version.