The goal of CodeDweller is to provide a well documented collection of open source software components that can be used to build cross platform applications and to teach something about software development along the way.

We use these same components in our own work. In addition, when we hire folks to work with us we ask them to review this code in order to understand our coding styles, methodologies, and philosophies so that they can work with us more effectively and become a better member of the team.

Right now we're just beginning the CodeDweller project and there is a lot to of work to do. Over time We will be putting full documentation on this web site covering coding style (and reasoning), interface design (methods, variables, constants, exceptions, and so forth), theory of operation, examples, and other useful references and resources.

The CodeDweller library is divided into a number of modules. To the extent possible each module stands on it's own. So, unlike many libraries and development platforms you do not need to take the whole thing to use part of it. We hope to keep it that way too!

As for "cross-platform development" we mean specifically this: The CodeDweller C++ libraries can _usually_ be compiled with either the GNU (for *NIX type systems) or MinGW (for WIN* type systems) compilers without modification. This means that if you develop code using CodeDweller on one platform you can usually compile and run it on another without modification. CodeDweller library code that is not C++ is most likely built in a language that is inherently cross platform such as Java or JavaScript.

Of course, there will be exceptions too-- there is always room for some platform specific stuff (glue of one kind or another like sh scripts, xml data, and so forth).