$Id: README,v 1.1 2000/01/12 20:32:09 bernie Exp $ About `boopsi' ============== The achronim `boopsi' stands for Basic Object Oriented Programming System for Intuition. This facility is available in AmigaOS since Kickstart V36. boopsi is primary meant as an OOP framework for GUI components such as gadgets, images, texts and so on. The system provides several boopsi classes which are the OOP counterparts of the plain Intuition gadgets and other important structures such as Image and IntuiText. There are also classes that allow building a network of interconnected boopsi objects so that each object can notify the others about its attributes. This boopsi communication system enables the gadgets to talk each other so they can react to user input in complex ways, freeing the application from most of the GUI administration duties. Other GUI systems ================= Unfortunately, the built-in Intuition classes are not very powerful, nor flexible enough for todays applications. That's why so many alternative GUI systems have appeared during the past years. Some of these systems are also based on boopsi, while others provide their own API through a shared library. The main disadvantage with these GUI systems mentioned above is none of them is free. In this case we are referring to the GNU meaning of the word `free'. It means that the users and the developers are not given enough freedom. Some GUI systems are shareware, some others come with a license that forbids or limits their use for commercial applications. Few of them come with their source code and in most cases they don't give you the freedom to change it. On the technical side, the major limit of the current GUI systems is that they are usually mutually exclusive. You can't mix objects from two different systems to take advantage of the features of both. About the boopsi OSS project ============================ The goal of this project is providing a comprehensive set of boopsi classes for general application developement. The main developemnt guidelines are: - providing a pure boopsi API for GUI construction. There are no additional libraries. - integration with the system built-in classes, whenever possible. - support the current V39/V40 OS along with the current RTG systems. - Sticking to clean AmigaOS programming, except when it is absolutely impossible to do so to workaround known OS bugs. - Adopting a distributed developement model. Source code is freely available and anyone is allowed to improve or add new functionality. - Leave the choice to the application developer. The classes will be available in several flavours, including shared class libraries, linker library and a monolithic shared library. - Find the best trade-off beteen efficiency, portability and configurability DISCLAIMER ========== This software is provided AS-IS, without any explicit or implied warranty. This software is to be considered PRELIMINARY and SUBJECT TO CHANGE. It has not been tested accurately and it may contain BUGS that could easily CRASH YOUR SYSTEM.