'; include '../../Templates/template.html'; ?>

OpenExposition Documentation

version 0.3.1

OpenExposition is a library aimed at automatic generation of user interfaces. The programmer only needs to specify what parts of the application need to be exposed to the user, and OpenExposition does the rest.

At present, OpenExposition allows access to variables (either directly or through a pair of set/get methods), and class methods. It can construct the user interface graphically (using either the multi-platform FLTK library or Cocoa on Mac OS X), programatically (through Python), aurally (using the speech synthesis and recognition capabilities on Mac OS X), and by building MAX/MSP externals that can then be used in MAX/MSP.


There are many devices, environments (real and virtual), and modes of communication that we would like to use to communicate with software. Given any particular application, it is impossible to write a custom user interface for each one of these devices/environments/modes. It would be nice to have a library that makes it easy for the application programmer to specify what exactly needs to be communicated between the application and the user, and have that be the only thing that needs to be specified. It should be up to the library to add support for new devices, and most importantly, to make it easy for the user to communicate with the application.

Personally, I can see this library being of use in the artistic/scientific/research setting, where I often need to interactively test new algorithms, shout at the computer from the stage and have it shout back, run scripted data analysis, and export my algorithms to other environments such as MAX/MSP. Specifying the UI once and being able to do all that for free is nice.

Project status

This library is currently at a decent prototype stage. In turn, it can be used to quickly test and evaluate application objects in development. It can compile on multiple platforms, and automatically generate many kinds of UI. It currently offers:


The development of this project is hosted on SourceForge at http://sourceforge.net/projects/openexposition/. Check there for downloads.

Instructions for downloading and installing/building OpenExposition can be found on the Installation page. You are HIGHLY encouraged to read them.


These pages have been constructed using Doxygen, and contain all of the available documentation. For an overview of how OpenExposition works and how it can be used, see the OpenExposition Introduction.


The ultimate goal of this project is to make UI construction automatic, user-sensitive, and context-sensitive. The immediate goals concentrate on making a good design base to ease the growth of this project and attract other developers. In the short term, we hope to:

In the long term, the following is on the agenda:


OpenExposition is currently being developed by Stjepan Rajko, and released under the GNU GPL. If you are interested in joining the development or providing feedback or advice, please contact me! (contact info at http://randomaxis.info/)

See also:
OpenExposition Introduction, Licensing Information, Installation Information, Directory Tree Information.


Documentation generated on 14 Jun 2006 for OpenExposition by  doxygen 1.4.6>
Development hosted by SourceForge.net Logo